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
(Perl) Shippo Create Customs DeclarationDemonstrates how to create a customs declaration and send a POST request with the necessary information to the Customs Declarations endpoint. For more information, see https://goshippo.com/docs/international/
use chilkat(); # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = chilkat::CkHttp->new(); # Implements the following CURL command: # curl https://api.goshippo.com/customs/declarations/ \ # -H "Authorization: ShippoToken <API_TOKEN>" \ # -H "Content-Type: application/json" \ # -d '{ # "contents_type": "MERCHANDISE", # "non_delivery_option": "RETURN", # "certify": true, # "certify_signer": "Simon Kreuz", # "incoterm": "DDU", # "items": [{ # "description": "T-shirt", # "quantity": 20, # "net_weight": "5", # "mass_unit": "lb", # "value_amount": "200", # "value_currency": "USD", # "tariff_number": "", # "origin_country": "US" # }] # }' # Use this online tool to generate code from sample JSON: # Generate Code to Create JSON # The following JSON is sent in the request body. # { # "contents_type": "MERCHANDISE", # "non_delivery_option": "RETURN", # "certify": true, # "certify_signer": "Simon Kreuz", # "incoterm": "DDU", # "items": [ # { # "description": "T-shirt", # "quantity": 20, # "net_weight": "5", # "mass_unit": "lb", # "value_amount": "200", # "value_currency": "USD", # "tariff_number": "", # "origin_country": "US" # } # ] # } $json = chilkat::CkJsonObject->new(); $json->UpdateString("contents_type","MERCHANDISE"); $json->UpdateString("non_delivery_option","RETURN"); $json->UpdateBool("certify",1); $json->UpdateString("certify_signer","Simon Kreuz"); $json->UpdateString("incoterm","DDU"); $json->UpdateString("items[0].description","T-shirt"); $json->UpdateInt("items[0].quantity",20); $json->UpdateString("items[0].net_weight","5"); $json->UpdateString("items[0].mass_unit","lb"); $json->UpdateString("items[0].value_amount","200"); $json->UpdateString("items[0].value_currency","USD"); $json->UpdateString("items[0].tariff_number",""); $json->UpdateString("items[0].origin_country","US"); $http->SetRequestHeader("Authorization","ShippoToken <API_TOKEN>"); $http->SetRequestHeader("Content-Type","application/json"); # resp is a HttpResponse $resp = $http->PostJson3("https://api.goshippo.com/customs/declarations/","application/json",$json); if ($http->get_LastMethodSuccess() == 0) { print $http->lastErrorText() . "\r\n"; exit; } $sbResponseBody = chilkat::CkStringBuilder->new(); $resp->GetBodySb($sbResponseBody); $jResp = chilkat::CkJsonObject->new(); $jResp->LoadSb($sbResponseBody); $jResp->put_EmitCompact(0); print "Response Body:" . "\r\n"; print $jResp->emit() . "\r\n"; $respStatusCode = $resp->get_StatusCode(); print "Response Status Code = " . $respStatusCode . "\r\n"; if ($respStatusCode >= 400) { print "Response Header:" . "\r\n"; print $resp->header() . "\r\n"; print "Failed." . "\r\n"; exit; } # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "object_created": "2019-07-04T16:00:29.043Z", # "object_updated": "2019-07-04T16:00:29.043Z", # "object_id": "4a1e6ab7b1ba49ed9bc6cb1a8798e0fd", # "object_owner": "admin@chilkatsoft.com", # "object_state": "VALID", # "address_importer": null, # "certify_signer": "Simon Kreuz", # "certify": true, # "items": [ # "4096c68693364b7ea0af72fb869ee861" # ], # "non_delivery_option": "RETURN", # "contents_type": "MERCHANDISE", # "contents_explanation": "", # "exporter_reference": "", # "importer_reference": "", # "invoice": "", # "commercial_invoice": false, # "license": "", # "certificate": "", # "notes": "", # "eel_pfc": "", # "aes_itn": "", # "disclaimer": "", # "incoterm": "DDU", # "metadata": "", # "test": true, # "duties_payor": null # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON $object_created = $jResp->stringOf("object_created"); $object_updated = $jResp->stringOf("object_updated"); $object_id = $jResp->stringOf("object_id"); $object_owner = $jResp->stringOf("object_owner"); $object_state = $jResp->stringOf("object_state"); $address_importer = $jResp->stringOf("address_importer"); $certify_signer = $jResp->stringOf("certify_signer"); $certify = $jResp->BoolOf("certify"); $non_delivery_option = $jResp->stringOf("non_delivery_option"); $contents_type = $jResp->stringOf("contents_type"); $contents_explanation = $jResp->stringOf("contents_explanation"); $exporter_reference = $jResp->stringOf("exporter_reference"); $importer_reference = $jResp->stringOf("importer_reference"); $invoice = $jResp->stringOf("invoice"); $commercial_invoice = $jResp->BoolOf("commercial_invoice"); $license = $jResp->stringOf("license"); $certificate = $jResp->stringOf("certificate"); $notes = $jResp->stringOf("notes"); $eel_pfc = $jResp->stringOf("eel_pfc"); $aes_itn = $jResp->stringOf("aes_itn"); $disclaimer = $jResp->stringOf("disclaimer"); $incoterm = $jResp->stringOf("incoterm"); $metadata = $jResp->stringOf("metadata"); $test = $jResp->BoolOf("test"); $duties_payor = $jResp->stringOf("duties_payor"); $i = 0; $count_i = $jResp->SizeOfArray("items"); while ($i < $count_i) { $jResp->put_I($i); $strVal = $jResp->stringOf("items[i]"); $i = $i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.