Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi ActiveX) SII POST boleta.electronica.envioAlmacenamiento de un conjunto de boletas en el SII For more information, see https://www4c.sii.cl/bolcoreinternetui/api/
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; success: Integer; req: TChilkatHttpRequest; xmlStr: WideString; resp: IChilkatHttpResponse; sbResponseBody: TChilkatStringBuilder; jResp: TChilkatJsonObject; respStatusCode: Integer; rut_emisor: WideString; rut_envia: WideString; trackid: Integer; fecha_recepcion: WideString; estado: WideString; file: WideString; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); // Implements the following CURL command: // curl -X POST "https://pangal.sii.cl/recursos/v1/boleta.electronica.envio" -H "accept: application/json" // -H "User-Agent: Mozilla/4.0 ( compatible; PROG 1.0; Windows NT)" // -H "Cookie: YZVQNQY4J5DT9" -H "Content-Type: multipart/form-data" // -F "rutSender=1234" -F "dvSender=xyz" -F "rutCompany=9999" -F "dvCompany=abc" // -F "archivo=@starfish20.jpg;type=image/jpeg" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code req := TChilkatHttpRequest.Create(Self); req.HttpVerb := 'POST'; req.Path := '/recursos/v1/boleta.electronica.envio'; req.ContentType := 'multipart/form-data'; req.AddParam('rutSender','66666666'); req.AddParam('dvSender','6'); req.AddParam('rutCompany','60803000'); req.AddParam('dvCompany','K'); // Add an XML file that contains something like this: // <?xml version="1.0" encoding="ISO-8859-1"?> // <EnvioBOLETA version="1.0" xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sii.cl/SiiDte EnvioBOLETA_v11.xsd"> // <SetDTE ID="SetDocB0T39_20201103_131999"> // <Caratula version="1.0"> // ... xmlStr := '...'; success := req.AddStringForUpload2('archivo','envioBoleta.xml',xmlStr,'ISO-8859-1','text/xml'); req.AddHeader('Expect','100-continue'); req.AddHeader('User-Agent','Mozilla/4.0 ( compatible; PROG 1.0; Windows NT)'); req.AddHeader('Cookie','TOKEN=YZVQNQY4J5DT9'); req.AddHeader('accept','application/json'); req.AddHeader('Content-Type','multipart/form-data'); // For debugging, you can save the exact HTTP request sent and response received // to a session log file: http.SessionLogFilename := 'someDir/sessionLog.txt'; // Use one of the following domains, depending on the environment: // pangal.sii.cl - Certification Environment // rahue.sii.cl - Production Environment resp := http.SynchronousRequest('pangal.sii.cl',443,1,req.ControlInterface); if (http.LastMethodSuccess = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; sbResponseBody := TChilkatStringBuilder.Create(Self); resp.GetBodySb(sbResponseBody.ControlInterface); jResp := TChilkatJsonObject.Create(Self); jResp.LoadSb(sbResponseBody.ControlInterface); jResp.EmitCompact := 0; Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(jResp.Emit()); respStatusCode := resp.StatusCode; Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(resp.Header); Memo1.Lines.Add('Failed.'); Exit; end; // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "rut_emisor": "45000054-K", // "rut_envia": "83154595-0", // "trackid": 1014, // "fecha_recepcion": "2020-09-01 20:30:10", // "estado": "REC", // "file": "boleta-2020-09-01-001.xml" // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON rut_emisor := jResp.StringOf('rut_emisor'); rut_envia := jResp.StringOf('rut_envia'); trackid := jResp.IntOf('trackid'); fecha_recepcion := jResp.StringOf('fecha_recepcion'); estado := jResp.StringOf('estado'); file := jResp.StringOf('file'); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.