API Reference

Provide rates

Fulfil requests rates in two situations

Case 1: For a customer shipment

This is the most common case where the rates are requested for a package. If the rates are requested after the items are packaged, then the rate request will include precise packaging information. When rates are requested before packing, Fulfil makes an estimate on the weight and the packages that will be used.

Case 2: For a sales order

Many merchants also use Fulfil to enter orders (usually wholesale). At the time of processing the sales order, an user may want to provide the customer with an estimate of their shipping (or charge shipping on the order). The rate request sent in this situation also has packaging information, but is only likely to contain 1 package.

If the weight of the package exceeds per package limits, we recommend splitting packages on your end and sending a rate that assumes multiple packages being used. This is only an estimate and most merchants will include a markup on rates to protect margins.

Example Request

POST <YOUR CALLBACK URL>/rates

{
  "account_id": "123456789",
  "origin": {
    "name": "Joe Santiego",
    "street1": "444 Castro St",
    "street2": "Suite 1200",
    "city": "Mountain view",
    "zip": "94041",
    "country": "US",
    "state": "CA",
    "email": "[email protected]",
    "phone": "+18978678653",
    "company": "Fulfil.IO Inc.",
    "validation_status": null,
    "address_type": null,
    "tax_identification": null
  },
  "destination": {
    "name": "Joe Santiego",
    "street1": "444 Castro St",
    "street2": "Suite 1200",
    "city": "Mountain view",
    "zip": "94041",
    "country": "US",
    "state": "CA",
    "email": "[email protected]",
    "phone": "+18978678653",
    "company": "Fulfil.IO Inc.",
    "validation_status": null,
    "address_type": null,
    "tax_identification": null
  },
  "packages": [
    {
      "length": 4,
      "width": 4,
      "height": 5,
      "dimension_unit": "in",
      "weight": 7,
      "weight_unit": "lb",
      "carrier_code": null,
      "machinable": false,
      "dhl_ecommerce_dangerous_goods_category": null,
      "easyship_category": null,
      "description": "Merchandise",
      "quantity": null,
      "amount": null,
      "reference": null
    }
  ],
// The "customs" property will only be populated if the origin and destination 
// country are different (international shipment)
  "customs": {
    "customs_certify": true,
    "contents_type": "other",
    "customs_signer": null,
    "contents_explanation": "Electronic Items",
    "non_delivery_option": "return",
    "items": [
      {
        "description": "iPhone 7",
        "quantity": 1,
        "value": 99,
        "currency": "USD",
        "weight": 1,
        "weight_unit": "lb",
        "hs_code": null,
        "sku": null,
        "country_of_origin": "US",
        "_options": {}
      },
      {
        "description": "MacBook Pro",
        "quantity": 2,
        "value": 40,
        "currency": "USD",
        "weight": 6,
        "weight_unit": "lb",
        "hs_code": null,
        "sku": null,
        "country_of_origin": "US",
        "_options": {}
      }
    ],
    "incoterm": null,
    "invoice_number": null,
    "eel": null,
    "pfc": null,
    "exporter_tax_id_type": null,
    "exporter_tax_id": null,
    "exporter_eori_number": null,
    "importer": null
  }
}

Expected Response

The response must include at least the following 3 fields:

  • service_code
  • service_name
  • rate
[
    {
        "service_code": "SD",
        "service_name": "Same day delivery",
        "rate": "18.50",
    },
    {
        "service_code": "EXP",
        "service_name": "Two day delivery",
        "rate": "13.95",
    },
    {
        "service_code": "STD",
        "service_name": "Upto 4 day delivery",
        "rate": "8.95",
    }
]

A fully detailed response could include the following attributes

[
    { 
       "service_code": "SD",
        "service_name": "Same day delivery",
        "rate": "18.50",
        "currency": "USD",
        "list_rate": "20",
         "trackable" : true,
         "guaranteed": true,
         "delivery_days": 1,
         "delivery_date": "2021-01-01",
         "insurance_fee": "1.00",
         "insured": true
    },
    {
        "service_code": "EXP",
        "service_name": "Two day delivery",
        "rate": "13.95",
        "currency": "USD",
        "list_rate": "18.95",
         "trackable" : true,
         "guaranteed": true,
         "delivery_days": 2,
         "delivery_date": "2021-01-02",
         "insurance_fee": "1.00",
         "insured": true
    },
    {
        "service_code": "STD",
        "service_name": "Upto 4 day delivery",
        "rate": "8.95",
        "currency": "USD",
        "list_rate": "12.99",
         "trackable" : true,
         "guaranteed": true,
         "delivery_days": null,
         "delivery_date": null,
         "insurance_fee": null,
         "insured": false
    }
]
Language
Credentials
Basic
base64
:
Click Try It! to start a request and see the response here!