Kann ein Windward GraphQL-Tracking-Client auf Dockflow laufen, und was muss geändert werden?

Mein Client sendet GraphQL an Windwards Ocean-Tracking-API. Können die Queries bleiben?

Ja, die Queries und Mutations können bleiben. Die URL und der Zugangsschlüssel ändern sich, und diese beiden sind Dockflows eigenes Design, da Windward sie nicht veröffentlicht:

  1. Sende an https://api.dockflow.com/compat/windward/graphql
  2. Sende einen Dockflow-API-Schlüssel in x-api-key oder als Bearer-Token. Wenn dein Client publicAPIToken aufruft, lege den Schlüssel in clientSecret ab.

Der erste Umstieg auf diese Oberfläche erfolgt gemeinsam mit Dockflow als Validierung, wende dich also an den Support, um ihn zu planen.

Ein durchgerechnetes Beispiel mit einem fiktiven Schlüssel:

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"}}]}}

Die Antwort enthält die id:

{"data":{"upsertTrackedShipments":[{"id":"000000000000000000012345"}]}}

Von Windward ausgegebene Ids werden nicht aufgelöst, führe also für jede Sendung einmal ein Upsert durch. Die Liste filtert nur nach id und Containernummer. Die Argumente sort und orderBy werden akzeptiert und ignoriert. Schiffs- und Firmenprüfung sind nicht abgedeckt. Jede Webhook-Zustellung enthält einen Header X-Dockflow-Signature.

Vollständige Feldzuordnung und die Signaturprüfung: