Step 7. Configure your webhook to receive offer details and updates.

Together with Motive, configure your webhook URL to receive messages about carriers' offers on your loads from the Smart Load Board.

When carriers make offers (book or bid) on a load that you have posted to the Motive Smart Load Board, Motive sends you the status ('Success', 'Error', etc.) and details of each offer. These details are sent via the webhook URL you provide when you create a load. Before you can start receiving these offer POST requests, some setup is required for you to do in collaboration with Motive's Smart Load Board (SLB) team.

POSTs to Your Webhook With Offer Details

In the Smart Load Board, all book or bid offers on loads whose status is 'OPEN' generate messages. When a Motive carrier submits a Book Now or Bid offer from the KT Smart Load Board, it triggers a POST offer message to the webhook you provided when you created the load, with the offer object in the request body, and any details you specify in the header.

The carrier who made the book or bid request is attached to the offer object. For a bid, you may receive multiple USDOT or MC/MX/FF identifiers (or none at all), but for a book request, you will always receive exactly one USDOT and/or MC/MX/FF.

Below is a sample payload of the offer object:

{
   "load_id": "486863267242625a4d2a585555384035a51d8b15f140d7d98f443598b34d950e",
   "load_reference": "7ffc1cb7c47f49f59b9233fe6ddeeb52",
   "type": "TYPE_BOOK_NOW",
   "booking_requirements": [
       {
           "key": "REQUIREMENT_HAZMAT",
           "status": "STATUS_REQUIRED"
       },
       ...
   ],
   "carriers": [
       {
           "name": "FRIEND BOX COMPANY",
           "usdot": "42654",
           "is_on_allowlist": true,
           "provided_visibility_consent": false
       }
   ],
   "submitter": {
       "role": "ROLE_DRIVER"
   },
   "contact": {
       "name": "John Doe",
       "email": "jdoe@test.com",
       "phone": "+1344242342",
       "role": "ROLE_DISPATCHER"
   },
   "rate": 123,
   "carrier" : {
           "name": "FRIEND BOX COMPANY",
           "usdot": "42654",
           "is_on_allowlist": true,
           "provided_visibility_consent": false
   },
   "platform": "PLATFORM_DESKTOP_WEB_DASHBOARD",
   "version": "v2",  
}

Once the load is successfully booked, you must update the load status as described in Step 6. Update or delete a load.

Work with Motive to Receive Offers Made via the Smart Load Board

You can customize the webhook URL to embed the load ID and load reference in the URL path; for example:

  • http://example.com/offer/endpoint
  • http://example.com/offer/endpoint?load_id={load_id}&load_reference={load_reference}

Basic authentication is supported.

The Motive Smart Load Board (SLB) team will update your Freight Partner preferences manually to add the webhook URL.

Configure the webhook to respond with an HTTP status code (required), a status ENUM (required), and optionally a message body. Reach out to the Motive SLB team when your webhook configuration is complete.

Status Code and ENUM for Your Response

Based on the ENUM returned in the response body, the Smart Load Board app will display one of the following prompts to the carrier to confirm the status of the offer:

HTTP StatusStatus ENUMDescriptionUI Message HeaderUI Message Body
200OFFERS_STATUS_MESSAGE_BOOKEDLoad has been successfully booked in broker’s TMSBooking/Bidding Confirmed<load.broker_name> will contact you directly to follow up.
500OFFERS_STATUS_MESSAGE_FP_INTERNAL_ERRORAll server errors caused by a technical failure on the FREIGHT PARTNER sideBooking/Bidding ErrorWe’re sorry, <load.broker_name> seems to be having a technical issue. Please try again later. You can also call <load.contact.phone> or email <load.contact.email> to book this load.
552OFFERS_STATUS_MESSAGE_NOT_AVAILABLEThe load is no longer available (status <> 'OPEN')Load No Longer AvailableWe’re sorry, this load has been removed.
553OFFERS_STATUS_MESSAGE_INSURANCE_ERRORThere is some issue with the carrier’s insuranceInsurance IssueYou cannot book this load at this time because there is an issue with the insurance you have on file with <load.broker_name>. Please call <load.contact.phone> or email <load.contact.email> to resolve.

Optional Message Body for Your Response

You can use the message on the webhook to send back a detailed error response if there are any issues about the webhook or the offer from your end.

A webhook response body looks like this:

{
	"status": <status ENUM>,
	"message": <optional message>
}