You can use your own custom carrier endpoint with Zapiet - Pickup + Delivery. We will POST the body of Shopify's normal Carrier Service API request to your endpoint.

{
  "rate": {
    "origin": {
      "country": "CA",
      "postal_code": "K2P1L4",
      "province": "ON",
      "city": "Ottawa",
      "name": null,
      "address1": "150 Elgin St.",
      "address2": "",
      "address3": null,
      "phone": "16135551212",
      "fax": null,
      "email": null,
      "address_type": null,
      "company_name": "Jamie D's Emporium"
    },
    "destination": {
      "country": "CA",
      "postal_code": "K1M1M4",
      "province": "ON",
      "city": "Ottawa",
      "name": "Bob Norman",
      "address1": "24 Sussex Dr.",
      "address2": "",
      "address3": null,
      "phone": null,
      "fax": null,
      "email": null,
      "address_type": null,
      "company_name": null
    },
    "items": [{
      "name": "Short Sleeve T-Shirt",
      "sku": "",
      "quantity": 1,
      "grams": 1000,
      "price": 1999,
      "vendor": "Jamie D's Emporium",
      "requires_shipping": true,
      "taxable": true,
      "fulfillment_service": "manual",
      "properties": null,
      "product_id": 48447225880,
      "variant_id": 258644705304
    }],
    "currency": "USD",
    "locale": "en"
  }
}

You then just need to return a response in the format shown below:

{
  "rates": [{
    "service_name": "My Awesomely Price Rate",
    "service_code": "MYRATES",
    "total_price": "1295",
    "currency": "USD"
  }]
}

Authentication

If an API key is provided we will pass it through in the rates request as a Bearer token for example:

Authorization: Basic e151f842-06f7-4d5f-9804-1d833a5180ea
Did this answer your question?