Sample code for 30+ languages & platforms
AutoIt

Aruba Fatturazione Elettronica Get Zip by Filename

See more Aruba Fatturazione Examples

Returns an invoice with all of its notifications in Zip format (e.g. IT01879020517_abcde.xml.p7m).

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 GET https://ws.fatturazioneelettronica.aruba.it/services/invoice/in/getZipByFilename?filename=IT01879020517_jtlk1.xml.p7m \
;   -H "Accept: application/json" \
;   -H "Authorization: Bearer NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE="

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

; Adds the "Authorization: Bearer NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE=" header.
$oHttp.AuthToken = "NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE="
$oHttp.SetRequestHeader "Accept","application/json"

$oBdZip = ObjCreate("Chilkat.BinData")
$bSuccess = $oHttp.QuickGetBd("https://ws.fatturazioneelettronica.aruba.it/services/invoice/in/getZipByFilename?filename=IT01879020517_jtlk1.xml.p7m",$oBdZip)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oHttp.LastStatus
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)

If ($iRespStatusCode <> 200) Then
    ; If it failed, the response body will not contain the .zip file data.
    ; It will likely contain an error message.
    ConsoleWrite($oBdZip.GetString("utf-8") & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

; Open the zip and extract the .p7m
$oZip = ObjCreate("Chilkat.Zip")

$bSuccess = $oZip.OpenBd($oBdZip)
If ($bSuccess = False) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

; If desired, we can unzip to the filesystem..
Local $iNumUnzipped = $oZip.Unzip("c:/mySignedInvoices")
If ($iNumUnzipped < 0) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

; Alternatively, we can unzip into memory..
$oEntry = ObjCreate("Chilkat.ZipEntry")
$bSuccess = $oZip.EntryAt(0,$oEntry)
If ($bSuccess = False) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

$oBdP7m = ObjCreate("Chilkat.BinData")
$bSuccess = $oEntry.UnzipToBd($oBdP7m)
If ($bSuccess = False) Then
    ConsoleWrite($oEntry.LastErrorText & @CRLF)
    Exit
EndIf

; Verify the signature and extract the XML from the p7m
; If the signature verification is successful, the contents of bdP7m are unwrapped and what
; remains is the original signed document..
$oCrypt = ObjCreate("Chilkat.Crypt2")
$bSuccess = $oCrypt.OpaqueVerifyBd($oBdP7m)
If ($bSuccess = False) Then
    ConsoleWrite($oCrypt.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("The signature was verified." & @CRLF)

; The bdp7m now contains the XML that was originally signed.
ConsoleWrite("Original XML:" & @CRLF)
ConsoleWrite($oBdP7m.GetString("utf-8") & @CRLF)