Bread Order Management

Once a customer checks out through Bread's modal an order is created within Bread's systems. This order is in a PENDING state and will need to be updated to properly go through the order process.

Overview: Bread Order States

PENDING

Bread orders fall into a PENDING state immediately after a checkout is complete. If no action is taken on a Bread order it will stay in a PENDING state until it expires.

AUTHORIZED

A Bread order should be authorized once it is signed off on by the merchant. Meaning if the order total in a merchant's Order Management System matches the order total of the Bread order the merchant should send an API request to Bread to move the order from a PENDING to an AUTHORIZED state.

SETTLED

When a merchant settles an order in their systems a request should be sent to Bread to move the order from an AUTHORIZED to a SETTLED state. Bread's standard practice is this request is sent at the time of shipment. When an order is moved to a SETTLED state Bread will release the funds to the merchant.

📘

Changing Order States

Changing Bread order states requires the order's TRANSACTION ID. This ID is provided to the merchant after a customer completes a checkout via the INSTALLMENTS:APPLICATION_CHECKOUT event callback function

API Requests and Responses

🚧

Access Tokens required

You will need to have the proper access tokens generated to access Bread's APIs. Access tokens can be generated using Basic Authentication by sending the client credentials (API and Secret Key) found in the Bread Merchant Portal. See the API Access Tokens page for more details

Consult the below links for information on sending requests and generating responses from Bread's Transaction API:

Bread Shipping API

The Bread Shipping API offers the ability to provide Bread an order's shipping information, such as the carrier or tracking number. Using the two endpoints below, orders shipping information can be captured or retrieved.

The Add Transaction Fulfillment Details endpoint provides the ability to add fulfillment details, including the carrier and the tracking number for a single transaction. If an order has multiple shipments, the endpoint can be hit as many times as needed or the data can be passed in an array, as shown below:

{
  "items": [
    {
      "id": "74bfd3ab-f922-4a83-8568-cc2414b04fa5",
      "transactionID": "f6411278-4760-47e1-bc9e-431d90d5f2d8",
      "carrier": "FedEx",
      "trackingNumber": "11111111111",
      "createdAt": "2023-03-03T17:49:23.25482Z"
    },
    {
      "id": "ca8c1b40-0f84-4bad-8d18-68c5031ac949",
      "transactionID": "f6411278-4760-47e1-bc9e-431d90d5f2d8",
      "carrier": "FedEx",
      "trackingNumber": "22222222222",
      "createdAt": "2023-03-03T17:58:16.31087Z"
    }
  ]
}

The Get Transaction Fulfillment Details endpoint will return an unordered array of the fulfillment details, including the carrier and the tracking number for a single transaction:

{
  "items": [
    {
      "id": "74bfd3ab-f922-4a83-8568-cc2414b04fa5",
      "transactionID": "f6411278-4760-47e1-bc9e-431d90d5f2d8",
      "carrier": "FedEx",
      "trackingNumber": "234802384023948",
      "createdAt": "2023-03-03T17:49:23.25482Z"
    }
  ]
}