Bond API v1.0 (1.0)

Download OpenAPI specification:Download

Introduction

BOND, the post-purchase company, is changing the game of last-mile delivery experience.

Bond’s tech-driven network of nano distribution centers (NDCs) enables brands to provide fast, convenient, and friendly deliveries. With in-city storage, same-day delivery, next day scheduled delivery and scheduled returns, Bond offers D2C brands the most advanced and personalized last-mile solutions in the industry.

API Overview

Welcome to Bond’s core API Reference!

Current API Version is 1.0

The Bond platform offers a post-purchase and last-mile delivery solution that integrates directly into your current flow and systems. Our API configures and manipulates Bond features and capabilities to seamlessly fit your business order needs. To use our API, make sure to set up your Bond account by contacting your Bond Account Manager or Bond Support, and checking that the prerequisite features are enabled for your account. Most user actions within Bond API can be performed programmatically using the REST API

Common Use Cases:

  • Create a new order
    • Update existing order
    • Get ordering list
    • Get single order data
    • Webhooks
    • Scheduling

Authentication

Api Key

In order to use Bond API, each request must be authenticated with an API key.
The API key should be sent with each request in the header section with the header X-BOND-KEY

Security Scheme Type API Key
Header parameter name: X-BOND-KEY

Order

Our automatic ordering function makes fulfillment as easy as pie! Whether it be for order delivery, service fulfillment, or package return requests.
Each order should be set for a single customer, delivery address, and delivery date. Updating orders is just as simple and can be done as often as necessary to communicate exact delivery needs.

Order's Lifecycle

Each order will have an assigned status to reflect its position in the delivery lifecycle:

  • Pending: all newly created orders.
  • Ready to be delivered:
    • Orders that arrived to the Bond site already packed
    • Pick&Pack orders packaged by Bond that are ready for delivery
  • On the way: Bond is on the way to the customer.
  • Servicing: Bond has made it to the customer for handover.
  • Done: Order is complete and the customer has their package.
  • Canceled: Rejected or canceled orders.

Order Types

When creating an order, an order “type” should always be set. The type will initiate the workflow (aka process):

  • PackDeliver- Use this when you wish to initiate an order (with 1 or more SKUs). We will pick&pack the order at our Bond site.
  • Deliver- Use this when you wish to initiate an order that has already been packed (with 1 or more SKUs). Arrives at Bond site ready for delivery.
  • Return - Use this when you wish to initiate an exchange package workflow or a return.

Feasibility check

Check whether an order is valid and supported by bond, without creating it.

Authorizations:
Request Body schema: application/json
type
required
string (OrderType)

The order type

displayId
string

The order display Id given by the brand

brandOrderId
string

The order Id given by the brand

creationDate
string <date-time>

The order's creation date and time (in ISO8601 format).
If not given, the date time will be now.

requestedDeliveryDate
string <date> YYYY-MM-DD

The order's requested date to deliver (in the order's address timezone).

readinessDate
string <date-time>

not yet supported

object

The order's customer contact.
if not given, the contact will be the same as the receiver's contact details.

required
object

The recipient of the order.

notes
string
externalTrackingNumber
string

Generate a special tracking number from the external tracking number and Bond prefix.
Special tracking numbers can be requested by the brand and implemented by Bond.
If not requested, Bond will generate tracking numbers.

batchId
string

Use batches to organize similar orders together, by whatever criteria you choose.

Array of objects (Item)

The order items.
If a DELIVER type order is selected, the items will be ignored.

Responses

Request samples

Content type
application/json
Example
{
  • "type": "PACK-DELIVER",
  • "displayId": "display-acme-201",
  • "brandOrderId": "acmem-201",
  • "creationDate": "2020-02-10T08:00:00Z",
  • "requestedDeliveryDate": "2020-02-11T00:00:00.000Z",
  • "readinessDate": "2020-02-11T10:00:00Z",
  • "customer":
    {
    },
  • "receiver":
    {
    },
  • "notes": "Make sure it's fresh",
  • "externalTrackingNumber": "1527348963",
  • "batchId": "batch-1763",
  • "items":
    [
    ]
}

Response samples

Content type
application/json
{
  • "isValid": false,
  • "message": "The order was rejected because the address is not supported."
}

Create new order

Create a new order to be delivered with Bond

Authorizations:
Request Body schema: application/json
type
required
string (OrderType)

The order type

displayId
string

The order display Id given by the brand

brandOrderId
string

The order Id given by the brand

creationDate
string <date-time>

The order's creation date and time (in ISO8601 format).
If not given, the date time will be now.

requestedDeliveryDate
string <date> YYYY-MM-DD

The order's requested date to deliver (in the order's address timezone).

readinessDate
string <date-time>

not yet supported

object

The order's customer contact.
if not given, the contact will be the same as the receiver's contact details.

required
object

The recipient of the order.

notes
string
externalTrackingNumber
string

Generate a special tracking number from the external tracking number and Bond prefix.
Special tracking numbers can be requested by the brand and implemented by Bond.
If not requested, Bond will generate tracking numbers.

batchId
string

Use batches to organize similar orders together, by whatever criteria you choose.

Array of objects (Item)

The order items.
If a DELIVER type order is selected, the items will be ignored.

Responses

Request samples

Content type
application/json
Example
{
  • "type": "PACK-DELIVER",
  • "displayId": "display-acme-201",
  • "brandOrderId": "acmem-201",
  • "creationDate": "2020-02-10T08:00:00Z",
  • "requestedDeliveryDate": "2020-02-11T00:00:00.000Z",
  • "readinessDate": "2020-02-11T10:00:00Z",
  • "customer":
    {
    },
  • "receiver":
    {
    },
  • "notes": "Make sure it's fresh",
  • "externalTrackingNumber": "1527348963",
  • "batchId": "batch-1763",
  • "items":
    [
    ]
}

Response samples

Content type
application/json
{
  • "id": "BOuQ84HaQZ",
  • "displayId": "display-acme-201",
  • "brandOrderId": "acmem-201",
  • "status": "DONE",
  • "type": "PACK-DELIVER",
  • "site":
    {
    },
  • "location": "Customer",
  • "creationDate": "2020-02-10T08:00:00Z",
  • "requestedDeliveryDate": "2020-02-11",
  • "requestedDeliveryWindow":
    {
    },
  • "readinessDate": "2020-02-11T10:00:00Z",
  • "expectedArrivalDate": "2020-02-11T12:30:00Z",
  • "actualArrivalDate": "2020-02-11T12:32:10Z",
  • "customer":
    {
    },
  • "receiver":
    {