الانتقال إلى المحتوى الرئيسي
GET
/
v3
/
gift-cards
/
checkOrder
/
{orderId}
التحقق من حالة الطلب
curl --request GET \
  --url https://api.oneclickdz.com/v3/gift-cards/checkOrder/{orderId} \
  --header 'X-Access-Token: <api-key>'

نظرة عامة

تحقق من حالة الطلب واسترجع أكواد البطاقات عند اكتمال الطلب.

معاملات المسار

orderId
string
مطلوب
معرف الطلب من استجابة /placeOrder

الاستجابة

data
object

أمثلة

curl https://api.oneclickdz.com/v3/gift-cards/checkOrder/6901616fe9e88196b4eb64b3 \
  -H "X-Access-Token: YOUR_API_KEY"

استجابة قيد المعالجة

{
  "success": true,
  "data": {
    "_id": "6901616fe9e88196b4eb64b3",
    "status": "HANDLING",
    "quantity": 2,
    "product": "507f1f77bcf86cd799439011",
    "type": "type_001",
    "time": "2025-10-29T01:00:00.000Z"
  }
}

استجابة عند الاكتمال

{
  "success": true,
  "data": {
    "_id": "6901616fe9e88196b4eb64b3",
    "status": "FULFILLED",
    "quantity": 2,
    "fulfilled_quantity": 2,
    "fulfilled_amount": 980,
    "price_per_card": 490,
    "cards": [
      {
        "value": "XXXX-XXXX-XXXX-XXXX",
        "serial": "123456789"
      },
      {
        "value": "YYYY-YYYY-YYYY-YYYY",
        "serial": "987654321"
      }
    ],
    "time": "2025-10-29T01:00:00.000Z"
  }
}

مثال الاستعلام الدوري

async function pollOrder(orderId) {
  const maxAttempts = 60;

  for (let i = 0; i < maxAttempts; i++) {
    const response = await fetch(
      `https://api.oneclickdz.com/v3/gift-cards/checkOrder/${orderId}`,
      { headers: { "X-Access-Token": process.env.API_KEY } }
    );

    const { data } = await response.json();

    if (["FULFILLED", "PARTIALLY_FILLED", "REFUNDED"].includes(data.status)) {
      return data;
    }

    await new Promise((resolve) => setTimeout(resolve, 5000));
  }

  throw new Error("Timeout");
}

معالجة الحالات

جميع البطاقات مُسلَّمة بنجاح
  • fulfilled_quantity === quantity
  • جميع البطاقات متاحة في مصفوفة cards
  • سلِّمها للعميل
بعض البطاقات مُسلَّمة، والباقي ملغى
  • fulfilled_quantity < quantity
  • صدر استرداد جزئي
  • سلِّم البطاقات المتاحة
  • أعِد الفرق للعميل

روابط ذات صلة

تقديم طلب

إنشاء طلب جديد

قائمة الطلبات

عرض جميع الطلبات