Delphi DLL EasyPost: Retrieve an Order

Back to Index

Retrieves an EasyPost order

Documentation: https://www.easypost.com/docs/api#retrieve-an-order

CURL Command

curl -X GET https://api.easypost.com/v2/orders/order_... \
  -u <YOUR_TEST/PRODUCTION_API_KEY>:

Delphi DLL Example

var
rest: HCkRest;
success: Boolean;
bTls: Boolean;
port: Integer;
bAutoReconnect: Boolean;
sbResponseBody: HCkStringBuilder;
jsonResponse: HCkJsonObject;
id: PWideChar;
mode: PWideChar;
reference: Boolean;
is_return: Boolean;
optionsCurrency: PWideChar;
optionsLabel_date: Boolean;
created_at: PWideChar;
updated_at: PWideChar;
customs_info: Boolean;
to_addressId: PWideChar;
to_addressObject: PWideChar;
to_addressName: PWideChar;
to_addressCompany: Boolean;
to_addressStreet1: PWideChar;
to_addressStreet2: Boolean;
to_addressCity: PWideChar;
to_addressState: PWideChar;
to_addressZip: PWideChar;
to_addressCountry: PWideChar;
to_addressPhone: PWideChar;
to_addressMode: PWideChar;
to_addressCarrier_facility: Boolean;
to_addressResidential: Boolean;
to_addressEmail: PWideChar;
to_addressCreated_at: PWideChar;
to_addressUpdated_at: PWideChar;
from_addressId: PWideChar;
from_addressObject: PWideChar;
from_addressName: PWideChar;
from_addressCompany: Boolean;
from_addressStreet1: PWideChar;
from_addressStreet2: Boolean;
from_addressCity: PWideChar;
from_addressState: PWideChar;
from_addressZip: PWideChar;
from_addressCountry: PWideChar;
from_addressPhone: PWideChar;
from_addressEmail: PWideChar;
from_addressMode: PWideChar;
from_addressCarrier_facility: Boolean;
from_addressResidential: Boolean;
from_addressCreated_at: PWideChar;
from_addressUpdated_at: PWideChar;
buyer_addressId: PWideChar;
buyer_addressObject: PWideChar;
buyer_addressName: PWideChar;
buyer_addressCompany: Boolean;
buyer_addressStreet1: PWideChar;
buyer_addressStreet2: Boolean;
buyer_addressCity: PWideChar;
buyer_addressState: PWideChar;
buyer_addressZip: PWideChar;
buyer_addressCountry: PWideChar;
buyer_addressPhone: PWideChar;
buyer_addressMode: PWideChar;
buyer_addressCarrier_facility: Boolean;
buyer_addressResidential: Boolean;
buyer_addressEmail: PWideChar;
buyer_addressCreated_at: PWideChar;
buyer_addressUpdated_at: PWideChar;
return_addressId: PWideChar;
return_addressObject: PWideChar;
return_addressName: PWideChar;
return_addressCompany: Boolean;
return_addressStreet1: PWideChar;
return_addressStreet2: Boolean;
return_addressCity: PWideChar;
return_addressState: PWideChar;
return_addressZip: PWideChar;
return_addressCountry: PWideChar;
return_addressPhone: PWideChar;
return_addressEmail: PWideChar;
return_addressMode: PWideChar;
return_addressCarrier_facility: Boolean;
return_addressResidential: Boolean;
return_addressCreated_at: PWideChar;
return_addressUpdated_at: PWideChar;
object: PWideChar;
i: Integer;
count_i: Integer;
status: PWideChar;
tracking_code: Boolean;
batch_id: Boolean;
batch_status: Boolean;
batch_message: Boolean;
parcelId: PWideChar;
parcelObject: PWideChar;
parcelLength: Integer;
parcelWidth: Integer;
parcelHeight: Integer;
parcelPredefined_package: Boolean;
parcelWeight: Integer;
parcelCreated_at: PWideChar;
parcelUpdated_at: PWideChar;
postage_label: Boolean;
refund_status: Boolean;
scan_form: Boolean;
selected_rate: Boolean;
tracker: Boolean;
j: Integer;
count_j: Integer;
created_at_bool: Boolean;
updated_at_bool: Boolean;
service: PWideChar;
carrier: PWideChar;
rate: PWideChar;
currency: PWideChar;
retail_rate: Boolean;
retail_currency: Boolean;
list_rate: Boolean;
list_currency: Boolean;
delivery_days: Integer;
delivery_date: PWideChar;
delivery_date_guaranteed: Boolean;
est_delivery_days: Boolean;
shipment_id: PWideChar;
carrier_account_id: PWideChar;

begin
rest := CkRest_Create();

//  URL: https://api.easypost.com/v2/orders/order_...
bTls := True;
port := 443;
bAutoReconnect := True;
success := CkRest_Connect(rest,'api.easypost.com',port,bTls,bAutoReconnect);
if (success <> True) then
  begin
    Memo1.Lines.Add('ConnectFailReason: ' + IntToStr(CkRest_getConnectFailReason(rest)));
    Memo1.Lines.Add(CkRest__lastErrorText(rest));
    Exit;
  end;

CkRest_SetAuthBasic(rest,'<YOUR_TEST/PRODUCTION_API_KEY>','');

sbResponseBody := CkStringBuilder_Create();
success := CkRest_FullRequestNoBodySb(rest,'GET','/v2/orders/order_...',sbResponseBody);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkRest__lastErrorText(rest));
    Exit;
  end;

jsonResponse := CkJsonObject_Create();
CkJsonObject_LoadSb(jsonResponse,sbResponseBody);

id := CkJsonObject__stringOf(jsonResponse,'id');
mode := CkJsonObject__stringOf(jsonResponse,'mode');
reference := CkJsonObject_IsNullOf(jsonResponse,'reference');
is_return := CkJsonObject_BoolOf(jsonResponse,'is_return');
optionsCurrency := CkJsonObject__stringOf(jsonResponse,'options.currency');
optionsLabel_date := CkJsonObject_IsNullOf(jsonResponse,'options.label_date');
created_at := CkJsonObject__stringOf(jsonResponse,'created_at');
updated_at := CkJsonObject__stringOf(jsonResponse,'updated_at');
customs_info := CkJsonObject_IsNullOf(jsonResponse,'customs_info');
to_addressId := CkJsonObject__stringOf(jsonResponse,'to_address.id');
to_addressObject := CkJsonObject__stringOf(jsonResponse,'to_address.object');
to_addressName := CkJsonObject__stringOf(jsonResponse,'to_address.name');
to_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'to_address.company');
to_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'to_address.street1');
to_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'to_address.street2');
to_addressCity := CkJsonObject__stringOf(jsonResponse,'to_address.city');
to_addressState := CkJsonObject__stringOf(jsonResponse,'to_address.state');
to_addressZip := CkJsonObject__stringOf(jsonResponse,'to_address.zip');
to_addressCountry := CkJsonObject__stringOf(jsonResponse,'to_address.country');
to_addressPhone := CkJsonObject__stringOf(jsonResponse,'to_address.phone');
to_addressMode := CkJsonObject__stringOf(jsonResponse,'to_address.mode');
to_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'to_address.carrier_facility');
to_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'to_address.residential');
to_addressEmail := CkJsonObject__stringOf(jsonResponse,'to_address.email');
to_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'to_address.created_at');
to_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'to_address.updated_at');
from_addressId := CkJsonObject__stringOf(jsonResponse,'from_address.id');
from_addressObject := CkJsonObject__stringOf(jsonResponse,'from_address.object');
from_addressName := CkJsonObject__stringOf(jsonResponse,'from_address.name');
from_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'from_address.company');
from_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'from_address.street1');
from_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'from_address.street2');
from_addressCity := CkJsonObject__stringOf(jsonResponse,'from_address.city');
from_addressState := CkJsonObject__stringOf(jsonResponse,'from_address.state');
from_addressZip := CkJsonObject__stringOf(jsonResponse,'from_address.zip');
from_addressCountry := CkJsonObject__stringOf(jsonResponse,'from_address.country');
from_addressPhone := CkJsonObject__stringOf(jsonResponse,'from_address.phone');
from_addressEmail := CkJsonObject__stringOf(jsonResponse,'from_address.email');
from_addressMode := CkJsonObject__stringOf(jsonResponse,'from_address.mode');
from_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'from_address.carrier_facility');
from_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'from_address.residential');
from_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'from_address.created_at');
from_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'from_address.updated_at');
buyer_addressId := CkJsonObject__stringOf(jsonResponse,'buyer_address.id');
buyer_addressObject := CkJsonObject__stringOf(jsonResponse,'buyer_address.object');
buyer_addressName := CkJsonObject__stringOf(jsonResponse,'buyer_address.name');
buyer_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'buyer_address.company');
buyer_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'buyer_address.street1');
buyer_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'buyer_address.street2');
buyer_addressCity := CkJsonObject__stringOf(jsonResponse,'buyer_address.city');
buyer_addressState := CkJsonObject__stringOf(jsonResponse,'buyer_address.state');
buyer_addressZip := CkJsonObject__stringOf(jsonResponse,'buyer_address.zip');
buyer_addressCountry := CkJsonObject__stringOf(jsonResponse,'buyer_address.country');
buyer_addressPhone := CkJsonObject__stringOf(jsonResponse,'buyer_address.phone');
buyer_addressMode := CkJsonObject__stringOf(jsonResponse,'buyer_address.mode');
buyer_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'buyer_address.carrier_facility');
buyer_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'buyer_address.residential');
buyer_addressEmail := CkJsonObject__stringOf(jsonResponse,'buyer_address.email');
buyer_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'buyer_address.created_at');
buyer_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'buyer_address.updated_at');
return_addressId := CkJsonObject__stringOf(jsonResponse,'return_address.id');
return_addressObject := CkJsonObject__stringOf(jsonResponse,'return_address.object');
return_addressName := CkJsonObject__stringOf(jsonResponse,'return_address.name');
return_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'return_address.company');
return_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'return_address.street1');
return_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'return_address.street2');
return_addressCity := CkJsonObject__stringOf(jsonResponse,'return_address.city');
return_addressState := CkJsonObject__stringOf(jsonResponse,'return_address.state');
return_addressZip := CkJsonObject__stringOf(jsonResponse,'return_address.zip');
return_addressCountry := CkJsonObject__stringOf(jsonResponse,'return_address.country');
return_addressPhone := CkJsonObject__stringOf(jsonResponse,'return_address.phone');
return_addressEmail := CkJsonObject__stringOf(jsonResponse,'return_address.email');
return_addressMode := CkJsonObject__stringOf(jsonResponse,'return_address.mode');
return_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'return_address.carrier_facility');
return_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'return_address.residential');
return_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'return_address.created_at');
return_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'return_address.updated_at');
object := CkJsonObject__stringOf(jsonResponse,'object');
i := 0;
count_i := CkJsonObject_SizeOfArray(jsonResponse,'messages');
while i < count_i do
  begin
CkJsonObject_putI(jsonResponse,i);
    i := i + 1;
  end;

i := 0;
count_i := CkJsonObject_SizeOfArray(jsonResponse,'shipments');
while i < count_i do
  begin
CkJsonObject_putI(jsonResponse,i);
    id := CkJsonObject__stringOf(jsonResponse,'shipments[i].id');
    created_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].created_at');
    updated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].updated_at');
    is_return := CkJsonObject_BoolOf(jsonResponse,'shipments[i].is_return');
    mode := CkJsonObject__stringOf(jsonResponse,'shipments[i].mode');
    optionsCurrency := CkJsonObject__stringOf(jsonResponse,'shipments[i].options.currency');
    optionsLabel_date := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].options.label_date');
    reference := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].reference');
    status := CkJsonObject__stringOf(jsonResponse,'shipments[i].status');
    tracking_code := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].tracking_code');
    batch_id := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].batch_id');
    batch_status := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].batch_status');
    batch_message := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].batch_message');
    parcelId := CkJsonObject__stringOf(jsonResponse,'shipments[i].parcel.id');
    parcelObject := CkJsonObject__stringOf(jsonResponse,'shipments[i].parcel.object');
    parcelLength := CkJsonObject_IntOf(jsonResponse,'shipments[i].parcel.length');
    parcelWidth := CkJsonObject_IntOf(jsonResponse,'shipments[i].parcel.width');
    parcelHeight := CkJsonObject_IntOf(jsonResponse,'shipments[i].parcel.height');
    parcelPredefined_package := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].parcel.predefined_package');
    parcelWeight := CkJsonObject_IntOf(jsonResponse,'shipments[i].parcel.weight');
    parcelCreated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].parcel.created_at');
    parcelUpdated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].parcel.updated_at');
    customs_info := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].customs_info');
    to_addressId := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.id');
    to_addressObject := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.object');
    to_addressName := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.name');
    to_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].to_address.company');
    to_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.street1');
    to_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].to_address.street2');
    to_addressCity := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.city');
    to_addressState := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.state');
    to_addressZip := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.zip');
    to_addressCountry := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.country');
    to_addressPhone := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.phone');
    to_addressMode := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.mode');
    to_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].to_address.carrier_facility');
    to_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].to_address.residential');
    to_addressEmail := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.email');
    to_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.created_at');
    to_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].to_address.updated_at');
    from_addressId := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.id');
    from_addressObject := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.object');
    from_addressName := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.name');
    from_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].from_address.company');
    from_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.street1');
    from_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].from_address.street2');
    from_addressCity := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.city');
    from_addressState := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.state');
    from_addressZip := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.zip');
    from_addressCountry := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.country');
    from_addressPhone := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.phone');
    from_addressEmail := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.email');
    from_addressMode := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.mode');
    from_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].from_address.carrier_facility');
    from_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].from_address.residential');
    from_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.created_at');
    from_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].from_address.updated_at');
    buyer_addressId := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.id');
    buyer_addressObject := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.object');
    buyer_addressName := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.name');
    buyer_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].buyer_address.company');
    buyer_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.street1');
    buyer_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].buyer_address.street2');
    buyer_addressCity := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.city');
    buyer_addressState := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.state');
    buyer_addressZip := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.zip');
    buyer_addressCountry := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.country');
    buyer_addressPhone := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.phone');
    buyer_addressMode := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.mode');
    buyer_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].buyer_address.carrier_facility');
    buyer_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].buyer_address.residential');
    buyer_addressEmail := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.email');
    buyer_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.created_at');
    buyer_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].buyer_address.updated_at');
    return_addressId := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.id');
    return_addressObject := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.object');
    return_addressName := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.name');
    return_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].return_address.company');
    return_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.street1');
    return_addressStreet2 := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].return_address.street2');
    return_addressCity := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.city');
    return_addressState := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.state');
    return_addressZip := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.zip');
    return_addressCountry := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.country');
    return_addressPhone := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.phone');
    return_addressEmail := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.email');
    return_addressMode := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.mode');
    return_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].return_address.carrier_facility');
    return_addressResidential := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].return_address.residential');
    return_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.created_at');
    return_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'shipments[i].return_address.updated_at');
    postage_label := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].postage_label');
    refund_status := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].refund_status');
    scan_form := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].scan_form');
    selected_rate := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].selected_rate');
    tracker := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].tracker');
    object := CkJsonObject__stringOf(jsonResponse,'shipments[i].object');
    j := 0;
    count_j := CkJsonObject_SizeOfArray(jsonResponse,'shipments[i].messages');
    while j < count_j do
      begin
CkJsonObject_putJ(jsonResponse,j);
        j := j + 1;
      end;

    j := 0;
    count_j := CkJsonObject_SizeOfArray(jsonResponse,'shipments[i].rates');
    while j < count_j do
      begin
CkJsonObject_putJ(jsonResponse,j);
        id := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].id');
        object := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].object');
        created_at_bool := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].created_at');
        updated_at_bool := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].updated_at');
        mode := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].mode');
        service := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].service');
        carrier := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].carrier');
        rate := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].rate');
        currency := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].currency');
        retail_rate := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].retail_rate');
        retail_currency := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].retail_currency');
        list_rate := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].list_rate');
        list_currency := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].list_currency');
        delivery_days := CkJsonObject_IntOf(jsonResponse,'shipments[i].rates[j].delivery_days');
        delivery_date := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].delivery_date');
        delivery_date_guaranteed := CkJsonObject_BoolOf(jsonResponse,'shipments[i].rates[j].delivery_date_guaranteed');
        est_delivery_days := CkJsonObject_IsNullOf(jsonResponse,'shipments[i].rates[j].est_delivery_days');
        shipment_id := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].shipment_id');
        carrier_account_id := CkJsonObject__stringOf(jsonResponse,'shipments[i].rates[j].carrier_account_id');
        j := j + 1;
      end;

    j := 0;
    count_j := CkJsonObject_SizeOfArray(jsonResponse,'shipments[i].forms');
    while j < count_j do
      begin
CkJsonObject_putJ(jsonResponse,j);
        j := j + 1;
      end;

    j := 0;
    count_j := CkJsonObject_SizeOfArray(jsonResponse,'shipments[i].fees');
    while j < count_j do
      begin
CkJsonObject_putJ(jsonResponse,j);
        j := j + 1;
      end;

    i := i + 1;
  end;

i := 0;
count_i := CkJsonObject_SizeOfArray(jsonResponse,'rates');
while i < count_i do
  begin
CkJsonObject_putI(jsonResponse,i);
    id := CkJsonObject__stringOf(jsonResponse,'rates[i].id');
    object := CkJsonObject__stringOf(jsonResponse,'rates[i].object');
    created_at_bool := CkJsonObject_IsNullOf(jsonResponse,'rates[i].created_at');
    updated_at_bool := CkJsonObject_IsNullOf(jsonResponse,'rates[i].updated_at');
    mode := CkJsonObject__stringOf(jsonResponse,'rates[i].mode');
    service := CkJsonObject__stringOf(jsonResponse,'rates[i].service');
    carrier := CkJsonObject__stringOf(jsonResponse,'rates[i].carrier');
    rate := CkJsonObject__stringOf(jsonResponse,'rates[i].rate');
    currency := CkJsonObject__stringOf(jsonResponse,'rates[i].currency');
    retail_rate := CkJsonObject_IsNullOf(jsonResponse,'rates[i].retail_rate');
    retail_currency := CkJsonObject_IsNullOf(jsonResponse,'rates[i].retail_currency');
    list_rate := CkJsonObject_IsNullOf(jsonResponse,'rates[i].list_rate');
    list_currency := CkJsonObject_IsNullOf(jsonResponse,'rates[i].list_currency');
    delivery_days := CkJsonObject_IntOf(jsonResponse,'rates[i].delivery_days');
    delivery_date := CkJsonObject__stringOf(jsonResponse,'rates[i].delivery_date');
    delivery_date_guaranteed := CkJsonObject_BoolOf(jsonResponse,'rates[i].delivery_date_guaranteed');
    est_delivery_days := CkJsonObject_IsNullOf(jsonResponse,'rates[i].est_delivery_days');
    shipment_id := CkJsonObject__stringOf(jsonResponse,'rates[i].shipment_id');
    carrier_account_id := CkJsonObject__stringOf(jsonResponse,'rates[i].carrier_account_id');
    i := i + 1;
  end;

CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jsonResponse);

Sample JSON Response Body

{
  "id": "order_b39d44e7059a46c8a787174e8320bf1c",
  "mode": "test",
  "reference": null,
  "is_return": false,
  "options": {
    "currency": "USD",
    "label_date": null
  },
  "messages": [
  ],
  "created_at": "2016-02-17T02:51:04Z",
  "updated_at": "2016-02-17T02:51:04Z",
  "customs_info": null,
  "to_address": {
    "id": "adr_zMlCRtmt",
    "object": "Address",
    "name": "Dr. Steve Brule",
    "company": null,
    "street1": "179 N Harbor Dr",
    "street2": null,
    "city": "Redondo Beach",
    "state": "CA",
    "zip": "90277",
    "country": "US",
    "phone": "4153334444",
    "mode": "test",
    "carrier_facility": null,
    "residential": null,
    "email": "dr_steve_brule@gmail.com",
    "created_at": "2013-04-22T05:39:56Z",
    "updated_at": "2013-04-22T05:39:56Z"
  },
  "from_address": {
    "id": "adr_VgoLT6Ex",
    "object": "Address",
    "name": "EasyPost",
    "company": null,
    "street1": "417 Montgomery Street",
    "street2": null,
    "city": "San Francisco",
    "state": "CA",
    "zip": "94104",
    "country": "US",
    "phone": "4153334444",
    "email": "support@easypost.com",
    "mode": "test",
    "carrier_facility": null,
    "residential": null,
    "created_at": "2013-04-22T05:39:57Z",
    "updated_at": "2013-04-22T05:39:57Z"
  },
  "buyer_address": {
    "id": "adr_zMlCRtmt",
    "object": "Address",
    "name": "Dr. Steve Brule",
    "company": null,
    "street1": "179 N Harbor Dr",
    "street2": null,
    "city": "Redondo Beach",
    "state": "CA",
    "zip": "90277",
    "country": "US",
    "phone": "4153334444",
    "mode": "test",
    "carrier_facility": null,
    "residential": null,
    "email": "dr_steve_brule@gmail.com",
    "created_at": "2013-04-22T05:39:56Z",
    "updated_at": "2013-04-22T05:39:56Z"
  },
  "return_address": {
    "id": "adr_VgoLT6Ex",
    "object": "Address",
    "name": "EasyPost",
    "company": null,
    "street1": "417 Montgomery Street",
    "street2": null,
    "city": "San Francisco",
    "state": "CA",
    "zip": "94104",
    "country": "US",
    "phone": "4153334444",
    "email": "support@easypost.com",
    "mode": "test",
    "carrier_facility": null,
    "residential": null,
    "created_at": "2013-04-22T05:39:57Z",
    "updated_at": "2013-04-22T05:39:57Z"
  },
  "shipments": [
    {
      "id": "shp_7a387659db374a8ea197d7bba3009d5d",
      "created_at": "2016-02-17T02:51:04Z",
      "updated_at": "2016-02-17T02:51:10Z",
      "is_return": false,
      "messages": [
      ],
      "mode": "test",
      "options": {
        "currency": "USD",
        "label_date": null
      },
      "reference": null,
      "status": "unknown",
      "tracking_code": null,
      "batch_id": null,
      "batch_status": null,
      "batch_message": null,
      "parcel": {
        "id": "prcl_071994637e1046ab98a79f96d8b26488",
        "object": "Parcel",
        "length": 20.2,
        "width": 10.9,
        "height": 5.0,
        "predefined_package": null,
        "weight": 17.5,
        "created_at": "2013-04-22T05:39:57Z",
        "updated_at": "2013-04-22T05:39:57Z"
      },
      "customs_info": null,
      "to_address": {
        "id": "adr_zMlCRtmt",
        "object": "Address",
        "name": "Dr. Steve Brule",
        "company": null,
        "street1": "179 N Harbor Dr",
        "street2": null,
        "city": "Redondo Beach",
        "state": "CA",
        "zip": "90277",
        "country": "US",
        "phone": "4153334444",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "email": "dr_steve_brule@gmail.com",
        "created_at": "2013-04-22T05:39:56Z",
        "updated_at": "2013-04-22T05:39:56Z"
      },
      "from_address": {
        "id": "adr_VgoLT6Ex",
        "object": "Address",
        "name": "EasyPost",
        "company": null,
        "street1": "417 Montgomery Street",
        "street2": null,
        "city": "San Francisco",
        "state": "CA",
        "zip": "94104",
        "country": "US",
        "phone": "4153334444",
        "email": "support@easypost.com",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "created_at": "2013-04-22T05:39:57Z",
        "updated_at": "2013-04-22T05:39:57Z"
      },
      "buyer_address": {
        "id": "adr_zMlCRtmt",
        "object": "Address",
        "name": "Dr. Steve Brule",
        "company": null,
        "street1": "179 N Harbor Dr",
        "street2": null,
        "city": "Redondo Beach",
        "state": "CA",
        "zip": "90277",
        "country": "US",
        "phone": "4153334444",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "email": "dr_steve_brule@gmail.com",
        "created_at": "2013-04-22T05:39:56Z",
        "updated_at": "2013-04-22T05:39:56Z"
      },
      "return_address": {
        "id": "adr_VgoLT6Ex",
        "object": "Address",
        "name": "EasyPost",
        "company": null,
        "street1": "417 Montgomery Street",
        "street2": null,
        "city": "San Francisco",
        "state": "CA",
        "zip": "94104",
        "country": "US",
        "phone": "4153334444",
        "email": "support@easypost.com",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "created_at": "2013-04-22T05:39:57Z",
        "updated_at": "2013-04-22T05:39:57Z"
      },
      "postage_label": null,
      "rates": [
        {
          "id": "rate_1f168714581b40af965dd740ddf35f69",
          "object": "Rate",
          "created_at": null,
          "updated_at": null,
          "mode": "test",
          "service": "PRIORITY_OVERNIGHT",
          "carrier": "FedEx",
          "rate": "47.36",
          "currency": "USD",
          "retail_rate": null,
          "retail_currency": null,
          "list_rate": null,
          "list_currency": null,
          "delivery_days": 1,
          "delivery_date": "2016-02-18T10:30:00Z",
          "delivery_date_guaranteed": true,
          "est_delivery_days": null,
          "shipment_id": "shp_b701a9da21424a5f85a09530c9f924aa",
          "carrier_account_id": "ca_f02596dcabbb46a8ba823280efc277bb"
        },
        {
          "id": "rate_1567998062c445ab909daf872461d15e",
          "object": "Rate",
          "created_at": null,
          "updated_at": null,
          "mode": "test",
          "service": "STANDARD_OVERNIGHT",
          "carrier": "FedEx",
          "rate": "118.00",
          "currency": "USD",
          "retail_rate": null,
          "retail_currency": null,
          "list_rate": null,
          "list_currency": null,
          "delivery_days": 1,
          "delivery_date": "2016-02-18T15:00:00Z",
          "delivery_date_guaranteed": true,
          "est_delivery_days": null,
          "shipment_id": "shp_b701a9da21424a5f85a09530c9f924aa",
          "carrier_account_id": "ca_f02596dcabbb46a8ba823280efc277bb"
        },
        {
          "id": "rate_f9a9706f99754609a60b2ec512e82cbf",
          "object": "Rate",
          "created_at": null,
          "updated_at": null,
          "mode": "test",
          "service": "FEDEX_GROUND",
          "carrier": "FedEx",
          "rate": "17.96",
          "currency": "USD",
          "retail_rate": null,
          "retail_currency": null,
          "list_rate": null,
          "list_currency": null,
          "delivery_days": 4,
          "delivery_date": null,
          "delivery_date_guaranteed": false,
          "est_delivery_days": null,
          "shipment_id": "shp_b701a9da21424a5f85a09530c9f924aa",
          "carrier_account_id": "ca_f02596dcabbb46a8ba823280efc277bb"
        }
      ],
      "refund_status": null,
      "scan_form": null,
      "selected_rate": null,
      "tracker": null,
      "forms": [
      ],
      "fees": [
      ],
      "object": "Shipment"
    },
    {
      "id": "shp_b25c22b64a7f45bd859e826d3701471c",
      "created_at": "2016-02-17T02:51:04Z",
      "updated_at": "2016-02-17T02:51:10Z",
      "is_return": false,
      "messages": [
      ],
      "mode": "test",
      "options": {
        "currency": "USD",
        "label_date": null
      },
      "reference": null,
      "status": "unknown",
      "tracking_code": null,
      "batch_id": null,
      "batch_status": null,
      "batch_message": null,
      "parcel": {
        "id": "prcl_307ea2f3486544e58d5496fc840f6376",
        "object": "Parcel",
        "length": 7.2,
        "width": 1.9,
        "height": 1.0,
        "predefined_package": null,
        "weight": 10.8,
        "created_at": "2013-04-22T05:39:57Z",
        "updated_at": "2013-04-22T05:39:57Z"
      },
      "customs_info": null,
      "to_address": {
        "id": "adr_zMlCRtmt",
        "object": "Address",
        "name": "Dr. Steve Brule",
        "company": null,
        "street1": "179 N Harbor Dr",
        "street2": null,
        "city": "Redondo Beach",
        "state": "CA",
        "zip": "90277",
        "country": "US",
        "phone": "4153334444",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "email": "dr_steve_brule@gmail.com",
        "created_at": "2013-04-22T05:39:56Z",
        "updated_at": "2013-04-22T05:39:56Z"
      },
      "from_address": {
        "id": "adr_VgoLT6Ex",
        "object": "Address",
        "name": "EasyPost",
        "company": null,
        "street1": "417 Montgomery Street",
        "street2": null,
        "city": "San Francisco",
        "state": "CA",
        "zip": "94104",
        "country": "US",
        "phone": "4153334444",
        "email": "support@easypost.com",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "created_at": "2013-04-22T05:39:57Z",
        "updated_at": "2013-04-22T05:39:57Z"
      },
      "buyer_address": {
        "id": "adr_zMlCRtmt",
        "object": "Address",
        "name": "Dr. Steve Brule",
        "company": null,
        "street1": "179 N Harbor Dr",
        "street2": null,
        "city": "Redondo Beach",
        "state": "CA",
        "zip": "90277",
        "country": "US",
        "phone": "4153334444",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "email": "dr_steve_brule@gmail.com",
        "created_at": "2013-04-22T05:39:56Z",
        "updated_at": "2013-04-22T05:39:56Z"
      },
      "return_address": {
        "id": "adr_VgoLT6Ex",
        "object": "Address",
        "name": "EasyPost",
        "company": null,
        "street1": "417 Montgomery Street",
        "street2": null,
        "city": "San Francisco",
        "state": "CA",
        "zip": "94104",
        "country": "US",
        "phone": "4153334444",
        "email": "support@easypost.com",
        "mode": "test",
        "carrier_facility": null,
        "residential": null,
        "created_at": "2013-04-22T05:39:57Z",
        "updated_at": "2013-04-22T05:39:57Z"
      },
      "postage_label": null,
      "rates": [
      ],
      "refund_status": null,
      "scan_form": null,
      "selected_rate": null,
      "tracker": null,
      "forms": [
      ],
      "fees": [
      ],
      "object": "Shipment"
    }
  ],
  "rates": [
    {
      "id": "rate_1f168714581b40af965dd740ddf35f69",
      "object": "Rate",
      "created_at": null,
      "updated_at": null,
      "mode": "test",
      "service": "PRIORITY_OVERNIGHT",
      "carrier": "FedEx",
      "rate": "47.36",
      "currency": "USD",
      "retail_rate": null,
      "retail_currency": null,
      "list_rate": null,
      "list_currency": null,
      "delivery_days": 1,
      "delivery_date": "2016-02-18T10:30:00Z",
      "delivery_date_guaranteed": true,
      "est_delivery_days": null,
      "shipment_id": "shp_7a387659db374a8ea197d7bba3009d5d",
      "carrier_account_id": "ca_f02596dcabbb46a8ba823280efc277bb"
    },
    {
      "id": "rate_1567998062c445ab909daf872461d15e",
      "object": "Rate",
      "created_at": null,
      "updated_at": null,
      "mode": "test",
      "service": "STANDARD_OVERNIGHT",
      "carrier": "FedEx",
      "rate": "118.00",
      "currency": "USD",
      "retail_rate": null,
      "retail_currency": null,
      "list_rate": null,
      "list_currency": null,
      "delivery_days": 1,
      "delivery_date": "2016-02-18T15:00:00Z",
      "delivery_date_guaranteed": true,
      "est_delivery_days": null,
      "shipment_id": "shp_7a387659db374a8ea197d7bba3009d5d",
      "carrier_account_id": "ca_f02596dcabbb46a8ba823280efc277bb"
    },
    {
      "id": "rate_f9a9706f99754609a60b2ec512e82cbf",
      "object": "Rate",
      "created_at": null,
      "updated_at": null,
      "mode": "test",
      "service": "FEDEX_GROUND",
      "carrier": "FedEx",
      "rate": "17.96",
      "currency": "USD",
      "retail_rate": null,
      "retail_currency": null,
      "list_rate": null,
      "list_currency": null,
      "delivery_days": 4,
      "delivery_date": null,
      "delivery_date_guaranteed": false,
      "est_delivery_days": null,
      "shipment_id": "shp_7a387659db374a8ea197d7bba3009d5d",
      "carrier_account_id": "ca_f02596dcabbb46a8ba823280efc277bb"
    }
  ],
  "object": "Order"
}