الانتقال إلى المحتوى الرئيسي

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.

نظرة عامة

أفضل الممارسات للاستعلام عن الـ endpoints لتتبع حالة الطلبات بكفاءة.

نمط الاستعلام الأساسي

async function pollStatus(checkFunction, options = {}) {
  const {
    maxAttempts = 60,
    interval = 5000,
    finalStates = ["FULFILLED", "REFUNDED"],
  } = options;

  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
    const result = await checkFunction();

    if (finalStates.includes(result.status)) {
      return result;
    }

    if (attempt < maxAttempts) {
      await new Promise((resolve) => setTimeout(resolve, interval));
    }
  }

  throw new Error("Polling timeout");
}

// Usage
const result = await pollStatus(() => checkTopupStatus(topupId), {
  maxAttempts: 60,
  interval: 5000,
});

الاستعلام الخاص بكل خدمة

شحن الهاتف المحمول (بحد أقصى 5 دقائق)

async function pollMobileTopup(topupId) {
  return await pollStatus(() => checkMobileStatus(topupId), {
    maxAttempts: 60,
    interval: 5000,
    finalStates: ["FULFILLED", "REFUNDED", "UNKNOWN_ERROR"],
  });
}

شحن الإنترنت (بحد أقصى 5 دقائق)

async function pollInternetTopup(topupId) {
  return await pollStatus(() => checkInternetStatus(topupId), {
    maxAttempts: 60,
    interval: 5000,
    finalStates: ["FULFILLED", "REFUNDED", "QUEUED"],
  });
}

بطاقات الهدايا (بحد أقصى 10 دقائق)

async function pollGiftCardOrder(orderId) {
  return await pollStatus(() => checkGiftCardOrder(orderId), {
    maxAttempts: 120,
    interval: 5000,
    finalStates: ["FULFILLED", "PARTIALLY_FILLED", "REFUNDED"],
  });
}

أفضل الممارسات

تعيين المهلة الزمنية

حدِّد دائماً مدة استعلام قصوى

معالجة الأخطاء

التقط وتعامل مع انتهاء مهلة الاستعلام

تسجيل التقدم

تتبع محاولات الاستعلام لأغراض التصحيح

الحالات النهائية

حدِّد حالات نهائية واضحة

الإعدادات الموصى بها

الخدمةالفاصل الزمنيالمدة القصوىالحالات النهائية
الجوال5 ثوانٍ5 دقائقFULFILLED, REFUNDED, UNKNOWN_ERROR
الإنترنت5 ثوانٍ5 دقائقFULFILLED, REFUNDED, QUEUED
بطاقات الهدايا5 ثوانٍ10 دقائقFULFILLED, PARTIALLY_FILLED, REFUNDED

روابط ذات صلة

دليل شحن الجوال

سير عمل تكامل الجوال الكامل

معالجة الأخطاء

معالجة الأخطاء بشكل صحيح

Webhooks

إشعارات الحالة في الوقت الفعلي

أفضل الممارسات

أفضل ممارسات الأمان