AutoIt
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
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)