Um cliente de rastreamento GraphQL do Windward pode rodar no Dockflow, e o que precisa mudar?

Meu cliente envia GraphQL para a API de rastreamento oceânico da Windward. As queries podem permanecer?

Sim, as queries e mutations podem permanecer. A URL e a credencial mudam, e essas duas são de design próprio da Dockflow, porque a Windward não as publica:

  1. Envie para https://api.dockflow.com/compat/windward/graphql
  2. Envie uma chave de API da Dockflow em x-api-key, ou como um Bearer token. Se seu cliente chama publicAPIToken, coloque a chave em clientSecret.

A primeira migração para essa superfície é feita em conjunto com a Dockflow, como validação, então entre em contato com o suporte para planejá-la.

Um caso prático, com uma chave falsa:

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

A resposta contém o id:

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

Ids emitidos pela Windward não são resolvidos, então faça upsert de cada embarque uma única vez. A lista filtra apenas por id e número de contêiner. Os argumentos sort e orderBy são aceitos e ignorados. A triagem de embarcações e empresas não é coberta. Cada entrega de webhook carrega um cabeçalho X-Dockflow-Signature.

Mapeamento completo de campos e a verificação da assinatura: