How do I point a ShipsGo v2 client at Dockflow without rewriting it?

I have a client built for the ShipsGo v2 ocean API. Can it run on Dockflow with the same paths and bodies?

Yes. Change two values:

  1. Set the base URL to https://api.dockflow.com/compat/shipsgo/v2
  2. Put a Dockflow API key in X-Shipsgo-User-Token. Create the key in the API Console with the Downstream scope.

A worked case, with a fake token. Create a shipment:

POST /compat/shipsgo/v2/ocean/shipments
X-Shipsgo-User-Token: prod_acme_FAKE-TOKEN

{"reference":"PO-5521","booking_number":"BK-7741"}

The answer holds the shipment id. Read it back with that id. This answer is shortened:

GET /compat/shipsgo/v2/ocean/shipments/74123

{"message":"SUCCESS","shipment":{"id":74123,
 "reference":"PO-5521","booking_number":"BK-7741",
 "status":"BOOKED"}}

Three things differ. List filters other than id and container number are refused, followers and tags stay empty, and air routes are not covered. The list is ordered by last change, oldest first, and every order_by is refused. Until the import has run, a read shows only the number you sent. Webhook destinations are added by Dockflow support, and each delivery carries X-Shipsgo-Webhook-Signature.

Full field mapping and the signature check: