My client sends GraphQL to Windward’s ocean tracking API. Can the queries stay?
Yes, the queries and mutations can stay. The URL and the credential change, and those two are Dockflow’s own design, because Windward does not publish them:
- Send to https://api.dockflow.com/compat/windward/graphql
- Send a Dockflow API key in x-api-key, or as a Bearer token. If your client calls publicAPIToken, put the key in clientSecret.
The first move to this surface runs together with Dockflow, as validation, so contact support to plan it.
A worked case, with a fake key:
POST /compat/windward/graphql
x-api-key: prod_acme_FAKE-TOKEN
{"query":"mutation($s:[TrackedShipmentInput!]!){upsertTrackedShipments(shipments:$s){id}}",
"variables":{"s":[{"bol":"BL-7741","metadata":{"jobNumber":"PO-5521"}}]}}
The answer holds the id:
{"data":{"upsertTrackedShipments":[{"id":"000000000000000000012345"}]}}
Ids issued by Windward do not resolve, so upsert each shipment once. The list filters on id and container number only. The sort and orderBy arguments are accepted and ignored. Vessel and company screening are not covered. Each webhook delivery carries an X-Dockflow-Signature header.
Full field mapping and the signature check: