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
(Tcl) 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
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # 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. set zip [new_CkZip] # Initialize the zip object. Because we will never actually write a zip file to the filesystem, # the filepath passed to NewZip does not matter. CkZip_NewZip $zip "x.zip" # Append references to XML files to the zip object in memory. set recurse 0 set success [CkZip_AppendFiles $zip "qa_data/aruba/*.xml" $recurse] if {$success != 1} then { puts [CkZip_lastErrorText $zip] delete_CkHttp $http delete_CkZip $zip exit } # Write the zip archive into the bdZip object. set bdZip [new_CkBinData] set success [CkZip_WriteBd $zip $bdZip] if {$success != 1} then { puts [CkZip_lastErrorText $zip] delete_CkHttp $http delete_CkZip $zip delete_CkBinData $bdZip exit } # Get the zip in base64 format. set zipAsBase64 [CkBinData_getEncoded $bdZip "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==" # } set json [new_CkJsonObject] CkJsonObject_UpdateString $json "userName" "ARUBA0000" CkJsonObject_UpdateString $json "password" "ArubaPwd" CkJsonObject_UpdateString $json "userID" "ARUBA0000" CkJsonObject_UpdateString $json "comunicationType" "LI" CkJsonObject_UpdateString $json "dataFile" $zipAsBase64 CkHttp_SetRequestHeader $http "Content-Type" "application/json;charset=UTF-8" CkHttp_SetRequestHeader $http "Accept" "application/json" # resp is a CkHttpResponse set resp [CkHttp_PostJson3 $http "https://ws.fatturazioneelettronica.aruba.it/services/ClientRequest/CreateTransmissionRequestList" "application/json" $json] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkZip $zip delete_CkBinData $bdZip delete_CkJsonObject $json exit } set sbResponseBody [new_CkStringBuilder] CkHttpResponse_GetBodySb $resp $sbResponseBody set jResp [new_CkJsonObject] CkJsonObject_LoadSb $jResp $sbResponseBody CkJsonObject_put_EmitCompact $jResp 0 puts "Response Body:" puts [CkJsonObject_emit $jResp] set respStatusCode [CkHttpResponse_get_StatusCode $resp] puts "Response Status Code = $respStatusCode" if {$respStatusCode >= 400} then { puts "Response Header:" puts [CkHttpResponse_header $resp] puts "Failed." delete_CkHttpResponse $resp delete_CkHttp $http delete_CkZip $zip delete_CkBinData $bdZip delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp exit } delete_CkHttpResponse $resp # 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 set errorCode [CkJsonObject_stringOf $jResp "errorCode"] set errorDescription [CkJsonObject_stringOf $jResp "errorDescription"] set requestID [CkJsonObject_stringOf $jResp "requestID"] set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "requestIDList"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set fileName [CkJsonObject_stringOf $jResp "requestIDList[i].fileName"] set requestID [CkJsonObject_stringOf $jResp "requestIDList[i].requestID"] set i [expr $i + 1] } delete_CkHttp $http delete_CkZip $zip delete_CkBinData $bdZip delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.