PureBasic
PureBasic
Aruba Fatturazione Elettronica getByIdSdi
See more Aruba Fatturazione Examples
This method returns the complete status detail of an electronic invoice. Search for a single invoice by SdI identifier.Chilkat PureBasic Downloads
IncludeFile "CkHttp.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Implements the following CURL command:
; curl -X GET https://ws.fatturazioneelettronica.aruba.it/services/invoice/out/getByIdSdi?idSdi=11110&includePdf=true \
; -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.
CkHttp::setCkAuthToken(http, "NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE=")
CkHttp::ckSetRequestHeader(http,"Accept","application/json")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://ws.fatturazioneelettronica.aruba.it/services/invoice/out/getByIdSdi?idSdi=11110&includePdf=true",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "response status code = " + Str(respStatusCode)
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(json,sbResponseBody)
CkJsonObject::setCkEmitCompact(json, 1)
Debug "Response JSON:"
Debug CkJsonObject::ckEmit(json)
If respStatusCode <> 200
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
; Sample response:
; Use this online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON
; {
; "errorCode" : "0000",
; "errorDescription" : null,
; "id" : "1",
; "sender" : {
; "description" : "Aruba SPA",
; "countryCode" : "IT",
; "vatCode" : "22222222",
; "fiscalCode" : "11111111111"
; },
; "receiver" : {
; "description" : "Aruba SPA",
; "countryCode" : "IT",
; "vatCode" : "4444444",
; "fiscalCode" : "333333333"
; },
; "invoiceType" : "FPR12",
; "docType" : "in",
; "file" : "dGVzdA==",
; "filename" : "IT01879020517_jtlk0.xml.p7m",
; "invoices" : [ {
; "invoiceDate" : "2021-08-24T12:35:45.363+02:00",
; "number" : "2021/0001",
; "status" : "Inviata",
; "statusDescription" : ""
; } ],
; "username" : "Utente",
; "lastUpdate" : "2021-08-24T10:35:45.363+0000",
; "creationDate" : "2021-08-24T10:35:45.363+0000",
; "idSdi" : "11110",
; "pdfFile" : "ZEdWemRGQmtaZz09",
; "pddAvailable" : true
; }
;
invoiceDate.s
number.s
status.s
statusDescription.s
errorCode.s = CkJsonObject::ckStringOf(json,"errorCode")
errorDescription.s = CkJsonObject::ckStringOf(json,"errorDescription")
id.s = CkJsonObject::ckStringOf(json,"id")
senderDescription.s = CkJsonObject::ckStringOf(json,"sender.description")
senderCountryCode.s = CkJsonObject::ckStringOf(json,"sender.countryCode")
senderVatCode.s = CkJsonObject::ckStringOf(json,"sender.vatCode")
senderFiscalCode.s = CkJsonObject::ckStringOf(json,"sender.fiscalCode")
receiverDescription.s = CkJsonObject::ckStringOf(json,"receiver.description")
receiverCountryCode.s = CkJsonObject::ckStringOf(json,"receiver.countryCode")
receiverVatCode.s = CkJsonObject::ckStringOf(json,"receiver.vatCode")
receiverFiscalCode.s = CkJsonObject::ckStringOf(json,"receiver.fiscalCode")
invoiceType.s = CkJsonObject::ckStringOf(json,"invoiceType")
docType.s = CkJsonObject::ckStringOf(json,"docType")
file.s = CkJsonObject::ckStringOf(json,"file")
filename.s = CkJsonObject::ckStringOf(json,"filename")
username.s = CkJsonObject::ckStringOf(json,"username")
lastUpdate.s = CkJsonObject::ckStringOf(json,"lastUpdate")
creationDate.s = CkJsonObject::ckStringOf(json,"creationDate")
idSdi.s = CkJsonObject::ckStringOf(json,"idSdi")
pdfFile.s = CkJsonObject::ckStringOf(json,"pdfFile")
pddAvailable.i = CkJsonObject::ckBoolOf(json,"pddAvailable")
i.i = 0
count_i.i = CkJsonObject::ckSizeOfArray(json,"invoices")
While i < count_i
CkJsonObject::setCkI(json, i)
invoiceDate = CkJsonObject::ckStringOf(json,"invoices[i].invoiceDate")
number = CkJsonObject::ckStringOf(json,"invoices[i].number")
status = CkJsonObject::ckStringOf(json,"invoices[i].status")
statusDescription = CkJsonObject::ckStringOf(json,"invoices[i].statusDescription")
i = i + 1
Wend
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure