Delphi DLL EasyPost: Retrieve a list of Insurances

Back to Index

Retrieves a list of EasyPost insurances.

Documentation: https://www.easypost.com/docs/api#insurance

CURL Command

curl -X GET https://api.easypost.com/v2/insurances \
  -u <YOUR_TEST/PRODUCTION_API_KEY>: \
  -d 'page_size=2' \
  -d 'start_datetime=2016-01-02T08:50:00Z'

Delphi DLL Example

var
rest: HCkRest;
success: Boolean;
bTls: Boolean;
port: Integer;
bAutoReconnect: Boolean;
strResponseBody: PWideChar;
jsonResponse: HCkJsonObject;
has_more: Boolean;
i: Integer;
count_i: Integer;
id: PWideChar;
object: PWideChar;
mode: PWideChar;
reference: Boolean;
status: PWideChar;
amount: PWideChar;
provider: PWideChar;
provider_id: Integer;
to_addressId: PWideChar;
to_addressObject: PWideChar;
to_addressCreated_at: PWideChar;
to_addressUpdated_at: PWideChar;
to_addressName: PWideChar;
to_addressCompany: Boolean;
to_addressStreet1: PWideChar;
to_addressStreet2: PWideChar;
to_addressCity: PWideChar;
to_addressState: PWideChar;
to_addressZip: PWideChar;
to_addressCountry: PWideChar;
to_addressPhone: PWideChar;
to_addressEmail: Boolean;
to_addressMode: PWideChar;
to_addressCarrier_facility: Boolean;
to_addressResidential: Boolean;
to_addressFederal_tax_id: Boolean;
to_addressState_tax_id: Boolean;
to_addressVerificationsDeliverySuccess: Boolean;
to_addressVerificationsDeliveryDetailsLatitude: Integer;
to_addressVerificationsDeliveryDetailsLongitude: Integer;
from_addressId: PWideChar;
from_addressObject: PWideChar;
from_addressCreated_at: PWideChar;
from_addressUpdated_at: PWideChar;
from_addressName: Boolean;
from_addressCompany: PWideChar;
from_addressStreet1: PWideChar;
from_addressStreet2: PWideChar;
from_addressCity: PWideChar;
from_addressState: PWideChar;
from_addressZip: PWideChar;
from_addressCountry: PWideChar;
from_addressPhone: PWideChar;
from_addressEmail: Boolean;
from_addressMode: PWideChar;
from_addressCarrier_facility: Boolean;
from_addressResidential: Boolean;
from_addressFederal_tax_id: Boolean;
from_addressState_tax_id: Boolean;
from_addressVerificationsDeliverySuccess: Boolean;
from_addressVerificationsDeliveryDetailsLongitude: Integer;
from_addressVerificationsDeliveryDetailsLatitude: Integer;
shipment_id: Boolean;
trackerId: PWideChar;
trackerObject: PWideChar;
trackerMode: PWideChar;
trackerTracking_code: PWideChar;
trackerStatus: PWideChar;
trackerCreated_at: PWideChar;
trackerUpdated_at: PWideChar;
trackerSigned_by: Boolean;
trackerWeight: Boolean;
trackerEst_delivery_date: PWideChar;
trackerShipment_id: PWideChar;
trackerCarrier: PWideChar;
trackerCarrier_detailObject: PWideChar;
trackerCarrier_detailService: PWideChar;
trackerCarrier_detailContainer_type: Boolean;
trackerCarrier_detailEst_delivery_date_local: Boolean;
trackerCarrier_detailEst_delivery_time_local: Boolean;
trackerCarrier_detailOrigin_location: PWideChar;
trackerCarrier_detailDestination_location: PWideChar;
trackerPublic_url: PWideChar;
tracking_code: PWideChar;
feeObject: PWideChar;
feeType: PWideChar;
feeAmount: PWideChar;
feeCharged: Boolean;
feeRefunded: Boolean;
created_at: PWideChar;
updated_at: PWideChar;
j: Integer;
count_j: Integer;
strVal: PWideChar;

begin
rest := CkRest_Create();

//  URL: https://api.easypost.com/v2/insurances
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>','');

CkRest_AddQueryParam(rest,'page_size','2');
CkRest_AddQueryParam(rest,'start_datetime','2016-01-02T08:50:00Z');

strResponseBody := CkRest__fullRequestFormUrlEncoded(rest,'GET','/v2/insurances');
if (CkRest_getLastMethodSuccess(rest) <> True) then
  begin
    Memo1.Lines.Add(CkRest__lastErrorText(rest));
    Exit;
  end;

jsonResponse := CkJsonObject_Create();
CkJsonObject_Load(jsonResponse,strResponseBody);

has_more := CkJsonObject_BoolOf(jsonResponse,'has_more');
i := 0;
count_i := CkJsonObject_SizeOfArray(jsonResponse,'insurances');
while i < count_i do
  begin
CkJsonObject_putI(jsonResponse,i);
    id := CkJsonObject__stringOf(jsonResponse,'insurances[i].id');
    object := CkJsonObject__stringOf(jsonResponse,'insurances[i].object');
    mode := CkJsonObject__stringOf(jsonResponse,'insurances[i].mode');
    reference := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].reference');
    status := CkJsonObject__stringOf(jsonResponse,'insurances[i].status');
    amount := CkJsonObject__stringOf(jsonResponse,'insurances[i].amount');
    provider := CkJsonObject__stringOf(jsonResponse,'insurances[i].provider');
    provider_id := CkJsonObject_IntOf(jsonResponse,'insurances[i].provider_id');
    to_addressId := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.id');
    to_addressObject := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.object');
    to_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.created_at');
    to_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.updated_at');
    to_addressName := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.name');
    to_addressCompany := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].to_address.company');
    to_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.street1');
    to_addressStreet2 := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.street2');
    to_addressCity := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.city');
    to_addressState := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.state');
    to_addressZip := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.zip');
    to_addressCountry := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.country');
    to_addressPhone := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.phone');
    to_addressEmail := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].to_address.email');
    to_addressMode := CkJsonObject__stringOf(jsonResponse,'insurances[i].to_address.mode');
    to_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].to_address.carrier_facility');
    to_addressResidential := CkJsonObject_BoolOf(jsonResponse,'insurances[i].to_address.residential');
    to_addressFederal_tax_id := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].to_address.federal_tax_id');
    to_addressState_tax_id := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].to_address.state_tax_id');
    to_addressVerificationsDeliverySuccess := CkJsonObject_BoolOf(jsonResponse,'insurances[i].to_address.verifications.delivery.success');
    to_addressVerificationsDeliveryDetailsLatitude := CkJsonObject_IntOf(jsonResponse,'insurances[i].to_address.verifications.delivery.details.latitude');
    to_addressVerificationsDeliveryDetailsLongitude := CkJsonObject_IntOf(jsonResponse,'insurances[i].to_address.verifications.delivery.details.longitude');
    from_addressId := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.id');
    from_addressObject := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.object');
    from_addressCreated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.created_at');
    from_addressUpdated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.updated_at');
    from_addressName := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].from_address.name');
    from_addressCompany := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.company');
    from_addressStreet1 := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.street1');
    from_addressStreet2 := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.street2');
    from_addressCity := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.city');
    from_addressState := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.state');
    from_addressZip := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.zip');
    from_addressCountry := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.country');
    from_addressPhone := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.phone');
    from_addressEmail := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].from_address.email');
    from_addressMode := CkJsonObject__stringOf(jsonResponse,'insurances[i].from_address.mode');
    from_addressCarrier_facility := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].from_address.carrier_facility');
    from_addressResidential := CkJsonObject_BoolOf(jsonResponse,'insurances[i].from_address.residential');
    from_addressFederal_tax_id := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].from_address.federal_tax_id');
    from_addressState_tax_id := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].from_address.state_tax_id');
    from_addressVerificationsDeliverySuccess := CkJsonObject_BoolOf(jsonResponse,'insurances[i].from_address.verifications.delivery.success');
    from_addressVerificationsDeliveryDetailsLongitude := CkJsonObject_IntOf(jsonResponse,'insurances[i].from_address.verifications.delivery.details.longitude');
    from_addressVerificationsDeliveryDetailsLatitude := CkJsonObject_IntOf(jsonResponse,'insurances[i].from_address.verifications.delivery.details.latitude');
    shipment_id := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].shipment_id');
    trackerId := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.id');
    trackerObject := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.object');
    trackerMode := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.mode');
    trackerTracking_code := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.tracking_code');
    trackerStatus := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.status');
    trackerCreated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.created_at');
    trackerUpdated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.updated_at');
    trackerSigned_by := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].tracker.signed_by');
    trackerWeight := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].tracker.weight');
    trackerEst_delivery_date := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.est_delivery_date');
    trackerShipment_id := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.shipment_id');
    trackerCarrier := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.carrier');
    trackerCarrier_detailObject := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.carrier_detail.object');
    trackerCarrier_detailService := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.carrier_detail.service');
    trackerCarrier_detailContainer_type := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].tracker.carrier_detail.container_type');
    trackerCarrier_detailEst_delivery_date_local := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].tracker.carrier_detail.est_delivery_date_local');
    trackerCarrier_detailEst_delivery_time_local := CkJsonObject_IsNullOf(jsonResponse,'insurances[i].tracker.carrier_detail.est_delivery_time_local');
    trackerCarrier_detailOrigin_location := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.carrier_detail.origin_location');
    trackerCarrier_detailDestination_location := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.carrier_detail.destination_location');
    trackerPublic_url := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracker.public_url');
    tracking_code := CkJsonObject__stringOf(jsonResponse,'insurances[i].tracking_code');
    feeObject := CkJsonObject__stringOf(jsonResponse,'insurances[i].fee.object');
    feeType := CkJsonObject__stringOf(jsonResponse,'insurances[i].fee.type');
    feeAmount := CkJsonObject__stringOf(jsonResponse,'insurances[i].fee.amount');
    feeCharged := CkJsonObject_BoolOf(jsonResponse,'insurances[i].fee.charged');
    feeRefunded := CkJsonObject_BoolOf(jsonResponse,'insurances[i].fee.refunded');
    created_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].created_at');
    updated_at := CkJsonObject__stringOf(jsonResponse,'insurances[i].updated_at');
    j := 0;
    count_j := CkJsonObject_SizeOfArray(jsonResponse,'insurances[i].to_address.verifications.delivery.errors');
    while j < count_j do
      begin
CkJsonObject_putJ(jsonResponse,j);
        j := j + 1;
      end;

    j := 0;
    count_j := CkJsonObject_SizeOfArray(jsonResponse,'insurances[i].from_address.verifications.delivery.errors');
    while j < count_j do
      begin
CkJsonObject_putJ(jsonResponse,j);
        j := j + 1;
      end;

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

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

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

    i := i + 1;
  end;

CkRest_Dispose(rest);
CkJsonObject_Dispose(jsonResponse);

Sample JSON Response Body

{
  "insurances": [
    {
      "id": "ins_...",
      "object": "Insurance",
      "mode": "test",
      "reference": null,
      "status": "pending",
      "amount": "101.00000",
      "provider": "pip",
      "provider_id": 1,
      "to_address": {
        "id": "adr_...",
        "object": "Address",
        "created_at": "2016-07-22T00:09:34Z",
        "updated_at": "2016-07-22T00:09:34Z",
        "name": "DR. STEVE BRULE",
        "company": null,
        "street1": "179 N HARBOR DR",
        "street2": "",
        "city": "REDONDO BEACH",
        "state": "CA",
        "zip": "90277-2506",
        "country": "US",
        "phone": "3108085555",
        "email": null,
        "mode": "test",
        "carrier_facility": null,
        "residential": false,
        "federal_tax_id": null,
        "state_tax_id": null,
        "verifications": {
          "delivery": {
            "success": true,
            "errors": [
            ],
            "details": {
              "latitude": 33.84446,
              "longitude": -118.39275
            }
          }
        }
      },
      "from_address": {
        "id": "adr_...",
        "object": "Address",
        "created_at": "2016-07-22T00:09:34Z",
        "updated_at": "2016-07-22T00:09:34Z",
        "name": null,
        "company": "EASYPOST",
        "street1": "417 MONTGOMERY ST FL 5",
        "street2": "",
        "city": "SAN FRANCISCO",
        "state": "CA",
        "zip": "94104",
        "country": "US",
        "phone": "4155555555",
        "email": null,
        "mode": "test",
        "carrier_facility": null,
        "residential": false,
        "federal_tax_id": null,
        "state_tax_id": null,
        "verifications": {
          "delivery": {
            "success": true,
            "errors": [
            ],
            "details": {
              "longitude": -122.0,
              "latitude": 37.0
            }
          }
        }
      },
      "shipment_id": null,
      "tracker": {
        "id": "trk_...",
        "object": "Tracker",
        "mode": "test",
        "tracking_code": "EZ2000000002",
        "status": "in_transit",
        "created_at": "2016-07-22T00:09:34Z",
        "updated_at": "2016-07-22T03:09:34Z",
        "signed_by": null,
        "weight": null,
        "est_delivery_date": "2014-08-27T00:00:00Z",
        "shipment_id": "",
        "carrier": "USPS",
        "tracking_details": [
        ],
        "carrier_detail": {
          "object": "CarrierDetail",
          "service": "First-Class Package Service",
          "container_type": null,
          "est_delivery_date_local": null,
          "est_delivery_time_local": null,
          "origin_location": "HOUSTON TX, 77001",
          "destination_location": "CHARLESTON SC, 29401"
        },
        "public_url": "https://track.easypost.com/djE...",
        "fees": [
        ]
      },
      "tracking_code": "EZ2000000002",
      "fee": {
        "object": "Fee",
        "type": "InsuranceFee",
        "amount": "1.01000",
        "charged": true,
        "refunded": true
      },
      "messages": [
        "The tracker entered the mailstream before insurance was purchased."
      ],
      "created_at": "2016-07-22T00:09:34Z",
      "updated_at": "2016-07-22T00:10:35Z"
    }
  ],
  "has_more": true
}