Compatible with project44
Dockflow serves the project44 v4 shipment tracking API. A client switches by changing its base URL and its client secret.
What changes
| Setting | New value |
|---|---|
| Base URL | https://api.dockflow.com/compat/project44 |
| Client secret | A Dockflow API key, created in the API Console |
The token call returns that secret as the access token, with token type BEARER. Paths, request bodies and response fields keep the project44 v4 shape.
What is covered
| Call | What it does |
|---|---|
POST /api/v4/oauth2/token | Client credentials grant, sent as form, JSON or Basic. |
POST /api/v4/shipments/tracking | Creates a shipment, or adds to an existing one when id is sent. |
PUT /api/v4/shipments/tracking | As POST, and marks the references of each identifier class it names as complete. |
GET /api/v4/shipments/{id}/tracking | Reads one shipment. |
GET /api/v4/shipments/{id}/tracking/history | Reads the shipment with its route and events. This is also the webhook body. |
GET /api/v4/shipments/{id}/eventhistory | Reads the events, with includeRouteInfo. |
GET /api/v4/shipments/{id}/positionhistory | Answers in the position history shape, with includeRouteInfo. The list of positions is empty. |
GET /api/v4/shipments/{id}/attributes | Answers an empty list for a shipment on the account. |
DELETE /api/v4/shipments/{id}/tracking | On a parent, deactivates and removes the shipment. On a container child, removes that container. Answers 202. |
- Identifiers:
BILL_OF_LADING,BOOKING_NUMBER,CARRIER_SCAC,CONTAINER_ID,HOUSE_BILL_OF_LADINGandTRACKING_NUMBER, plus containers inrelatedShipments. - Stop types:
ORIGIN,PORT_OF_LOADING,TRANSSHIPMENT_PORT,PORT_OF_DISCHARGE,DESTINATIONandOTHER. - Events:
GATE_OUT_EMPTY,GATE_IN_FULL,LOAD,DEPARTURE_FROM_STOP,ARRIVAL_AT_STOP,DISCHARGE,GATE_OUT_FULLandGATE_IN_EMPTY, withPLANNED,ESTIMATEandACTUALdates. - Errors in the
ApiErrorshape, and token errors in theOAuth2Errorshape. - Output and error bodies are tested against a schema subset of the public project44 v4 document.
What is not covered
- Webhook registration through the API. Every
/webhookscall answers 403, and Dockflow support sets up the destination. positions,costs,contents,exceptions,planandemissionsare empty on read.- Sent
routeInfo,events,plan,attributes,accessGroups,costs,contentsandshipmentShareLinkare not applied. The answer says so inproblems. - Events other than the ones listed above, for example customs events.
/api/v4/ocean/shipments,/services/unified-search, loads and carrier push paths.- Reads by identifier. Reads are by shipment id.
- Ids issued by project44. Shipment ids come from Dockflow, so open shipments are registered again through the create call.
Request example
curl -X POST https://api.dockflow.com/compat/project44/api/v4/oauth2/token \
-d grant_type=client_credentials \
-d client_id=my-client \
-d client_secret=$DOCKFLOW_API_KEY
curl -X POST https://api.dockflow.com/compat/project44/api/v4/shipments/tracking \
-H "Authorization: Bearer $DOCKFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"identifiers": [{"type": "CONTAINER_ID", "value": "CSQU3054383"}]}'
Documentation
The mapping of fields and events is in the project44 migration guide.
Other compatible APIs: ShipsGo, Windward, Cargoes Flow.