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:
- Invia a https://api.dockflow.com/compat/windward/graphql
- 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: