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

SettingNew value
Base URLhttps://api.dockflow.com/compat/project44
Client secretA 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

CallWhat it does
POST /api/v4/oauth2/tokenClient credentials grant, sent as form, JSON or Basic.
POST /api/v4/shipments/trackingCreates a shipment, or adds to an existing one when id is sent.
PUT /api/v4/shipments/trackingAs POST, and marks the references of each identifier class it names as complete.
GET /api/v4/shipments/{id}/trackingReads one shipment.
GET /api/v4/shipments/{id}/tracking/historyReads the shipment with its route and events. This is also the webhook body.
GET /api/v4/shipments/{id}/eventhistoryReads the events, with includeRouteInfo.
GET /api/v4/shipments/{id}/positionhistoryAnswers in the position history shape, with includeRouteInfo. The list of positions is empty.
GET /api/v4/shipments/{id}/attributesAnswers an empty list for a shipment on the account.
DELETE /api/v4/shipments/{id}/trackingOn 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_LADING and TRACKING_NUMBER, plus containers in relatedShipments.
  • Stop types: ORIGIN, PORT_OF_LOADING, TRANSSHIPMENT_PORT, PORT_OF_DISCHARGE, DESTINATION and OTHER.
  • Events: GATE_OUT_EMPTY, GATE_IN_FULL, LOAD, DEPARTURE_FROM_STOP, ARRIVAL_AT_STOP, DISCHARGE, GATE_OUT_FULL and GATE_IN_EMPTY, with PLANNED, ESTIMATE and ACTUAL dates.
  • Errors in the ApiError shape, and token errors in the OAuth2Error shape.
  • 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 /webhooks call answers 403, and Dockflow support sets up the destination.
  • positions, costs, contents, exceptions, plan and emissions are empty on read.
  • Sent routeInfo, events, plan, attributes, accessGroups, costs, contents and shipmentShareLink are not applied. The answer says so in problems.
  • 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.

Book a demo

Go through your integration and the switch with the Dockflow team.

Book a demo