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
(Ruby) 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/
require '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",true) 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 CkHttpResponse resp = http.PostJson3("https://api.goshippo.com/customs/declarations/","application/json",json) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end sbResponseBody = Chilkat::CkStringBuilder.new() resp.GetBodySb(sbResponseBody) jResp = Chilkat::CkJsonObject.new() jResp.LoadSb(sbResponseBody) jResp.put_EmitCompact(false) print "Response Body:" + "\n"; print jResp.emit() + "\n"; respStatusCode = resp.get_StatusCode() print "Response Status Code = " + respStatusCode.to_s() + "\n"; if (respStatusCode >= 400) print "Response Header:" + "\n"; print resp.header() + "\n"; print "Failed." + "\n"; exit end # 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 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.