Un client di tracciamento GraphQL Windward può funzionare su Dockflow e cosa bisogna cambiare?

Il mio cliente invia GraphQL all’API di tracciamento marittimo di Windward. Le query possono restare?

Sì, le query e le mutazioni possono restare. Cambiano l’URL e la credenziale, e questi due sono di progettazione propria di Dockflow, perché Windward non li pubblica:

  1. Invia a https://api.dockflow.com/compat/windward/graphql
  2. Invia una chiave API di Dockflow in x-api-key, oppure come token Bearer. Se il tuo client chiama publicAPIToken, metti la chiave in clientSecret.

Il primo passaggio a questa superficie va fatto insieme a Dockflow, come validazione, quindi contatta l’assistenza per pianificarlo.

Un caso pratico, con una chiave fittizia:

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

La risposta contiene l’id:

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

Gli id emessi da Windward non vengono risolti, quindi fai l’upsert di ogni spedizione una sola volta. La lista filtra solo su id e numero di container. Gli argomenti sort e orderBy sono accettati e ignorati. Il controllo di navi e aziende non è coperto. Ogni consegna del webhook porta un header X-Dockflow-Signature.

Mappatura completa dei campi e verifica della firma: