Public Load Boards
The Public Load Board API provides a common interface to multiple load boards allowing applications using the interface access to currently supported load boards as well as load boards added in the future. Some of the features include things like normalized data models, fields, handling of load board-specific errors, functionality, and authentication. Developers can use the same data fields and structures they are already familiar with in Shipwell when using this interface. For example, the machine-readable DRY_VAN equipment type will translate properly to the equipment type of V for DAT, V for Truckstop, or Van for Trucker Tools (and any future load boards added to the API).
The advantage of a normalized API is that a developer can simply execute one endpoint to perform
that action on many load boards. For example, to create a load post you access:
POST /loadboards/{loadboard_name}/loadpost
to create a load post and swap the loadboard_name
to
post to another one without changing the request body or downstream error handling.
With this API you will be able to do the following actions:
- Authentication : authenticate users and organizations, with permissioning if supported by the load board
- Post Loads : Post a load request from one to many load boards
- Search for capacity (trucks): Run a capacity search to find trucks that match the load
- Search for loads : Search for loads that match a lane
- Post Capacity : Post an empty truck
Authentication
Each of the load boards has slightly different authentication mechanisms. DAT requires authenticating an organization, and then authenticating each user, whereas Motive only r equires a API key with OAuth2 which can be shared for all users in a company. We’ve normalized this authentication and provided easy to use endpoints to obtain tokens/api keys for use with the API.
Each loadboard will require slightly different Authentication. To get a list of supported
load boards, simply call GET /loadboards/list-loadboards
Once you have completed that step, you can authenticate with the ones you would like to connect.
The endpoint GET /loadboards/auth
will return a list of load boards that you have active and
any authenticated users and their associated permissions (if supported by the load board).
If you want to attempt to authenticate with a load board, you would access a POST
/loadboards/auth/{loadboard_name}
and provide the associated credentials. A successful
authentication will return a 201 with a “Success” message.
The route GET /loadboards/auth/{loadboard_name}
will return the access token, token type, and
expiration.
Post Loads
Posting loads is now a simple task with the Load Board API. The first step is to create a
loadpost_request
body as indicated with the POST /loadboards/{loadboard_name}/loadpost
endpoint.
You can either construct this loadpost request or use a helper endpoint if you already have a
shipment created. To use the helper endpoint, access GET
/loadboards/{loadboard_name}/loadpost-requests/{shipment_id}
and simply pass in the shipment
id you would like to make a loadpost request and it will return a loadpost request you
can then send to the appropriate load board.
Posting of loads typically follows the following steps:
- Create a loadpost request
- Submit the loadpost request to 1 or more load boards
- Wait for a response which will contain either an error message or a successful post
- Remove loadpost if a shipment is covered, or cancelled