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