ڈیولپرز

GET/v3/getnumbers/{prefix_id}/{quantity}

دستیاب فون نمبر تلاش کریں

کیٹلاگ کے کسی ایک سابقے میں تلاش کریں، نمبروں کی صلاحیتوں اور اپنے اکاؤنٹ کے مخصوص قیمت منصوبوں کا جائزہ لیں، پھر الگ آرڈر کے لیے نمبر منتخب کریں۔ تلاش کرنے سے کوئی نمبر محفوظ یا خریدا نہیں جاتا۔

اس صفحے پر
  1. ایک انفرادی سابقہ منتخب کریں
  2. محدود تعداد میں نتائج دیکھیں
  3. ہندسوں کی یاد رہنے والی ترتیب تلاش کریں
  4. منتخب نمبر کا جائزہ لیں
  5. الگ آرڈر دیں اور نتیجے کی تصدیق کریں
  6. درخواست
  7. جواب
  8. خرابیاں
  9. دستیابی اور ضمنی اثرات

ایک انفرادی سابقہ منتخب کریں

ممالک اور کوریج کے علاقوں کی معلومات حاصل کرنے والی کالز استعمال کریں، پھر getprefixes کو گروپ بندی کے بغیر استعمال کریں۔ منتخب سابقے سے نقل کریں: uuid۔ اگر returns_numbers کی قدر 0 ہو تو اس سابقے کے لیے آرڈر دیتے وقت نمبر تفویض ہوتا ہے؛ جواب میں ملنے والا next_function استعمال کریں، انفرادی نمبروں کی فہرست کو لازمی نہ سمجھیں۔

محدود تعداد میں نتائج دیکھیں

عام تلاش کے لیے استعمال کریں: compact=1، اور نتائج کی مطلوبہ تعداد پاتھ اور quantity کی استفساری قدر، دونوں میں درج کریں، جیسا کہ نیچے دکھایا گیا ہے۔ صفحے یا کرسر کا کوئی پیرامیٹر نہیں ہے۔ مختصر نتیجہ ایک نمونہ ہوتا ہے؛ درخواست دہرانے سے یہ ضمانت نہیں ملتی کہ اگلے صفحے میں پہلے سے مختلف نتائج ہوں گے۔ خالی یا کم نتائج کو دستیاب نمبروں کی کل تعداد نہ سمجھیں۔

ہندسوں کی یاد رہنے والی ترتیب تلاش کریں

درج کریں: number_filter_mode=contains یا ends_with، اور اس کے ساتھ number_filter_value بھی دیں۔ قدر میں 1–15 ہندسے ہونا ضروری ہیں۔ تلاش فلٹر لگانے سے پہلے ممکنہ نمبروں کے محدود مجموعے حاصل کر سکتی ہے، اس لیے شرائط پر پورے اترنے والے دیگر دستیاب نمبر رہ سکتے ہیں۔ اگر مطلوبہ تلاش انجام دینے کے لیے آپ کو اس کی معاونت کرنے والا ماخذ درکار ہو تو ایک pid سلیکٹر MultiTEL سے حاصل کریں اور استعمال کریں: filter_required=1؛ انتخاب موجود نہ ہو یا اس کی معاونت نہ ہو تو API خرابی لوٹاتی ہے۔

منتخب نمبر کا جائزہ لیں

یہ معلومات پڑھیں: number، info.uuid، منتخب price[].uuid، دستیاب خصوصیات کے نام اور رجسٹریشن کے تقاضے، سب اسی نتیجے سے حاصل کریں۔ price کی صف میں متعدد منصوبے ہو سکتے ہیں جن میں چینلز کی تعداد اور نرخ مختلف ہوں۔ مالی قدریں اور تعدادیں متنی سلسلوں کی صورت میں بھی انکوڈ ہو سکتی ہیں۔ اختیاری میٹاڈیٹا، جس میں info.state بھی شامل ہے، مختلف ماخذوں میں مختلف ہوتا ہے؛ ریاست کی معلومات کے لیے ایک ہی ہمہ گیر ساخت لازم نہ سمجھیں اور کسی شناختی قدر سے قیمتیں اخذ نہ کریں۔

غیر اسٹریمنگ طریقۂ کار میں ممکنہ نمبروں سے تکرار ہٹائی جاتی ہے اور مختلف ماخذوں کے درمیان مختص کرنے کا عمل ہوتا ہے، پھر منتخب مجموعے کو پہلے منصوبے کی ماہانہ قیمت کے مطابق ترتیب دیا جاتا ہے۔ دوسرے طریقۂ کار میں اسٹریمنگ پہلے شروع ہو سکتی ہے، اس لیے ہر درخواست کے لیے تمام نتائج کی یکساں ترتیب یا تکرار ہٹانے کی ضمانت نہیں ہے۔ ترتیب دینے سے یہ بھی ثابت نہیں ہوتا کہ موصولہ نمونے میں پورے کیٹلاگ کا سب سے سستا نمبر شامل ہے۔

الگ آرڈر دیں اور نتیجے کی تصدیق کریں

تلاش کرنے سے کوئی چیز خریدی یا محفوظ نہیں ہوتی۔ جواب میں ملنے والا نمبر اور منصوبے کی شناختی قدریں اسی اکاؤنٹ کے تحت آرڈر دینے کے عمل کے لیے سنبھال کر رکھیں۔ آرڈر جمع کرانے سے پہلے اصل منصوبے، تقاضوں اور اخراجات کا جائزہ لیں۔ رجسٹریشن کے تقاضوں سے فعالیت شروع ہونے میں تاخیر ہو سکتی ہے؛ تلاش کا نتیجہ فعالیت شروع ہونے کی کوئی مقررہ آخری مدت طے نہیں کرتا۔

درخواست

فعال MultiTEL API اکاؤنٹ استعمال کریں: پاس ورڈ والے اکاؤنٹ کے لیے HTTP Basic اسناد، یا ٹوکن والے اکاؤنٹ کے ساتھ Authorization: Bearer استعمال کریں۔ اکاؤنٹ کی اجازتیں اور اس کی IP پابندیاں لاگو ہوتی ہیں۔ توثیق کی عمومی رہنمائی دیکھیں۔

پاتھ پیرامیٹرز اور URL کے استفساری پیرامیٹرز۔ عوامی تلاش کے عمل کے لیے GET استعمال کریں۔ ہینڈلر فارم یا درخواست کی کچھ مخصوص قدریں بھی قبول کرتا ہے، لیکن یہ JSON باڈی کے ذریعے تلاش کرنے والی API نہیں ہے۔

curl --fail-with-body --get \
  --user "${MULTITEL_API_USERNAME}:${MULTITEL_API_PASSWORD}" \
  --data-urlencode "compact=1" \
  --data-urlencode "quantity=10" \
  "https://api.multitel.net/v3/getnumbers/${PREFIX_ID}/10"
پاتھ پیرامیٹرز
نامقسملازمیتفصیل
prefix_idstringہاںگروپ بندی کے بغیر getprefixes کے جواب سے ملنے والی انفرادی سابقے کی شناختی قدر۔ اسے بعینہٖ نقل کریں؛ اس کی جگہ ملک، کوریج کے علاقے، گروپ شدہ سابقے یا قیمت منصوبے کی شناختی قدر استعمال نہ کریں۔
quantityintegerنہیںحاصل کرنے کی ہدفی تعداد، طے شدہ قدر 1 ہے۔ صفر یا منفی قدریں 1 بن جاتی ہیں۔ صرف پاتھ کی quantity مجموعی نتائج کی قابلِ اعتماد حد نہیں ہے: کسی مخصوص ماخذ تک محدود نہ کی گئی تلاش، quantity کے استفساری پیرامیٹر کے بغیر، حصول کا دائرہ بڑھا سکتی ہے اور دیگر کارروائی سے پہلے ہر ماخذ سے 50 تک اندراجات لوٹا سکتی ہے۔ معمول کے مطابق محدود نتائج دیکھنے کے لیے compact=1 استعمال کریں اور مطلوبہ تعداد استفسار میں بھی درج کریں، جیسا کہ مثال میں ہے۔
استفساری پیرامیٹرز
نامقسملازمیتفصیل
quantityintegerنہیںنتائج کے حتمی مجموعے کی مطلوبہ تعداد۔ غیر خالی قدروں کو صحیح اعداد میں تبدیل کیا جاتا ہے، جن کی کم از کم قدر 1 ہوتی ہے۔ کسی مخصوص ماخذ تک محدود نہ کیے گئے غیر اسٹریمنگ طریقۂ کار میں یہ حتمی تخصیص کی حد مقرر کرتی ہے۔ یہ سروس کو اتنے ہی نمبر تلاش کرنے کا پابند نہیں بناتی۔ کسی ماخذ تک محدود مختصر تلاشیں اس حد کے بجائے اس ماخذ کا مختصر مجموعہ لوٹا سکتی ہیں۔
compactstringنہیںچھوٹے غیر اسٹریمنگ جواب کے لیے 1، true یا on استعمال کریں؛ حتمی تخصیص سے پہلے ہر ماخذ سے 10 تک اندراجات ہوتے ہیں۔ نتائج اس وقت حاصل کیے گئے دستیاب نمبروں کا ایک نمونہ ہیں، مکمل کیٹلاگ نہیں۔
number_filter_modestringنہیںہندسوں کی ترتیب تلاش کرنے کا اختیاری طریقہ: contains یا ends_with۔ number_filter_value بھی دیں۔ نتائج کو فون نمبروں کے معیاری صورت میں لائے گئے ہندسوں سے ملا کر جانچا جاتا ہے؛ تلاش تمام دستیاب نمبروں کو ایک ایک کر کے نہیں دیکھتی، اس لیے ہر ممکن مماثلت ملنے کی ضمانت نہیں ہے۔
number_filter_valuestringنہیں1 سے 15 ہندسوں تک، بغیر خالی جگہوں، + یا رموزِ اوقاف کے۔ شروع کے صفر اہم ہیں؛ اسے متن کے طور پر بھیجیں۔
filter_requiredstringنہیںاعلیٰ ترتیبات: 1، true، yes یا on کے لیے ایسا دستیاب نمبروں کا ماخذ واضح طور پر منتخب ہونا ضروری ہے جو فلٹر کے طریقے کی معاونت کرتا ہو۔ ورنہ API، status.code کی قدر 422 لوٹاتی ہے۔ کیٹلاگ میں معمول کے مطابق نتائج دیکھنے کے لیے یہ ضروری نہیں ہے۔
pidstringنہیںMultiTEL کا فراہم کردہ، دستیاب نمبروں کے ماخذ کا اعلیٰ سلیکٹر۔ عددی صورتیں اور معاونت یافتہ 32 حروف والی ہیکساڈیسیمل صورتیں قبول ہوتی ہیں؛ غیر شناخت شدہ قدروں کو کسی اطلاع کے بغیر نظرانداز کر دیا جاتا ہے۔ معمول کے استعمال میں اسے شامل نہ کریں۔ قیمت کی شناختی قدروں سے سلیکٹر اخذ نہ کریں اور یہ فرض نہ کریں کہ کوئی من مانا سلیکٹر دستیاب نمبروں کو صرف اسی ماخذ تک محدود کرتا ہے۔

جواب

ایک JSON آبجیکٹ جس میں status اور response شامل ہوتے ہیں۔ کامیابی پر status.code کی قدر 200 ہوتی ہے اور response نمبروں کے اندراجات کی ایک صف ہوتی ہے۔ status.results موصولہ صف کے اندراجات کی تعداد ہے؛ اسٹریمنگ جواب میں status.msg کی قدر Results: N یا OK ہو سکتی ہے۔ compact=1 کے بغیر بعض تلاشیں response کی صف بتدریج لکھتی ہیں اور آخر میں status لکھتی ہیں، اس لیے مکمل JSON باڈی کا انتظار کریں۔ یہ نئی سطروں سے جدا کیا گیا JSON نہیں ہے۔ HTTP ترسیل کامیاب ہونے پر بھی status.code جانچیں۔ عام فیلڈز نیچے دکھائی گئی ہیں؛ ماخذ کے مخصوص میٹاڈیٹا اور اختیاری فیلڈز مختلف ہو سکتے ہیں۔ ہر شناختی قدر کو ایسی قدر سمجھیں جس کی ساخت سے کوئی مطلب اخذ نہیں کرنا چاہیے، اور نمبر اور اس کی منتخب price[].uuid کو ساتھ محفوظ رکھیں۔

جواب کی ساخت کی وضاحتی مثال؛ یہ اکاؤنٹ کا حقیقی موجودہ ڈیٹا یا موجودہ قیمت کی پیشکش نہیں ہے۔

{
  "status": {
    "code": 200,
    "msg": "Results: 1",
    "results": 1
  },
  "response": [
    {
      "number": "12125550123",
      "info": {
        "uuid": "NUMBER_ID_FROM_RESPONSE",
        "prefix_uuid": "PREFIX_ID_FROM_RESPONSE",
        "area_uuid": "AREA_ID_FROM_RESPONSE",
        "country_uuid": "COUNTRY_ID_FROM_RESPONSE",
        "country_iso": "US",
        "prefix": "+1212",
        "name": "Example area",
        "state": "US"
      },
      "price": [
        {
          "uuid": "PRICE_PLAN_ID_FROM_RESPONSE",
          "per_minute": "0.01",
          "per_sms": "0",
          "per_mms": "0",
          "free_minutes": "0",
          "setup_price": "1.00",
          "monthly_price": "2.00",
          "yearly_price": "0",
          "channels": "2"
        }
      ],
      "contract": {
        "term": "1 month",
        "renewal": "monthly",
        "notice": "none"
      },
      "restrictions": {
        "needs_registration": "0",
        "restrictions": ""
      },
      "features": [
        "voice"
      ],
      "overflow": "0"
    }
  ]
}

خرابیاں

  • 401: توثیق ناکام ہو گئی۔ غلط یا غیر موجود اسناد اور API اکاؤنٹ تک رسائی مسترد ہونے پر تلاش کے نتائج نہیں ملتے۔
  • 404: Invalid prefix ID، Invalid country، Invalid area، یا No numbers found۔ status.msg پڑھیں؛ خرابی کا جواب نمبروں کی صف نہیں ہوتا۔
  • 400: response.code میں NUMBER_FILTER_INVALID: غلط طریقہ، ایسی قدر جو 1–15 ہندسوں پر مشتمل نہ ہو، یا طریقہ اور قدر دونوں دیے بغیر filter_required کا استعمال۔
  • 422: response.code میں NUMBER_FILTER_UNSUPPORTED: یا تو سابقے کے لیے آرڈر دیتے وقت نمبر تفویض ہوتا ہے (reason=order_only_prefix اور next_function آرڈر کے راستے کی نشاندہی کرتا ہے)، یا واضح طور پر منتخب ماخذ مطلوبہ فلٹر کی معاونت نہیں کر سکتا۔

دستیابی اور ضمنی اثرات

  • یہ ہینڈلر تلاش کرتا اور قیمت کی پیشکشیں تیار کرتا ہے؛ یہ نمبر کا آرڈر جمع نہیں کراتا اور نہ ہی نمبر خریدنے کی رقم کاٹتا ہے۔ یہ کیٹلاگ کے کیش تازہ کر سکتا ہے، کیش میں موجود پرانے دستیاب نمبروں کو ہٹا سکتا ہے، اکاؤنٹ تک مخصوص قیمت منصوبے محفوظ کر سکتا ہے اور تلاش کے لاگز لکھ سکتا ہے۔
  • دستیابی کسی خاص لمحے کا نتیجہ ہے، ریزرویشن نہیں۔ بعد کا آرڈر ناکام ہو سکتا ہے یا اس میں دستیابی مختلف ہو سکتی ہے۔ خریداری دوبارہ آزمانے سے پہلے آرڈر کے نتیجے کا اپنے ریکارڈ سے ملاپ کر کے اس کی حالت واضح کر لیں۔
  • قیمتیں اکاؤنٹ کے لحاظ سے مخصوص ہوتی ہیں۔ منتخب منصوبے کی شناختی قدر اسی اکاؤنٹ کے لیے محفوظ رکھیں اور آرڈر کی شرائط اور اخراجات کا الگ جائزہ لیں؛ صرف یہ اینڈپوائنٹ ثابت نہیں کرتا کہ بعد میں آرڈر دینے تک کوئی قیمت برقرار رہے گی۔
  • مثال میں دیا گیا نمبر اور قیمتیں جواب کی ساخت دکھانے کے لیے فرضی مثالیں ہیں، حقیقی موجودہ قیمت کی پیشکش نہیں۔ صلاحیتوں، چینلز کی تعداد، مدت اور رجسٹریشن کی معلومات اصل منتخب نتیجے سے پڑھنا ضروری ہے۔
  • رجسٹریشن کی بعض تفصیلات میں وضع شدہ متن یا روابط ہوتے ہیں۔ موصولہ متنی سلسلوں کو اپنی ایپلیکیشن میں دکھاتے وقت انہیں غیر معتبر ڈیٹا سمجھیں۔
  • موبائل دستیابی اور نشانیاں اکاؤنٹ کی اہلیت اور دستیاب نمبروں پر منحصر ہوتی ہیں۔ صرف کیٹلاگ کا سابقہ یا is_mobile کی نشانی کسی مخصوص نمبر کی موبائل صلاحیتوں کو ثابت نہیں کرتی۔