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

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

نظرة عامة

أنشئ طلبات لبطاقات الهدايا والمنتجات الرقمية. تُسلَّم البطاقات رقمياً عبر endpoint الـ /checkOrder.
قبل الطلب: تحقق من المخزون عبر /checkProduct وتحقق من رصيد الحساب.

جسم الطلب

productId
string
مطلوب
معرف المنتج من /catalog
typeId
string
مطلوب
معرف النوع من /checkProduct
quantity
integer
مطلوب
عدد البطاقات للطلب (الحد الأدنى: 1)

أمثلة

curl https://api.oneclickdz.com/v3/gift-cards/placeOrder \
  -X POST \
  -H "Content-Type: application/json" \
  -H "X-Access-Token: YOUR_API_KEY" \
  -d '{
    "productId": "507f1f77bcf86cd799439011",
    "typeId": "type_001",
    "quantity": 2
  }'

استجابة النجاح

{
  "success": true,
  "data": {
    "orderId": "6901616fe9e88196b4eb64b3"
  },
  "meta": {
    "timestamp": "2025-10-29T01:00:00.000Z"
  },
  "requestId": "req_1730163600_abc123"
}

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

1

التحقق من المخزون

const product = await checkProduct(productId);
const type = product.types.find(t => t.id === typeId);
if (!type || type.quantity < quantity) {
  throw new Error('Insufficient stock');
}
2

التحقق من الرصيد

const balance = await getBalance();
const totalCost = type.price * quantity;
if (balance < totalCost) {
  throw new Error('Insufficient balance');
}
3

تقديم الطلب

const order = await placeOrder({ productId, typeId, quantity });
4

الاستعلام عن البطاقات

const result = await pollOrder(order.orderId);

ردود الخطأ

معاملات طلب غير صالحة
المنتج نفد من المخزون
رصيد غير كافٍ

المعالجة

الطلبات نهائية بمجرد تقديمها. احفظ orderId فوراً.
تُعالَج معظم الطلبات في غضون ثوانٍ. استعلم عن /checkOrder/:orderId كل 5 إلى 10 ثوانٍ حتى تصبح الحالة FULFILLED أو REFUNDED.

روابط ذات صلة

التحقق من الطلب

الحصول على البطاقات عند الاكتمال

التحقق من المنتج

التحقق من المخزون أولاً