Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

C# UWP/WinRT Web API Examples

Primary Categories

AWS Translate
Activix CRM
Adyen
Amazon MWS
Azure Maps
Azure Monitor
Azure OAuth2
Azure Storage Accounts
Bluzone
CardConnect
ClickBank
Clickatell
Cloudfare
DocuSign
ETrade
Etsy
Facebook
GeoOp
GetHarvest
Jira
MYOB

Magento
Microsoft Calendar
Microsoft Group
Microsoft Tasks and Plans
Okta OAuth/OIDC
OneLogin OIDC
PayPal
Peoplevox
Populi
QuickBooks
SOAP finkok.com
Shippo
Shopify
Stripe
SugarCRM
Trello
Twitter
VoiceBase
Vonage
Walmart
Walmart v3
Xero
eBay
effectconnect

 

 

 

(C# UWP/WinRT) Shippo Create Shipment Object

Create a Shipment object to retrieve rates. It represents a request to ship a given package from the sender to the recipient address.

For more information, see https://goshippo.com/docs/shipping-labels/

Chilkat Universal Windows Platform (UWP) / WinRT Downloads

Chilkat for the Universal Windows Platform (UWP)

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Chilkat.Http http = new Chilkat.Http();
bool success;

// Implements the following CURL command:

// curl https://api.goshippo.com/shipments/  \
//     -H "Authorization: ShippoToken <API_TOKEN>" \
//     -H "Content-Type: application/json"  \
//     -d '{
//        "address_from":{
//           "name":"Mr. Hippo",
//           "street1":"215 Clayton St.",
//           "city":"San Francisco",
//           "state":"CA",
//           "zip":"94117",
//           "country":"US"
//        },
//        "address_to":{
//           "name":"Mrs. Hippo",
//           "street1":"965 Mission St.",
//           "city":"San Francisco",
//           "state":"CA",
//           "zip":"94105",
//           "country":"US"
//        },
//        "parcels":[{
//           "length":"5",
//           "width":"5",
//           "height":"5",
//           "distance_unit":"in",
//           "weight":"2",
//           "mass_unit":"lb"
//        }],
//        "async": false
//     }'

// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON

// The following JSON is sent in the request body.

// {
//   "address_from": {
//     "name": "Mr. Hippo",
//     "street1": "215 Clayton St.",
//     "city": "San Francisco",
//     "state": "CA",
//     "zip": "94117",
//     "country": "US"
//   },
//   "address_to": {
//     "name": "Mrs. Hippo",
//     "street1": "965 Mission St.",
//     "city": "San Francisco",
//     "state": "CA",
//     "zip": "94105",
//     "country": "US"
//   },
//   "parcels": [
//     {
//       "length": "5",
//       "width": "5",
//       "height": "5",
//       "distance_unit": "in",
//       "weight": "2",
//       "mass_unit": "lb"
//     }
//   ],
//   "async": false
// }

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.UpdateString("address_from.name","Mr. Hippo");
json.UpdateString("address_from.street1","215 Clayton St.");
json.UpdateString("address_from.city","San Francisco");
json.UpdateString("address_from.state","CA");
json.UpdateString("address_from.zip","94117");
json.UpdateString("address_from.country","US");
json.UpdateString("address_to.name","Mrs. Hippo");
json.UpdateString("address_to.street1","965 Mission St.");
json.UpdateString("address_to.city","San Francisco");
json.UpdateString("address_to.state","CA");
json.UpdateString("address_to.zip","94105");
json.UpdateString("address_to.country","US");
json.UpdateString("parcels[0].length","5");
json.UpdateString("parcels[0].width","5");
json.UpdateString("parcels[0].height","5");
json.UpdateString("parcels[0].distance_unit","in");
json.UpdateString("parcels[0].weight","2");
json.UpdateString("parcels[0].mass_unit","lb");
json.UpdateBool("async",false);

http.SetRequestHeader("Authorization","ShippoToken <API_TOKEN>");
http.SetRequestHeader("Content-Type","application/json");

Chilkat.HttpResponse resp = await http.PostJson3Async("https://api.goshippo.com/shipments/","application/json",json);
if (http.LastMethodSuccess == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
resp.GetBodySb(sbResponseBody);
Chilkat.JsonObject jResp = new Chilkat.JsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

Debug.WriteLine("Response Body:");
Debug.WriteLine(jResp.Emit());

int respStatusCode = resp.StatusCode;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode >= 400) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(resp.Header);
    Debug.WriteLine("Failed.");

    return;
}

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "carrier_accounts": [
//   ],
//   "object_created": "2019-06-28T17:45:20.441Z",
//   "object_updated": "2019-06-28T17:45:20.511Z",
//   "object_id": "17b01795a4884d8a9002ccc17c9d09d1",
//   "object_owner": "admin@chilkatsoft.com",
//   "status": "SUCCESS",
//   "address_from": {
//     "object_id": "427489906b604f498f7bd2429ab7d9a1",
//     "is_complete": true,
//     "name": "Mr. Hippo",
//     "company": "",
//     "street_no": "",
//     "street1": "215 Clayton St.",
//     "validation_results": {},
//     "street2": "",
//     "street3": "",
//     "city": "San Francisco",
//     "state": "CA",
//     "zip": "94117",
//     "country": "US",
//     "phone": "",
//     "email": "",
//     "is_residential": null,
//     "test": true
//   },
//   "address_to": {
//     "object_id": "3d7166269a2844b7842ef9ace942ec7c",
//     "is_complete": true,
//     "name": "Mrs. Hippo",
//     "company": "",
//     "street_no": "",
//     "street1": "965 Mission St.",
//     "validation_results": {},
//     "street2": "",
//     "street3": "",
//     "city": "San Francisco",
//     "state": "CA",
//     "zip": "94105",
//     "country": "US",
//     "phone": "",
//     "email": "",
//     "is_residential": null,
//     "test": true
//   },
//   "parcels": [
//     {
//       "object_state": "VALID",
//       "object_created": "2019-06-28T17:45:20.411Z",
//       "object_updated": "2019-06-28T17:45:20.455Z",
//       "object_id": "5af766ff15684a4186b0e3c833348fac",
//       "object_owner": "admin@chilkatsoft.com",
//       "template": null,
//       "extra": {},
//       "length": "5.0000",
//       "width": "5.0000",
//       "height": "5.0000",
//       "distance_unit": "in",
//       "weight": "2.0000",
//       "mass_unit": "lb",
//       "value_amount": null,
//       "value_currency": null,
//       "metadata": "",
//       "line_items": [
//       ],
//       "test": true
//     }
//   ],
//   "shipment_date": "2019-06-28T17:45:20.511Z",
//   "address_return": {
//     "object_id": "427489906b604f498f7bd2429ab7d9a1",
//     "is_complete": true,
//     "name": "Mr. Hippo",
//     "company": "",
//     "street_no": "",
//     "street1": "215 Clayton St.",
//     "validation_results": {},
//     "street2": "",
//     "street3": "",
//     "city": "San Francisco",
//     "state": "CA",
//     "zip": "94117",
//     "country": "US",
//     "phone": "",
//     "email": "",
//     "is_residential": null,
//     "test": true
//   },
//   "alternate_address_to": null,
//   "customs_declaration": null,
//   "extra": {},
//   "rates": [
//     {
//       "object_created": "2019-06-28T17:45:20.789Z",
//       "object_id": "dd7556c284e8444294d2ab7099e662d2",
//       "object_owner": "admin@chilkatsoft.com",
//       "shipment": "17b01795a4884d8a9002ccc17c9d09d1",
//       "attributes": [
//         "FASTEST"
//       ],
//       "amount": "22.78",
//       "currency": "USD",
//       "amount_local": "22.78",
//       "currency_local": "USD",
//       "provider": "USPS",
//       "provider_image_75": "https://shippo-static.s3.amazonaws.com/providers/75/USPS.png",
//       "provider_image_200": "https://shippo-static.s3.amazonaws.com/providers/200/USPS.png",
//       "servicelevel": {
//         "name": "Priority Mail Express",
//         "token": "usps_priority_express",
//         "terms": ""
//       },
//       "estimated_days": 2,
//       "arrives_by": null,
//       "duration_terms": "Overnight delivery to most U.S. locations.",
//       "messages": [
//       ],
//       "carrier_account": "1f3dc340ad6c4991ad61f14fa3e4b82e",
//       "test": true,
//       "zone": "1"
//     },
//     {
//       "object_created": "2019-06-28T17:45:20.786Z",
//       "object_id": "ec11cc297e2f4583986097f6d409e5c6",
//       "object_owner": "admin@chilkatsoft.com",
//       "shipment": "17b01795a4884d8a9002ccc17c9d09d1",
//       "attributes": [
//         "BESTVALUE",
//         "CHEAPEST",
//         "FASTEST"
//       ],
//       "amount": "6.95",
//       "currency": "USD",
//       "amount_local": "6.95",
//       "currency_local": "USD",
//       "provider": "USPS",
//       "provider_image_75": "https://shippo-static.s3.amazonaws.com/providers/75/USPS.png",
//       "provider_image_200": "https://shippo-static.s3.amazonaws.com/providers/200/USPS.png",
//       "servicelevel": {
//         "name": "Priority Mail",
//         "token": "usps_priority",
//         "terms": ""
//       },
//       "estimated_days": 2,
//       "arrives_by": null,
//       "duration_terms": "Delivery within 1, 2, or 3 days based on where your package started and where it’s being sent.",
//       "messages": [
//       ],
//       "carrier_account": "1f3dc340ad6c4991ad61f14fa3e4b82e",
//       "test": true,
//       "zone": "1"
//     },
//     {
//       "object_created": "2019-06-28T17:45:20.785Z",
//       "object_id": "d256586f539f4c93a2f02cc11f4942ac",
//       "object_owner": "admin@chilkatsoft.com",
//       "shipment": "17b01795a4884d8a9002ccc17c9d09d1",
//       "attributes": [
//       ],
//       "amount": "7.32",
//       "currency": "USD",
//       "amount_local": "7.32",
//       "currency_local": "USD",
//       "provider": "USPS",
//       "provider_image_75": "https://shippo-static.s3.amazonaws.com/providers/75/USPS.png",
//       "provider_image_200": "https://shippo-static.s3.amazonaws.com/providers/200/USPS.png",
//       "servicelevel": {
//         "name": "Parcel Select",
//         "token": "usps_parcel_select",
//         "terms": ""
//       },
//       "estimated_days": 7,
//       "arrives_by": null,
//       "duration_terms": "Delivery in 2 to 8 days.",
//       "messages": [
//       ],
//       "carrier_account": "1f3dc340ad6c4991ad61f14fa3e4b82e",
//       "test": true,
//       "zone": "1"
//     }
//   ],
//   "messages": [
//     {
//       "source": "DHLExpress",
//       "code": "",
//       "text": "Shippo's DHL Express master account doesn't support shipments to inside of the US"
//     }
//   ],
//   "metadata": "",
//   "test": true,
//   "order": 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

string object_state;
string template;
string length;
string width;
string height;
string distance_unit;
string weight;
string mass_unit;
string value_amount;
string value_currency;
int j;
int count_j;
string shipment;
string amount;
string currency;
string amount_local;
string currency_local;
string provider;
string provider_image_75;
string provider_image_200;
string servicelevelName;
string servicelevelToken;
string servicelevelTerms;
int estimated_days;
string arrives_by;
string duration_terms;
string carrier_account;
string zone;
string strVal;
string source;
string code;
string text;

string object_created = jResp.StringOf("object_created");
string object_updated = jResp.StringOf("object_updated");
string object_id = jResp.StringOf("object_id");
string object_owner = jResp.StringOf("object_owner");
string status = jResp.StringOf("status");
string address_fromObject_id = jResp.StringOf("address_from.object_id");
bool address_fromIs_complete = jResp.BoolOf("address_from.is_complete");
string address_fromName = jResp.StringOf("address_from.name");
string address_fromCompany = jResp.StringOf("address_from.company");
string address_fromStreet_no = jResp.StringOf("address_from.street_no");
string address_fromStreet1 = jResp.StringOf("address_from.street1");
string address_fromStreet2 = jResp.StringOf("address_from.street2");
string address_fromStreet3 = jResp.StringOf("address_from.street3");
string address_fromCity = jResp.StringOf("address_from.city");
string address_fromState = jResp.StringOf("address_from.state");
string address_fromZip = jResp.StringOf("address_from.zip");
string address_fromCountry = jResp.StringOf("address_from.country");
string address_fromPhone = jResp.StringOf("address_from.phone");
string address_fromEmail = jResp.StringOf("address_from.email");
string address_fromIs_residential = jResp.StringOf("address_from.is_residential");
bool address_fromTest = jResp.BoolOf("address_from.test");
string address_toObject_id = jResp.StringOf("address_to.object_id");
bool address_toIs_complete = jResp.BoolOf("address_to.is_complete");
string address_toName = jResp.StringOf("address_to.name");
string address_toCompany = jResp.StringOf("address_to.company");
string address_toStreet_no = jResp.StringOf("address_to.street_no");
string address_toStreet1 = jResp.StringOf("address_to.street1");
string address_toStreet2 = jResp.StringOf("address_to.street2");
string address_toStreet3 = jResp.StringOf("address_to.street3");
string address_toCity = jResp.StringOf("address_to.city");
string address_toState = jResp.StringOf("address_to.state");
string address_toZip = jResp.StringOf("address_to.zip");
string address_toCountry = jResp.StringOf("address_to.country");
string address_toPhone = jResp.StringOf("address_to.phone");
string address_toEmail = jResp.StringOf("address_to.email");
string address_toIs_residential = jResp.StringOf("address_to.is_residential");
bool address_toTest = jResp.BoolOf("address_to.test");
string shipment_date = jResp.StringOf("shipment_date");
string address_returnObject_id = jResp.StringOf("address_return.object_id");
bool address_returnIs_complete = jResp.BoolOf("address_return.is_complete");
string address_returnName = jResp.StringOf("address_return.name");
string address_returnCompany = jResp.StringOf("address_return.company");
string address_returnStreet_no = jResp.StringOf("address_return.street_no");
string address_returnStreet1 = jResp.StringOf("address_return.street1");
string address_returnStreet2 = jResp.StringOf("address_return.street2");
string address_returnStreet3 = jResp.StringOf("address_return.street3");
string address_returnCity = jResp.StringOf("address_return.city");
string address_returnState = jResp.StringOf("address_return.state");
string address_returnZip = jResp.StringOf("address_return.zip");
string address_returnCountry = jResp.StringOf("address_return.country");
string address_returnPhone = jResp.StringOf("address_return.phone");
string address_returnEmail = jResp.StringOf("address_return.email");
string address_returnIs_residential = jResp.StringOf("address_return.is_residential");
bool address_returnTest = jResp.BoolOf("address_return.test");
string alternate_address_to = jResp.StringOf("alternate_address_to");
string customs_declaration = jResp.StringOf("customs_declaration");
string metadata = jResp.StringOf("metadata");
bool test = jResp.BoolOf("test");
string order = jResp.StringOf("order");
int i = 0;
int count_i = jResp.SizeOfArray("carrier_accounts");
while (i < count_i) {
    jResp.I = i;
    i = i + 1;
}

i = 0;
count_i = jResp.SizeOfArray("parcels");
while (i < count_i) {
    jResp.I = i;
    object_state = jResp.StringOf("parcels[i].object_state");
    object_created = jResp.StringOf("parcels[i].object_created");
    object_updated = jResp.StringOf("parcels[i].object_updated");
    object_id = jResp.StringOf("parcels[i].object_id");
    object_owner = jResp.StringOf("parcels[i].object_owner");
    template = jResp.StringOf("parcels[i].template");
    length = jResp.StringOf("parcels[i].length");
    width = jResp.StringOf("parcels[i].width");
    height = jResp.StringOf("parcels[i].height");
    distance_unit = jResp.StringOf("parcels[i].distance_unit");
    weight = jResp.StringOf("parcels[i].weight");
    mass_unit = jResp.StringOf("parcels[i].mass_unit");
    value_amount = jResp.StringOf("parcels[i].value_amount");
    value_currency = jResp.StringOf("parcels[i].value_currency");
    metadata = jResp.StringOf("parcels[i].metadata");
    test = jResp.BoolOf("parcels[i].test");
    j = 0;
    count_j = jResp.SizeOfArray("parcels[i].line_items");
    while (j < count_j) {
        jResp.J = j;
        j = j + 1;
    }

    i = i + 1;
}

i = 0;
count_i = jResp.SizeOfArray("rates");
while (i < count_i) {
    jResp.I = i;
    object_created = jResp.StringOf("rates[i].object_created");
    object_id = jResp.StringOf("rates[i].object_id");
    object_owner = jResp.StringOf("rates[i].object_owner");
    shipment = jResp.StringOf("rates[i].shipment");
    amount = jResp.StringOf("rates[i].amount");
    currency = jResp.StringOf("rates[i].currency");
    amount_local = jResp.StringOf("rates[i].amount_local");
    currency_local = jResp.StringOf("rates[i].currency_local");
    provider = jResp.StringOf("rates[i].provider");
    provider_image_75 = jResp.StringOf("rates[i].provider_image_75");
    provider_image_200 = jResp.StringOf("rates[i].provider_image_200");
    servicelevelName = jResp.StringOf("rates[i].servicelevel.name");
    servicelevelToken = jResp.StringOf("rates[i].servicelevel.token");
    servicelevelTerms = jResp.StringOf("rates[i].servicelevel.terms");
    estimated_days = jResp.IntOf("rates[i].estimated_days");
    arrives_by = jResp.StringOf("rates[i].arrives_by");
    duration_terms = jResp.StringOf("rates[i].duration_terms");
    carrier_account = jResp.StringOf("rates[i].carrier_account");
    test = jResp.BoolOf("rates[i].test");
    zone = jResp.StringOf("rates[i].zone");
    j = 0;
    count_j = jResp.SizeOfArray("rates[i].attributes");
    while (j < count_j) {
        jResp.J = j;
        strVal = jResp.StringOf("rates[i].attributes[j]");
        j = j + 1;
    }

    j = 0;
    count_j = jResp.SizeOfArray("rates[i].messages");
    while (j < count_j) {
        jResp.J = j;
        j = j + 1;
    }

    i = i + 1;
}

i = 0;
count_i = jResp.SizeOfArray("messages");
while (i < count_i) {
    jResp.I = i;
    source = jResp.StringOf("messages[i].source");
    code = jResp.StringOf("messages[i].code");
    text = jResp.StringOf("messages[i].text");
    i = i + 1;
}


 

© 2000-2019 Chilkat Software, Inc. All Rights Reserved.