PureBasic
PureBasic
Aruba Fatturazione Elettronica Find Invoice by Username
See more Aruba Fatturazione Examples
Finds a list of invoices. Returns invoices without content in base64 (lazy loading)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/in/findByUsername?username=Username \
; -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/in/findByUsername?username=Username",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,sbResponseBody)
CkJsonObject::setCkEmitCompact(jResp, 0)
Debug "Response Body:"
Debug CkJsonObject::ckEmit(jResp)
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode >= 400
Debug "Response Header:"
Debug CkHttp::ckLastHeader(http)
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "errorCode": "0000",
; "errorDescription": null,
; "content": [
; {
; "errorCode": null,
; "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": null,
; "filename": "IT01879020517_jtlk0.xml.p7m",
; "invoices": [
; {
; "invoiceDate": "2020-07-10T09:19:56.948+02:00",
; "number": "2020/0001",
; "status": "Inviata",
; "statusDescription": ""
; }
; ],
; "username": "Utente",
; "lastUpdate": "2020-07-10T07:19:56.948+0000",
; "creationDate": "2020-07-10T07:19:56.948+0000",
; "idSdi": "11110",
; "pddAvailable": true
; },
; {
; "errorCode": null,
; "errorDescription": null,
; "id": "2",
; "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": null,
; "filename": "IT01879020517_jtlk1.xml.p7m",
; "invoices": [
; {
; "invoiceDate": "2020-07-10T09:19:56.948+02:00",
; "number": "2020/0002",
; "status": "Inviata",
; "statusDescription": ""
; }
; ],
; "username": "Utente",
; "lastUpdate": "2020-07-10T07:19:56.948+0000",
; "creationDate": "2020-07-10T07:19:56.948+0000",
; "idSdi": "11111",
; "pddAvailable": true
; },
; {
; "errorCode": null,
; "errorDescription": null,
; "id": "3",
; "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": null,
; "filename": "IT01879020517_jtlk2.xml.p7m",
; "invoices": [
; {
; "invoiceDate": "2020-07-10T09:19:56.948+02:00",
; "number": "2020/0003",
; "status": "Inviata",
; "statusDescription": ""
; }
; ],
; "username": "Utente",
; "lastUpdate": "2020-07-10T07:19:56.948+0000",
; "creationDate": "2020-07-10T07:19:56.948+0000",
; "idSdi": "11112",
; "pddAvailable": true
; },
; {
; "errorCode": null,
; "errorDescription": null,
; "id": "4",
; "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": null,
; "filename": "IT01879020517_jtlk3.xml.p7m",
; "invoices": [
; {
; "invoiceDate": "2020-07-10T09:19:56.948+02:00",
; "number": "2020/0004",
; "status": "Inviata",
; "statusDescription": ""
; }
; ],
; "username": "Utente",
; "lastUpdate": "2020-07-10T07:19:56.948+0000",
; "creationDate": "2020-07-10T07:19:56.948+0000",
; "idSdi": "11113",
; "pddAvailable": true
; }
; ],
; "last": true,
; "totalElements": 4,
; "totalPages": 1,
; "size": 10,
; "number": 1,
; "first": true,
; "numberOfElements": 4
; }
; Sample code for parsing the JSON response...
; Use the following online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON
id.s
senderDescription.s
senderCountryCode.s
senderVatCode.s
senderFiscalCode.s
receiverDescription.s
receiverCountryCode.s
receiverVatCode.s
receiverFiscalCode.s
invoiceType.s
docType.s
file.s
filename.s
username.s
lastUpdate.s
creationDate.s
idSdi.s
pddAvailable.i
j.i
count_j.i
invoiceDate.s
number_str.s
status.s
statusDescription.s
errorCode.s = CkJsonObject::ckStringOf(jResp,"errorCode")
errorDescription.s = CkJsonObject::ckStringOf(jResp,"errorDescription")
last.i = CkJsonObject::ckBoolOf(jResp,"last")
totalElements.i = CkJsonObject::ckIntOf(jResp,"totalElements")
totalPages.i = CkJsonObject::ckIntOf(jResp,"totalPages")
size.i = CkJsonObject::ckIntOf(jResp,"size")
number.i = CkJsonObject::ckIntOf(jResp,"number")
first.i = CkJsonObject::ckBoolOf(jResp,"first")
numberOfElements.i = CkJsonObject::ckIntOf(jResp,"numberOfElements")
i.i = 0
count_i.i = CkJsonObject::ckSizeOfArray(jResp,"content")
While i < count_i
CkJsonObject::setCkI(jResp, i)
errorCode = CkJsonObject::ckStringOf(jResp,"content[i].errorCode")
errorDescription = CkJsonObject::ckStringOf(jResp,"content[i].errorDescription")
id = CkJsonObject::ckStringOf(jResp,"content[i].id")
senderDescription = CkJsonObject::ckStringOf(jResp,"content[i].sender.description")
senderCountryCode = CkJsonObject::ckStringOf(jResp,"content[i].sender.countryCode")
senderVatCode = CkJsonObject::ckStringOf(jResp,"content[i].sender.vatCode")
senderFiscalCode = CkJsonObject::ckStringOf(jResp,"content[i].sender.fiscalCode")
receiverDescription = CkJsonObject::ckStringOf(jResp,"content[i].receiver.description")
receiverCountryCode = CkJsonObject::ckStringOf(jResp,"content[i].receiver.countryCode")
receiverVatCode = CkJsonObject::ckStringOf(jResp,"content[i].receiver.vatCode")
receiverFiscalCode = CkJsonObject::ckStringOf(jResp,"content[i].receiver.fiscalCode")
invoiceType = CkJsonObject::ckStringOf(jResp,"content[i].invoiceType")
docType = CkJsonObject::ckStringOf(jResp,"content[i].docType")
file = CkJsonObject::ckStringOf(jResp,"content[i].file")
filename = CkJsonObject::ckStringOf(jResp,"content[i].filename")
username = CkJsonObject::ckStringOf(jResp,"content[i].username")
lastUpdate = CkJsonObject::ckStringOf(jResp,"content[i].lastUpdate")
creationDate = CkJsonObject::ckStringOf(jResp,"content[i].creationDate")
idSdi = CkJsonObject::ckStringOf(jResp,"content[i].idSdi")
pddAvailable = CkJsonObject::ckBoolOf(jResp,"content[i].pddAvailable")
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"content[i].invoices")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
invoiceDate = CkJsonObject::ckStringOf(jResp,"content[i].invoices[j].invoiceDate")
number_str = CkJsonObject::ckStringOf(jResp,"content[i].invoices[j].number")
status = CkJsonObject::ckStringOf(jResp,"content[i].invoices[j].status")
statusDescription = CkJsonObject::ckStringOf(jResp,"content[i].invoices[j].statusDescription")
j = j + 1
Wend
i = i + 1
Wend
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure