واجهة برمجة شريك الشحن API · الإصدار 1

واجهة برمجة تطبيقات Pigee لشركاء الشحن

اربط خدمات الشحن العالمية متعددة الناقلين، والتخليص الجمركي الآلي، وتتبع الشحنات لحظيًا، وتحصيل المدفوعات بأنظمتك الخاصة، من خلال واجهة برمجة تطبيقات REST واحدة. تناسب وكلاء الشحن، ومزودي الخدمات اللوجستية من الطرف الثالث (3PL)، ومنصات التجارة الإلكترونية، وحلول التكامل المخصصة للتنفيذ.

REST
JSON
190+ دولة
200+ ناقل
135+ عملة
⚡

أسعار مباشرة من عدة شركات شحن

DHL وFedEx وUPS وAramex وParcelforce وأكثر من 200 شركة شحن محلية، كل ذلك في طلب POST واحد. يعيد أسعارًا مرتبة مع مدة النقل والتكلفة الإجمالية للتسليم.

🤖

أتمتة جمركية بالذكاء الاصطناعي

تصنيف تلقائي لرموز HS من كتالوج منتجاتك. فواتير تجارية وإقرارات جمركية ورسوم محسوبة لكل وجهة.

💳

تحصيل الدفع عبر Pigee Pay

شارك رابط دفع أو أدمج صفحة الدفع مباشرة. حصّل من عملائك النهائيين بأكثر من 135 عملة وسوّ الحسابات إلى بنكك بعملتك المحلية.

📡

إشعارات ويب لحظية

استقبل shipment.created, payment.received, parcel.delivered وأحداثًا أخرى تُرسل إلى نقطتك الطرفية فورًا.

🏷️

الملصقات والفواتير

ملصقات PDF وفواتير تجارية تُنشأ تلقائيًا عند إنشاء الطلب. دون الحاجة إلى بوابات الناقلين.

💰

رسوم خدمة مخصصة

أضف هامش ربح خاصًا بك، نسبة مئوية أو رسمًا ثابتًا، فوق أسعار Pigee الأساسية لكل ناقل أو مسار أو بشكل عام.

بداية سريعة

من إنشاء الحساب إلى أول شحنة فعلية لك في أقل من ساعة. اتبع هذه الخطوات الخمس:

  1. أنشئ حساب Pigee مجانيًا على account.pigeepost.com واختر شريك الشحن كنوع حسابك.
  2. اذهب إلى لوحة التحكم ← المطورون ← مفاتيح API وأنشئ مفتاحًا فعليًا ومفتاحًا تجريبيًا.
  3. اختر وضع الدفع الخاص بك: Pigee Pay أو رصيد حساب Pigee.
  4. اضبط رسوم خدمتك في لوحة التحكم ← الرسوم.
  5. استورد مجموعة Postman لتطوير بيئة الاختبار.
💡
نصيحة: تُحاكي بيئة Postman التجريبية بيئة الإنتاج باستخدام ناقلين وهميين وأحداث جمركية ومدفوعات صورية. لا تُجرى أي رسوم فعلية.

المصادقة

يجب أن يتضمن كل طلب مفتاح API الخاص بك في ترويسة Authorization كـ رمز Bearer. المفاتيح مرتبطة بحساب شريكك وتحمل إعدادات رسومك ووضع الدفع الخاص بك.

ترويسة HTTP
Authorization: Bearer pgk_live_YOUR_API_KEY_HERE

أنواع المفاتيح

البادئةالبيئةالوصف
pgk_live_…فعليشحنات حقيقية ورسوم حقيقية.
pgk_test_…تجريبيبيئة اختبار فقط. بلا رسوم، واستجابات شركات شحن اصطناعية، وآمنة للاستخدام مع CI/CD.
⚠️
الأمان: لا تكشف مفتاح API الخاص بك أبدًا من جهة العميل أو في المستودعات العامة. أعد إنشاء أي مفتاح مخترق فورًا من لوحة التحكم الخاصة بك.

البيئات وعناوين URL الأساسية

بيئة الإنتاجhttps://api.pigeepost.comفعلي
بيئة الاختبارhttps://sandbox.api.pigeepost.comتجريبي

بيئة الاختبار هي نسخة مطابقة تمامًا لبيئة الإنتاج. يمكنك التبديل بين البيئتين عبر تغيير بادئة مفتاحك، أو استخدام رابط بيئة الاختبار الصريح لمزيد من الوضوح.

ℹ️
إصدار الواجهة البرمجية: جميع نقاط النهاية تعمل حاليًا على v1. الإصدار جزء من المسار: /api/v1/….

حزم SDK والمكتبات

توفر حزم SDK الرسمية غلافًا لواجهة REST البرمجية يتضمن نماذج مصنّفة، وإعادة محاولة تلقائية، وأدوات مساعدة لبيئة الاختبار.

🟨 JavaScript / Node.js
🐍 Python
🐘 PHP
📱 iOS Swift
🤖 Android Kotlin
🛒 إضافة WooCommerce
🛍️ تطبيق Shopify
📮 مجموعة Postman

التحقق من مفتاح API

استدعِ نقطة النهاية هذه للتأكد من أن مفتاح API الخاص بك نشط ومُهيأ بشكل صحيح قبل الانتقال إلى بيئة الإنتاج.

POST/api/v1/store/valid200 OK
يتحقق من مفتاح API الخاص بك ويعيد تفاصيل حساب الشريك.
الطلب
POST /api/v1/store/valid
Authorization: Bearer pgk_live_…
Content-Type: application/json

{
  "store_type": 2,
  "api_key": "pgk_live_YOUR_KEY"
}
الاستجابة 200
{
  "valid": true,
  "account": {
    "id": "acc_7H4K",
    "type": "shipping_partner",
    "payment_mode": "pigee_pay",
    "service_fee_pct": 8.5,
    "balance_gbp": 240.00
  }
}

الحصول على أسعار الشحن

احصل على أسعار شركات الشحن المباشرة لشحنة ما. يعيد جميع الخدمات المتاحة مرتبة حسب السعر، بما في ذلك وقت النقل، ودعم القيمة المؤمَّن عليها، والتكلفة الإجمالية شاملة الرسوم.

POST/api/v1/store/order/getcarriercost200 OK
يعيد مصفوفة من خيارات شركات الشحن المتاحة مع الأسعار، وتقديرات مدة النقل، و carrier_request_id لاستخدامه عند إنشاء الطلب.
محتوى الطلب
{
  "shop_url": "https://your-store.com",
  "currency": "GBP",
  "parcel": {
    "type": "Box",
    "boxsize": 4
  },
  "weight": { "value": 4, "units": "kg" },
  "dimension": {
    "length": 40,
    "width": 30,
    "height": 20,
    "units": "cms"
  },
  "address": {
    "pickup": {
      "address_line1": "10 High Street",
      "town": "London",
      "post_code": "SW1A 1AA",
      "country": "United Kingdom"
    },
    "destination": {
      "address_line1": "123 Ocean Drive",
      "town": "Miami",
      "post_code": "33101",
      "country": "United States"
    }
  }
}
الاستجابة 200
{
  "rates": [
    {
      "carrier_request_id": "cr_abc123",
      "carrier_id": "dhl",
      "pigee_carrier_id": "DHL_EXPRESS_WORLDWIDE",
      "method_title": "DHL Express Worldwide",
      "price": 125.50,
      "currency": "GBP",
      "transit_days": 2,
      "insurance_available": true,
      "customs_included": true
    }
  ],
  "currency": "GBP",
  "request_id": "req_7H4K2026"
}

معاملات الطلب

الحقلنظاممطلوبالوصف
shop_urlنصي (string)مطلوبرابط متجرك أو منصتك.
العملةنصي (string)مطلوبرمز العملة وفق معيار ISO 4217.
parcel.typeنصي (string)مطلوبBox | Bag | Tube | Pallet
parcel.boxsizeرقم صحيح (integer)مطلوبفئة الحجم من 1 إلى 6.
weight.valueرقممطلوبالوزن الفعلي للطرد.
weight.unitsنصي (string)مطلوبkg | lbs
البعدكائناختياريالطول والعرض والارتفاع والوحدات.
address.pickupكائنمطلوبعنوان المُرسِل.
address.destinationكائنمطلوبعنوان المُستلِم.

إنشاء طلب

أنشئ طلب Pigee باستخدام carrier_request_id من نقطة نهاية الأسعار. يُنشئ Pigee بوليصة الشحن والفاتورة التجارية، وإن كنت تستخدم Pigee Pay، رابط دفع مُستضاف.

ℹ️
وضع الدفع يُحدَّد من لوحة التحكم الخاصة بك، وليس في هذا الطلب.
POST/api/v1/store/order/create200 OK
ينشئ شحنة ويُعيد رقم طلب Pigee ورابط البوليصة ورابط الدفع المُستضاف إن لزم الأمر.
محتوى الطلب
{
  "order_from": "api",
  "shop_url": "https://your-store.com",
  "order_id": "ORDER-10001",
  "currency": "GBP",
  "items": [
    {
      "name": "Vintage leather jacket",
      "quantity": 1,
      "value": 600.00,
      "currency": "GBP",
      "hs_code": "4203100090"
    }
  ],
  "shippingData": {
    "method_title": "DHL Express Worldwide",
    "cost": 125.50,
    "currency": "GBP",
    "meta_data": {
      "carrier_request_id": "cr_abc123",
      "carrier_id": "dhl",
      "pigee_carrier_id": "DHL_EXPRESS_WORLDWIDE"
    }
  }
}
الاستجابة 200
{
  "order_id": "po_78910",
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "status": "pending_payment",
  "payment_url": "https://pay.pigee.com/c/abc123",
  "label_url": null,
  "tracking_number": null
}

تنفيذ الطلب

أرسل تفاصيل التنفيذ النهائية بمجرد تأكيد الدفع. يُنشئ Pigee بوليصة الشحن ويحجز الناقل ويُعيد رقم التتبع.

POST/api/v1/store/order/fulfill200 OK
يُفعّل إنشاء البوليصة وحجز الناقل.
محتوى الطلب
{
  "order_id": "po_78910",
  "status": "processing",
  "shop_id": "https://your-store.com",
  "currency": "GBP",
  "total": 725.50,
  "shipping_total": 125.50
}
الاستجابة 200
{
  "order_id": "po_78910",
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "status": "booked",
  "label_url": "https://labels.pigeepost.com/PGE-7H4K-2026-0042.pdf",
  "tracking_number": "1234567890",
  "carrier": "DHL",
  "estimated_delivery": "2026-05-08"
}

التتبع

استرجع أحداث التتبع الحيّة لأي شحنة أُنشئت عبر واجهة برمجة التطبيقات.

GET/api/v1/tracking/{pigee_order_id}200 OK
يُعيد سجل تتبع موحّد للشحنة.
الاستجابة 200
{
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "tracking_number": "1234567890",
  "carrier": "DHL",
  "status": "in_transit",
  "estimated_delivery": "2026-05-08",
  "events": [
    {
      "timestamp": "2026-05-06T08:14:00Z",
      "status": "in_transit",
      "location": "DHL Hub, Leipzig",
      "description": "Shipment in transit"
    }
  ]
}

طرق الدفع

يدعم Pigee وضعين للدفع. يُحدَّد الوضع المُفعّل في لوحة تحكم الشريك ويُطبَّق على جميع الطلبات.

الوضعكيف يعملالأنسب لـ
Pigee Payيستضيف Pigee صفحة دفع. يُعيد إنشاء الطلب payment_url.تكاملات التجارة الإلكترونية والأسواق الرقمية.
رصيد الحسابتُخصم تكلفة الشحنة من رصيد Pigee المُموَّل مسبقًا.وكلاء الشحن ومقدمو الخدمات اللوجستية الخارجية (3PL) والشركاء ذوو الحجم المرتفع.

رسوم الخدمة

بصفتك شريك شحن، يمكنك إضافة رسومك الخاصة فوق أسعار الناقل الأساسية لدى Pigee. تُضبط الرسوم من لوحة التحكم وتُطبَّق تلقائيًا قبل إعادة الأسعار.

  • رسوم نسبية: تُطبَّق كنسبة مئوية من تكلفة الناقل الأساسية.
  • رسوم ثابتة: مبلغ مقطوع يُضاف لكل شحنة.
  • استثناءات حسب المسار: تجاوز الرسوم العامة لأزواج محددة من نقطتي المنشأ والوجهة.

التسويات وأسعار الصرف

يقوم Pigee Pay بالتحصيل من العملاء النهائيين بأكثر من 135 عملة ويُسوّي المبالغ إلى حسابك المصرفي بعملتك المحلية.

  • عادةً ما تكون دورة التسوية خلال T+2 يوم عمل بعد تأكيد تسليم الشحنة.
  • اسحب من رصيد Pigee الخاص بك عبر لوحة التحكم.
  • سجلات المعاملات التفصيلية متاحة ضمن المالية ← التسويات.
  • تُنشأ فواتير المعاملات المُسوَّاة تلقائيًا وتكون متاحة بصيغة PDF.

Webhooks

يرسل Pigee أحداثًا فورية إلى نقطة النهاية HTTPS الخاصة بك على شكل طلبات JSON POST طلبات. اضبط رابط الويب هوك الخاص بك في لوحة التحكم ← المطوّرون ← Webhooks.

نموذج بيانات Webhook
{
  "event": "parcel.delivered",
  "created_at": "2026-05-08T14:22:07Z",
  "api_version": "v1",
  "data": {
    "pigee_order_id": "PGE-7H4K-2026-0042",
    "order_id": "ORDER-10001",
    "carrier": "DHL",
    "tracking_number": "1234567890",
    "delivered_at": "2026-05-08T14:18:00Z"
  }
}

مرجع أحداث الويب هوك

shipment.createdتم تأكيد الطلب، وحجز شركة الشحن، وإصدار بوليصة الشحن.shipment
payment.receivedأتم العميل الدفع عبر Pigee Pay.payment
payment.failedانتهت صلاحية عملية الدفع عبر Pigee Pay أو تم رفضها.payment
parcel.collectedقامت شركة الشحن باستلام الطرد من المرسل.tracking
parcel.in_transitتم مسح الطرد عند مركز عبور.tracking
parcel.customs_holdالطرد محتجز لدى الجمارك.customs
parcel.customs_clearedتم استكمال التخليص الجمركي.customs
parcel.out_for_deliveryتم تحميل الطرد على مركبة التوصيل النهائي.tracking
parcel.deliveredتم تأكيد التسليم.tracking
parcel.delivery_failedفشلت محاولة التسليم.tracking
parcel.returnedتم إعادة الطرد إلى المرسل.tracking
settlement.completedتمت تسوية الأموال إلى حسابك المصرفي.payment

توقيعات الويب هوك

يتضمن كل طلب ويب هوك X-Pigee-Signature وهو عبارة عن بصمة HMAC-SHA256 لنص الطلب الخام. تحقّق من هذا دائمًا قبل المعالجة.

مثال التحقق بلغة Node.js
// Node.js
const crypto = require('crypto');

function verifyPigeeWebhook(rawBody, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(expected, 'hex'),
    Buffer.from(signature, 'hex')
  );
}
⚠️
الاستخدام مقارنة آمنة زمنيًا لمنع هجمات التوقيت. ارفض أي ويب هوك لا يتطابق توقيعه.

الأخطاء

تُعيد جميع الأخطاء استجابة JSON تحتوي على كائن error يتضمن رمزًا قابلًا للقراءة آليًا code ورسالة قابلة للقراءة من قبل الإنسان message.

استجابة الخطأ
{
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Your Pigee partner balance is not sufficient to create this shipment.",
    "request_id": "req_7H4K2026"
  }
}
HTTPرمز الخطأالمعنى وطريقة الحل
400INVALID_REQUESTحقل مفقود أو غير صحيح الصياغة.
401INVALID_API_KEYالمفتاح مفقود أو غير صحيح أو ملغى.
402INSUFFICIENT_BALANCEرصيد الحساب منخفض جدًا.
403FORBIDDENنوع الحساب لا يملك صلاحية الوصول إلى هذه النقطة الطرفية.
404ORDER_NOT_FOUNDلم يتم العثور على طلب بهذا المعرّف.
409ORDER_ALREADY_FULFILLEDتم تنفيذ الطلب بالفعل.
422INVALID_ADDRESSتعذّر التحقق من صحة العنوان.
422CARRIER_UNAVAILABLEلا تتوفر خدمات ناقل لهذا المسار.
422RATE_EXPIREDcarrier_request_id منتهي الصلاحية. يُرجى جلب الأسعار مجددًا.
429RATE_LIMITEDعدد كبير جدًا من الطلبات. يُرجى التمهّل والمحاولة لاحقًا.
500INTERNAL_ERRORخطأ من جانب Pigee. يُرجى إعادة المحاولة تدريجيًا.
503CARRIER_TIMEOUTانتهت مهلة واجهة برمجة تطبيقات الناقل.

حدود المعدل

تُطبَّق حدود معدل الطلبات لكل مفتاح API وتتفاوت حسب فئة حسابك.

فئة الحسابالطلبات / الدقيقةالطلبات / اليوم
تجربة مجانية601,000
شريك الشحن المباشر30050,000
المؤسساتمخصصمخصص

عند بلوغ حد معدل الطلبات، تُعيد واجهة برمجة التطبيقات HTTP 429 مع Retry-After ترويسة.

أنواع البيانات والاصطلاحات

  • التواريخ والأوقات - بصيغة ISO 8601 بالتوقيت العالمي المنسق، مثل 2026-05-06T14:22:07Z
  • العملات - رموز مكونة من ثلاثة أحرف وفق ISO 4217، مثل GBP, USD, NGN
  • القيم المالية - number بخانتين عشريتين، مقترنة دائمًا بحقل currency حقل
  • أسماء الدول - الأسماء الكاملة باللغة الإنجليزية، مثل "United Kingdom", "United States"
  • أرقام الهواتف - يُنصح باستخدام صيغة E.164، مثل +447700900123
  • الأوزان - kg أو lbs مُحدَّدة لكل طلب
  • المعرّفات - تستخدم المعرّفات الصادرة عن Pigee صيغة بادئة، مثل po_78910, cr_abc123

دليل معرّفات الناقلين

الاستخدام pigee_carrier_id القيم من استجابة الأسعار عند إنشاء الطلبات.

carrier_idمثال على pigee_carrier_idالمنطقة
دي إتش إلDHL_EXPRESS_WORLDWIDE, DHL_EXPRESS_12عالمي
fedexFEDEX_INTERNATIONAL_PRIORITY, FEDEX_INTERNATIONAL_ECONOMYعالمي
upsUPS_WORLDWIDE_EXPRESS, UPS_WORLDWIDE_EXPEDITEDعالمي
aramexARAMEX_EXPRESS, ARAMEX_ECONOMYالشرق الأوسط وشمال أفريقيا، أفريقيا، آسيا
parcelforcePARCELFORCE_EXPRESS24, PARCELFORCE_GLOBAL_EXPRESSالمملكة المتحدة والدولي
teleportTELEPORT_STANDARDجنوب شرق آسيا
local_*local_5b3, local_8acإقليمي، يُعاد ديناميكيًا

سجل التغييرات

الإصدار 1.3 - مايو 2026

  • تمت إضافة insurance_available و customs_included أعلام إلى استجابة الأسعار.
  • يعتمد التحقق من توقيع الـ Webhook الآن على HMAC-SHA256.
  • رمز خطأ جديد RATE_EXPIRED.
  • تمت إضافة نقطة نهاية للتتبع: GET /api/v1/tracking/{pigee_order_id}.

الإصدار 1.2 - فبراير 2026

  • تمت إضافة إمكانية تجاوز رسوم الخدمة لكل مسار في لوحة التحكم.
  • روابط الدفع في Pigee Pay تتضمن الآن حقل expires_at .
  • تمت إضافة أحداث Webhook جديدة للجمارك والتسويات.

الإصدار 1.1 - أكتوبر 2025

  • نشر مجموعة Postman الأولية.
  • إطلاق بيئة الاختبار Sandbox.
  • إصدار وضع الدفع برصيد الحساب.

الإصدار 1.0 - يونيو 2025

  • الإصدار العام الأولي: التحقق، الحصول على الأسعار، إنشاء الطلب، تنفيذ الطلب.
🚀 تحسين محركات البحث بواسطة Pigee