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) 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/
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; json: TChilkatJsonObject; resp: IChilkatHttpResponse; sbResponseBody: TChilkatStringBuilder; jResp: TChilkatJsonObject; respStatusCode: Integer; strVal: WideString; object_created: WideString; object_updated: WideString; object_id: WideString; object_owner: WideString; object_state: WideString; address_importer: WideString; certify_signer: WideString; certify: Integer; non_delivery_option: WideString; contents_type: WideString; contents_explanation: WideString; exporter_reference: WideString; importer_reference: WideString; invoice: WideString; commercial_invoice: Integer; license: WideString; certificate: WideString; notes: WideString; eel_pfc: WideString; aes_itn: WideString; disclaimer: WideString; incoterm: WideString; metadata: WideString; test: Integer; duties_payor: WideString; i: Integer; count_i: Integer; 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 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 := TChilkatJsonObject.Create(Self); 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 := http.PostJson3('https://api.goshippo.com/customs/declarations/','application/json',json.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) // { // "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 do begin jResp.I := i; strVal := jResp.StringOf('items[i]'); i := i + 1; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.