الانتقال إلى المحتوى الرئيسي
GET
/
v3
/
internet
/
check-number
التحقق من رقم الهاتف
curl --request GET \
  --url https://api.oneclickdz.com/v3/internet/check-number \
  --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.

نظرة عامة

يتحقق من أرقام الهاتف لخدمات ADSL أو 4G قبل الإرسال. يساعد في منع الأخطاء وتقليل طلبات الاسترداد.
تحقق دائماً من أرقام الهاتف قبل إرسال طلبات الشحن لتقليل حالات الفشل.

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

type
string
مطلوب
نوع الخدمة: ADSL أو 4G
number
string
مطلوب
رقم الهاتف للتحقق منه - ADSL: 0[0-9]{8} (مثال: 036362608) - 4G: 213[0-9]{9} (مثال: 213472731602)

الاستجابة

رقم ADSL صالح

{
  "success": true,
  "data": {
    "ncli": "11022*****",
    "offre": "FTTc-b_10M'",
    "type": "ADSL"
  },
  "meta": {
    "timestamp": "2025-10-29T00:36:48.823Z"
  }
}

رقم 4G صالح

{
  "success": true,
  "data": {
    "ncli": "11034*****",
    "type": "4GLTE"
  },
  "meta": {
    "timestamp": "2025-10-29T00:36:49.847Z"
  }
}

رقم غير صالح

{
  "success": false,
  "error": {
    "code": "ERR_PHONE",
    "message": "Invalid phone number for ADSL service",
    "details": {
      "number": "123456",
      "type": "ADSL",
      "reason": "Number does not match required format"
    }
  }
}

أمثلة

curl "https://api.oneclickdz.com/v3/internet/check-number?type=ADSL&number=036362608" \
  -H "X-Access-Token: YOUR_API_KEY"

تنسيقات أرقام الهاتف

التنسيق: 0[0-9]{8} أمثلة صالحة: - ✅ 036362608 - ✅ 031417237 - ✅ 021123456 أمثلة غير صالحة: - ❌ 36362608 (يفتقد 0 في البداية) - ❌ 0363626081 (طويل جداً) - ❌ 213636362608 (تنسيق خاطئ)

مثال على التكامل

// Complete validation flow
async function prepareInternetTopup(type, number, value) {
  // Step 1: Validate number
  try {
    await validateNumber(type, number);
  } catch (error) {
    return {
      success: false,
      error: "Invalid phone number",
      details: error.message,
    };
  }

  // Step 2: Check product availability
  const products = await getProducts(type);
  const product = products.find((p) => p.value === value && p.available);

  if (!product) {
    return {
      success: false,
      error: "Product not available",
    };
  }

  // Step 3: Send top-up
  return await sendInternetTopup({ type, number, value });
}

لماذا نتحقق؟

تقليل الأخطاء

اكتشف الأرقام غير الصالحة قبل الإرسال

تجربة مستخدم أفضل

أظهر تغذية راجعة فورية للمستخدمين

أقل استرداد

قلّل المعاملات الفاشلة والمستردة

التحقق من التنسيق

تأكد من تطابق الرقم مع نوع الخدمة

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

تحقق من التنسيق من جانب العميل أولاً، ثم أكِّد عبر API:
function validateADSLFormat(number) {
  return /^0[0-9]{8}$/.test(number);
}

function validate4GFormat(number) {
  return /^213[0-9]{9}$/.test(number);
}
اعرض رسائل واضحة عند فشل التحقق: - “يرجى إدخال رقم ADSL صالح (مثال: 036362608)” - “أرقام 4G يجب أن تبدأ بـ 213 (مثال: 213665983439)” - “تنسيق الرقم: 9 أرقام تبدأ بـ 0”
خزِّن عمليات التحقق الناجحة لفترة قصيرة:
const validationCache = new Map();

async function validateWithCache(type, number) {
  const key = `${type}:${number}`;

  if (validationCache.has(key)) {
    return validationCache.get(key);
  }

  const result = await validateNumber(type, number);
  validationCache.set(key, result);

  // Clear after 5 minutes
  setTimeout(() => validationCache.delete(key), 5 * 60 * 1000);

  return result;
}

الـ Endpoints المرتبطة

قائمة المنتجات

احصل على البطاقات المتاحة

إرسال شحن

شراء بطاقة إنترنت