هل يمكن لعميل تتبع Windward GraphQL أن يعمل على Dockflow، وما الذي يجب تغييره؟

يرسل عميلي استعلامات GraphQL إلى واجهة برمجة تطبيقات تتبع المحيطات الخاصة بـ Windward. هل يمكن أن تبقى الاستعلامات كما هي؟

نعم، يمكن أن تبقى الاستعلامات والطفرات (mutations) كما هي. يتغير عنوان URL وبيانات الاعتماد فقط، وهذان من تصميم Dockflow الخاص، لأن Windward لا تنشرهما:

  1. أرسل إلى https://api.dockflow.com/compat/windward/graphql
  2. أرسل مفتاح Dockflow API في x-api-key، أو كـ Bearer token. إذا كان عميلك يستدعي publicAPIToken، فضع المفتاح في clientSecret.

تتم أول عملية انتقال إلى هذه الواجهة بالتعاون مع Dockflow، على سبيل التحقق، لذا تواصل مع الدعم للتخطيط لها.

مثال عملي، بمفتاح وهمي:

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

تحتوي الاستجابة على المعرّف:

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

المعرّفات الصادرة عن Windward لا تُحلّ، لذا نفّذ upsert لكل شحنة مرة واحدة فقط. تُرشَّح القائمة حسب المعرّف ورقم الحاوية فقط. تُقبل وسيطتا sort وorderBy ويُتجاهَلان. لا يغطي ذلك فحص السفن والشركات. يحمل كل تسليم webhook ترويسة X-Dockflow-Signature.

خريطة الحقول الكاملة والتحقق من التوقيع: