Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
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 Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Http,
Chilkat.StringBuilder,
Chilkat.JsonObject;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
http: THttp;
sbResponseBody: TStringBuilder;
respStatusCode: Integer;
json: TJsonObject;
invoiceDate: string;
number: string;
status: string;
statusDescription: string;
errorCode: string;
errorDescription: string;
id: string;
senderDescription: string;
senderCountryCode: string;
senderVatCode: string;
senderFiscalCode: string;
receiverDescription: string;
receiverCountryCode: string;
receiverVatCode: string;
receiverFiscalCode: string;
invoiceType: string;
docType: string;
file: string;
filename: string;
username: string;
lastUpdate: string;
creationDate: string;
idSdi: string;
pdfFile: string;
pddAvailable: Boolean;
i: Integer;
count_i: Integer;
begin
success := False;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := THttp.Create;
// 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.
http.AuthToken := 'NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE=';
http.SetRequestHeader('Accept','application/json');
sbResponseBody := TStringBuilder.Create;
success := http.QuickGetSb('https://ws.fatturazioneelettronica.aruba.it/services/invoice/out/getByIdSdi?idSdi=11110&includePdf=true',sbResponseBody);
if (success = False) then
begin
WriteLn(http.LastErrorText);
Exit;
end;
respStatusCode := http.LastStatus;
WriteLn('response status code = ' + respStatusCode);
json := TJsonObject.Create;
json.LoadSb(sbResponseBody);
json.EmitCompact := True;
WriteLn('Response JSON:');
WriteLn(json.Emit());
if (respStatusCode <> 200) then
begin
WriteLn('Failed.');
Exit;
end;
// 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
// }
//
errorCode := json.StringOf('errorCode');
errorDescription := json.StringOf('errorDescription');
id := json.StringOf('id');
senderDescription := json.StringOf('sender.description');
senderCountryCode := json.StringOf('sender.countryCode');
senderVatCode := json.StringOf('sender.vatCode');
senderFiscalCode := json.StringOf('sender.fiscalCode');
receiverDescription := json.StringOf('receiver.description');
receiverCountryCode := json.StringOf('receiver.countryCode');
receiverVatCode := json.StringOf('receiver.vatCode');
receiverFiscalCode := json.StringOf('receiver.fiscalCode');
invoiceType := json.StringOf('invoiceType');
docType := json.StringOf('docType');
file := json.StringOf('file');
filename := json.StringOf('filename');
username := json.StringOf('username');
lastUpdate := json.StringOf('lastUpdate');
creationDate := json.StringOf('creationDate');
idSdi := json.StringOf('idSdi');
pdfFile := json.StringOf('pdfFile');
pddAvailable := json.BoolOf('pddAvailable');
i := 0;
count_i := json.SizeOfArray('invoices');
while i < count_i do
begin
json.I := i;
invoiceDate := json.StringOf('invoices[i].invoiceDate');
number := json.StringOf('invoices[i].number');
status := json.StringOf('invoices[i].status');
statusDescription := json.StringOf('invoices[i].statusDescription');
i := i + 1;
end;
http.Free;
sbResponseBody.Free;
json.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.