التوثيق

API الشحن

توثيق endpoints الشحن والتوصيل مع OTO في منصة مُلكم

واجهة برمجة الشحن تتيح لك انشاء شحنات، حساب تكلفة التوصيل، وتتبع الطرود عبر OTO.

oto-create-shipment

انشاء شحنة جديدة.

Method: POST

URL: /functions/v1/oto-create-shipment

Body:

{
  "order_id": "ORD-001",
  "sender": {
    "name": "متجر مُلكم",
    "phone": "966500000000",
    "city": "الرياض",
    "address": "حي العليا، شارع التحلية"
  },
  "receiver": {
    "name": "احمد محمد",
    "phone": "966500000001",
    "city": "جدة",
    "address": "حي الصفا، شارع فلسطين"
  },
  "package": {
    "weight": 2,
    "length": 30,
    "width": 20,
    "height": 15,
    "description": "ملابس"
  }
}

Response (200):

{
  "shipment_id": "OTO-12345",
  "tracking_number": "TR-67890",
  "tracking_url": "https://tracking.oto.sa/TR-67890",
  "estimated_delivery": "2026-04-17"
}

oto-get-delivery-fees

حساب تكلفة الشحن قبل انشاء الشحنة.

Method: POST

URL: /functions/v1/oto-get-delivery-fees

Body:

{
  "from_city": "الرياض",
  "to_city": "جدة",
  "weight": 2
}

Response (200):

{
  "fees": 25,
  "currency": "SAR",
  "estimated_days": 3
}

oto-track-shipment

تتبع حالة الشحنة.

Method: POST

URL: /functions/v1/oto-track-shipment

Body:

{
  "tracking_number": "TR-67890"
}

Response (200):

{
  "status": "IN_TRANSIT",
  "events": [
    { "date": "2026-04-14T10:00:00Z", "status": "PICKED_UP", "location": "الرياض" },
    { "date": "2026-04-15T08:00:00Z", "status": "IN_TRANSIT", "location": "في الطريق" }
  ]
}

حالات الشحنة:

الحالةالوصف
CREATEDتم انشاء الشحنة
PICKED_UPتم الاستلام من التاجر
IN_TRANSITفي الطريق
OUT_FOR_DELIVERYخارج للتوصيل
DELIVEREDتم التوصيل
RETURNEDتم الارجاع

oto-webhook

يستقبل تحديثات حالة الشحن من OTO تلقائيًا.

Method: POST

URL: /functions/v1/oto-webhook

يتم تحديث حالة الطلب في قاعدة البيانات وارسال اشعار للعميل تلقائيًا.


test-oto-connection

اختبار صحة اتصال OTO.

Method: POST

URL: /functions/v1/test-oto-connection

Response (200):

{
  "success": true,
  "message": "OTO connection successful"
}

On this page