Sample code for 30+ languages & platforms
Lianja

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 Lianja Downloads

Lianja
llSuccess = .F.

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loHttp = createobject("CkHttp")

// 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.
loHttp.AuthToken = "NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE="
loHttp.SetRequestHeader("Accept","application/json")

loSbResponseBody = createobject("CkStringBuilder")
llSuccess = loHttp.QuickGetSb("https://ws.fatturazioneelettronica.aruba.it/services/invoice/out/getByIdSdi?idSdi=11110&includePdf=true",loSbResponseBody)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loSbResponseBody
    return
endif

lnRespStatusCode = loHttp.LastStatus
? "response status code = " + str(lnRespStatusCode)

loJson = createobject("CkJsonObject")
loJson.LoadSb(loSbResponseBody)
loJson.EmitCompact = .T.

? "Response JSON:"
? loJson.Emit()

if (lnRespStatusCode <> 200) then
    ? "Failed."
    release loHttp
    release loSbResponseBody
    release loJson
    return
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
// }
// 

lcErrorCode = loJson.StringOf("errorCode")
lcErrorDescription = loJson.StringOf("errorDescription")
lcId = loJson.StringOf("id")
lcSenderDescription = loJson.StringOf("sender.description")
lcSenderCountryCode = loJson.StringOf("sender.countryCode")
lcSenderVatCode = loJson.StringOf("sender.vatCode")
lcSenderFiscalCode = loJson.StringOf("sender.fiscalCode")
lcReceiverDescription = loJson.StringOf("receiver.description")
lcReceiverCountryCode = loJson.StringOf("receiver.countryCode")
lcReceiverVatCode = loJson.StringOf("receiver.vatCode")
lcReceiverFiscalCode = loJson.StringOf("receiver.fiscalCode")
lcInvoiceType = loJson.StringOf("invoiceType")
lcDocType = loJson.StringOf("docType")
lcFile = loJson.StringOf("file")
lcFilename = loJson.StringOf("filename")
lcUsername = loJson.StringOf("username")
lcLastUpdate = loJson.StringOf("lastUpdate")
lcCreationDate = loJson.StringOf("creationDate")
lcIdSdi = loJson.StringOf("idSdi")
lcPdfFile = loJson.StringOf("pdfFile")
llPddAvailable = loJson.BoolOf("pddAvailable")
i = 0
lnCount_i = loJson.SizeOfArray("invoices")
do while i < lnCount_i
    loJson.I = i
    lcInvoiceDate = loJson.StringOf("invoices[i].invoiceDate")
    lcNumber = loJson.StringOf("invoices[i].number")
    lcStatus = loJson.StringOf("invoices[i].status")
    lcStatusDescription = loJson.StringOf("invoices[i].statusDescription")
    i = i + 1
enddo


release loHttp
release loSbResponseBody
release loJson