Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
SII GET boleta.electronica.semilla
See more SII Chile Examples
Obtención de la semillaChilkat 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.Xml;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
http: THttp;
sbResponseBody: TStringBuilder;
xmlResponse: TXml;
SII_RESPUESTA_xmlns_SII: string;
SEMILLA: string;
ESTADO: 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://apicert.sii.cl/recursos/v1/boleta.electronica.semilla" -H "accept: application/xml"
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
http.SetRequestHeader('accept','application/xml');
// Use one of the following domains, depending on the environment:
// apicert.sii.cl - Certification Environment
// api.sii.cl - Production Environment
sbResponseBody := TStringBuilder.Create;
success := http.QuickGetSb('https://apicert.sii.cl/recursos/v1/boleta.electronica.semilla',sbResponseBody);
if (success = False) then
begin
WriteLn(http.LastErrorText);
Exit;
end;
xmlResponse := TXml.Create;
xmlResponse.LoadSb(sbResponseBody,True);
WriteLn(xmlResponse.GetXml());
// Sample XML response:
// (Sample code for parsing the XML response is shown below)
// <?xml version="1.0" encoding="UTF-8"?>
// <SII:RESPUESTA xmlns:SII="http://www.sii.cl/XMLSchema">
// <SII:RESP_BODY>
// <SEMILLA>030530912644</SEMILLA>
// </SII:RESP_BODY>
// <SII:RESP_HDR>
// <ESTADO>0</ESTADO>
// </SII:RESP_HDR>
// </SII:RESPUESTA>
// Sample code for parsing the XML response...
// Use the following online tool to generate parsing code from sample XML:
// Generate Parsing Code from XML
SII_RESPUESTA_xmlns_SII := xmlResponse.GetAttrValue('xmlns:SII');
SEMILLA := xmlResponse.GetChildContent('SII:RESP_BODY|SEMILLA');
ESTADO := xmlResponse.GetChildIntValue('SII:RESP_HDR|ESTADO');
http.Free;
sbResponseBody.Free;
xmlResponse.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.