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
(Visual FoxPro) Aruba Fatturazione Elettronica CreateTransmissionRequestListCreation of "Financial Communications" transmission request in zip format. For more information, see https://fatturazioneelettronica.aruba.it/apidoc/docs_EN.html#_createtransmissionrequestlist
LOCAL loHttp LOCAL lnSuccess LOCAL loZip LOCAL lnRecurse LOCAL loBdZip LOCAL lcZipAsBase64 LOCAL loJson LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL lcFileName LOCAL lcErrorCode LOCAL lcErrorDescription LOCAL lcRequestID LOCAL i LOCAL lnCount_i * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * Implements the following CURL command: * curl -X POST https://ws.fatturazioneelettronica.aruba.it/services/ClientRequest/CreateTransmissionRequestList \ * -H "Accept: application/json" \ * -H "Content-Type: application/json;charset=UTF-8" \ * -d '{ * "userName" : "ARUBA0000", * "password" : "ArubaPwd", * "userID" : "ARUBA0000", * "comunicationType" : "LI", * "dataFile" : "dGVzdA==" * }' * The dataFile must contain a Zip file, containing xml files which conform to the Revenue Agency specifications. * The archive file must be Base64 codified and contain a CADES-based electronic signature. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Zip') loZip = CreateObject('Chilkat.Zip') * Initialize the zip object. Because we will never actually write a zip file to the filesystem, * the filepath passed to NewZip does not matter. loZip.NewZip("x.zip") * Append references to XML files to the zip object in memory. lnRecurse = 0 lnSuccess = loZip.AppendFiles("qa_data/aruba/*.xml",lnRecurse) IF (lnSuccess <> 1) THEN ? loZip.LastErrorText RELEASE loHttp RELEASE loZip CANCEL ENDIF * Write the zip archive into the bdZip object. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.BinData') loBdZip = CreateObject('Chilkat.BinData') lnSuccess = loZip.WriteBd(loBdZip) IF (lnSuccess <> 1) THEN ? loZip.LastErrorText RELEASE loHttp RELEASE loZip RELEASE loBdZip CANCEL ENDIF * Get the zip in base64 format. lcZipAsBase64 = loBdZip.GetEncoded("base64") * Use the following online tool to generate HTTP code from a CURL command * Convert a cURL Command to HTTP Source Code * Use this online tool to generate code from sample JSON: * Generate Code to Create JSON * The following JSON is sent in the request body. * { * "userName": "ARUBA0000", * "password": "ArubaPwd", * "userID": "ARUBA0000", * "comunicationType": "LI", * "dataFile": "dGVzdA==" * } * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.UpdateString("userName","ARUBA0000") loJson.UpdateString("password","ArubaPwd") loJson.UpdateString("userID","ARUBA0000") loJson.UpdateString("comunicationType","LI") loJson.UpdateString("dataFile",lcZipAsBase64) loHttp.SetRequestHeader("Content-Type","application/json;charset=UTF-8") loHttp.SetRequestHeader("Accept","application/json") loResp = loHttp.PostJson3("https://ws.fatturazioneelettronica.aruba.it/services/ClientRequest/CreateTransmissionRequestList","application/json",loJson) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loZip RELEASE loBdZip RELEASE loJson CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponseBody = CreateObject('Chilkat.StringBuilder') loResp.GetBodySb(loSbResponseBody) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJResp = CreateObject('Chilkat.JsonObject') loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = 0 ? "Response Body:" ? loJResp.Emit() lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loResp RELEASE loHttp RELEASE loZip RELEASE loBdZip RELEASE loJson RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF RELEASE loResp * Sample JSON response: * (Sample code for parsing the JSON response is shown below) * { * "errorCode": "", * "errorDescription": "", * "requestID": "C70WC0SIPQ1JISWQ", * "requestIDList": [ * { * "fileName": "ITADFSREETDSD_LI_0001.xml", * "requestID": "TXZWQPVYVFJHRUKN" * }, * { * "fileName": "ITADFSREETDSD_LI_0002.xml", * "requestID": "PRSGFITDHFPTJ8OO" * }, * { * "fileName": "ITADFSREETDSD_LI_0003.xml", * "requestID": "QNJ9E2MWGYGSM22Q" * } * ] * } * Sample code for parsing the JSON response... * Use the following online tool to generate parsing code from sample JSON: * Generate Parsing Code from JSON lcErrorCode = loJResp.StringOf("errorCode") lcErrorDescription = loJResp.StringOf("errorDescription") lcRequestID = loJResp.StringOf("requestID") i = 0 lnCount_i = loJResp.SizeOfArray("requestIDList") DO WHILE i < lnCount_i loJResp.I = i lcFileName = loJResp.StringOf("requestIDList[i].fileName") lcRequestID = loJResp.StringOf("requestIDList[i].requestID") i = i + 1 ENDDO RELEASE loHttp RELEASE loZip RELEASE loBdZip RELEASE loJson RELEASE loSbResponseBody RELEASE loJResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.