Sample code for 30+ languages & platforms
AutoIt

Aruba Fatturazione Elettronica CreateTransmissionRequestList

See more Aruba Fatturazione Examples

Creation of "Financial Communications" transmission request in zip format.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

;  This example assumes the Chilkat API to have been previously unlocked.
;  See Global Unlock Sample for sample code.

$oHttp = ObjCreate("Chilkat.Http")

;  Implements the following CURL command:

;  curl -X POST https://ws.fatturazioneelettronica.aruba.it/services/ClientRequest/CreateTransmissionRequestList \
;    -H "Accept: application/json" \
;    -H "Content-Type: application/json;charset=UTF-8" \
;    -d '{
;    "userName" : "ARUBA0000",
;    "password" : "ArubaPwd",
;    "userID" : "ARUBA0000",
;    "comunicationType" : "LI",
;    "dataFile" : "dGVzdA=="
;  }'

;  The dataFile must contain a Zip file, containing xml files which conform to the Revenue Agency specifications. 
;  The archive file must be Base64 codified and contain a CADES-based electronic signature.

$oZip = ObjCreate("Chilkat.Zip")

;  Initialize the zip object.  Because we will never actually write a zip file to the filesystem,
;  the filepath passed to NewZip does not matter.
$oZip.NewZip("x.zip")

;  Append references to XML files to the zip object in memory.
Local $bRecurse = False
$bSuccess = $oZip.AppendFiles("qa_data/aruba/*.xml",$bRecurse)
If ($bSuccess = False) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

;  Write the zip archive into the bdZip object.
$oBdZip = ObjCreate("Chilkat.BinData")
$bSuccess = $oZip.WriteBd($oBdZip)
If ($bSuccess = False) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

;  Get the zip in base64 format.
Local $sZipAsBase64 = $oBdZip.GetEncoded("base64")

;  Use the following online tool to generate HTTP code from a CURL command
;  Convert a cURL Command to HTTP Source Code

;  Use this online tool to generate code from sample JSON:
;  Generate Code to Create JSON

;  The following JSON is sent in the request body.

;  {
;    "userName": "ARUBA0000",
;    "password": "ArubaPwd",
;    "userID": "ARUBA0000",
;    "comunicationType": "LI",
;    "dataFile": "dGVzdA=="
;  }

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("userName","ARUBA0000")
$oJson.UpdateString("password","ArubaPwd")
$oJson.UpdateString("userID","ARUBA0000")
$oJson.UpdateString("comunicationType","LI")
$oJson.UpdateString("dataFile",$sZipAsBase64)

$oHttp.SetRequestHeader "Content-Type","application/json;charset=UTF-8"
$oHttp.SetRequestHeader "Accept","application/json"

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://ws.fatturazioneelettronica.aruba.it/services/ClientRequest/CreateTransmissionRequestList",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)
$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

;  Sample JSON response:
;  (Sample code for parsing the JSON response is shown below)

;  {
;    "errorCode": "",
;    "errorDescription": "",
;    "requestID": "C70WC0SIPQ1JISWQ",
;    "requestIDList": [
;      {
;        "fileName": "ITADFSREETDSD_LI_0001.xml",
;        "requestID": "TXZWQPVYVFJHRUKN"
;      },
;      {
;        "fileName": "ITADFSREETDSD_LI_0002.xml",
;        "requestID": "PRSGFITDHFPTJ8OO"
;      },
;      {
;        "fileName": "ITADFSREETDSD_LI_0003.xml",
;        "requestID": "QNJ9E2MWGYGSM22Q"
;      }
;    ]
;  }

;  Sample code for parsing the JSON response...
;  Use the following online tool to generate parsing code from sample JSON:
;  Generate Parsing Code from JSON

Local $sFileName

Local $sErrorCode = $oJResp.StringOf("errorCode")
Local $sErrorDescription = $oJResp.StringOf("errorDescription")
Local $sRequestID = $oJResp.StringOf("requestID")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("requestIDList")
While $i < $iCount_i
    $oJResp.I = $i
    $sFileName = $oJResp.StringOf("requestIDList[i].fileName")
    $sRequestID = $oJResp.StringOf("requestIDList[i].requestID")
    $i = $i + 1
Wend