ڈیولپرز

POST/v3/rentnumber/{number_id}/{price_id}

منتخب فون نمبر خریدیں

قیمت کی حفاظتی جانچوں کے ساتھ ایک منظور شدہ نمبر اور قیمت جمع کرائیں، پھر دوبارہ کوشش کرنے سے پہلے ملکیت اور فعالیت کی حالت کی مطابقت کی تصدیق کریں۔

اس صفحے پر
  1. نمبر اور قیمت ایک ساتھ منتخب کریں
  2. حفاظتی جانچوں کے ساتھ خریداری کی درخواست POST کے ذریعے بھیجیں
  3. رجسٹریشن اور فعالیت
  4. پلان کی غیر اعلانیہ تبدیلی سے بچیں
  5. اعلیٰ درجے کی ترتیبات: اکاؤنٹ کی طے شدہ روٹنگ
  6. جواب
  7. خرابیاں اور غیر یقینی نتائج
  8. دوبارہ کوشش کرنے سے پہلے ریکارڈ کی مطابقت کی تصدیق کریں

نمبر اور قیمت ایک ساتھ منتخب کریں

دستیاب نمبروں کی تازہ تلاش سے منتخب کردہ ایک مخصوص نمبر خریدیں۔ منتخب اندراج کے info.uuid کو نمبر کی شناخت کے طور پر اور اسی اندراج کی price[].uuid قدروں میں سے ایک کو قیمت کی شناخت کے طور پر استعمال کریں۔ یہ روٹ مکمل محفوظ شدہ نمبر بھی قبول کرتا ہے، لیکن ملک، علاقے یا سابقے کی شناخت کسی نمبر کے انتخاب کا متبادل نہیں ہے۔

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

حفاظتی جانچوں کے ساتھ خریداری کی درخواست POST کے ذریعے بھیجیں

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

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode "restore_quote_price_id=$PRICE_ID" \
  --data-urlencode "restore_quote_setup=$SETUP_PRICE" \
  --data-urlencode "restore_quote_monthly=$MONTHLY_PRICE" \
  --data-urlencode "restore_quote_per_minute=$PER_MINUTE_PRICE" \
  --data-urlencode "restore_quote_channels=$CHANNELS" \
  "https://api.multitel.net/v3/rentnumber/$NUMBER_ID/$PRICE_ID"

جیسا دکھایا گیا ہے، فارم POST استعمال کریں۔ معاون میں JSON اور اختیارات کے ریپر کی پارسنگ بھی موجود ہے، لیکن یہ جائزہ قیمت کی پیشکش اور فراہم کنندہ کے تمام طریقۂ کار میں مکمل یکسانیت ثابت نہیں کرتا۔ خریداری کے لیے GET استعمال نہ کریں، اگرچہ اس پرانے کوآرڈینیٹر میں طریقے کی کوئی واضح حفاظتی جانچ نہیں ہے۔

خریداری کا پاتھ اور قیمت کی پیشکش کے فیلڈز
فیلڈمطلب
NUMBER_IDتلاش سے منتخب کردہ نمبر کا UUID یا مکمل محفوظ شدہ نمبر۔ ہر درخواست میں ایک نمبر۔
PRICE_IDقیمت کا وہ UUID جو منتخب کردہ نمبر اور آپ کے اکاؤنٹ سے وابستہ ہے۔ اسے ہمیشہ واضح طور پر فراہم کریں۔
restore_quote_price_idاسے حل شدہ قیمت کی شناخت سے ملنا چاہیے۔ یہ فیلڈ فراہم کرنے سے قیمت کی پیشکش کی جانچیں فعال ہوتی ہیں؛ یہ بار بار درخواست بھیجنے پر عمل کے اعادے کو روکنے کی کلید نہیں ہے۔
restore_quote_setupابتدائی تنصیب کی زیادہ سے زیادہ قابلِ قبول قیمت، ایک محدود اور غیر منفی عددی قدر کے طور پر۔
restore_quote_monthlyزیادہ سے زیادہ قابلِ قبول ماہانہ قیمت، ایک محدود اور غیر منفی عددی قدر کے طور پر۔
restore_quote_per_minuteآنے والی کال کا زیادہ سے زیادہ قابلِ قبول فی منٹ نرخ، ایک محدود اور غیر منفی عددی قدر کے طور پر۔
restore_quote_channelsمنتخب کردہ قیمت کے اختیار میں چینلوں کی عین صحیح عددی تعداد؛ یہ کسی مختلف چینل پلان کی درخواست نہیں ہے۔

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

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

رجسٹریشن اور فعالیت

ضرورت ہونے پر، RegistrationID فارم فیلڈ شامل کریں جس میں صارف کی ملکیت والے رجسٹریشن پروفائل کا UUID ہو۔ یہ اپ لوڈ کردہ ثبوت، سپلائر کے پتے یا علیحدہ شناختی اکائی کی شناخت نہیں ہے۔ معاون تصدیق شدہ اکاؤنٹ کے تحت پروفائل تلاش کرتا ہے اور غائب یا غیر دستیاب پروفائلز کو مسترد کرتا ہے۔

دستیاب نمبروں کے بعض معاونت یافتہ ذخیرے میں رجسٹریشن مکمل ہونے سے پہلے خریداری کی اجازت ہوتی ہے؛ دوسرے ذخیرے میں خریداری سے پہلے پروفائل ضروری ہوتا ہے۔ کیریئر کی مخصوص توثیق یا فراہمی پھر بھی درکار ہو سکتی ہے۔ کامیاب خریداری یا ابتدائی جانچ نہ ہونے کو رجسٹریشن سے استثنا یا فوری فعالیت نہ سمجھیں۔

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

پلان کی غیر اعلانیہ تبدیلی سے بچیں

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

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

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

اعلیٰ درجے کی ترتیبات: اکاؤنٹ کی طے شدہ روٹنگ

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

مشترکہ معاون میں تسلیم شدہ روٹنگ کے اختیارات
اختیارقدر متعین کرنے کا طریقہ
uri, uri2, uri3فراہم نہ کی گئی قدریں اکاؤنٹ کی متعلقہ طے شدہ قدریں اختیار کرتی ہیں۔ واضح طور پر دی گئی خالی قدریں، طے شدہ قدر اختیار کرنے کے بجائے معاون کی قدر صاف کر دیتی ہیں۔ منتخب روٹنگ موڈ کے مطابق درست منزلیں استعمال کریں۔
smsuriقدر فراہم نہ کرنے پر اکاؤنٹ کی SMS منزل اختیار کی جاتی ہے؛ واضح طور پر دی گئی خالی قدر معاون میں اسے صاف کر دیتی ہے۔
origintrunkواضح طور پر فراہم کردہ، پہچانی گئی ٹرنک شناخت کو ترجیح ملتی ہے۔ ایسی قدر جس کا تعین نہ ہو سکے، خرابی پیدا کرنے کے بجائے اکاؤنٹ کی ترجیح یا پرانی طے شدہ قدر اختیار کر سکتی ہے۔
forward_destination, forwarding_destination, typeروٹنگ موڈ کے غیر خالی متبادل نام، ترجیح کی اسی ترتیب میں۔ اکاؤنٹ کی روٹنگ ترتیب سے معاونت یافتہ قدریں استعمال کریں، اندازے سے کوئی عددی موڈ نہ دیں۔
RegistrationIDصارف تک محدود رجسٹریشن پروفائل کی تلاش؛ یہ روٹنگ کی منزلوں سے الگ ہے۔
autorenewطے شدہ قدر 1 ہے۔ معاون قدر کے غیر خالی ہونے کی جانچ کرتا ہے، اس لیے اس خریداری فیلڈ کے ذریعے 0 دینا تجدید کو قابلِ اعتماد طور پر غیر فعال نہیں کرتا۔ اکاؤنٹ کی تجدید کے انتظام کا معاونت یافتہ طریقہ استعمال کریں اور محفوظ شدہ ترتیب کی تصدیق کریں۔

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

جواب

ایک سادہ خریداری کی فرضی مثال؛ قدریں اور خصوصیات منتخب پلان کے مطابق مختلف ہوتی ہیں۔

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "price": {
      "per_minute": "0.0100",
      "free_minutes": "100",
      "setup_price": "2.00",
      "monthly_price": "4.00",
      "channels": "2",
      "overflow": "0"
    },
    "features": [
      "voice"
    ],
    "needs_registration": 0,
    "registration_requirements": null
  }
}

کوآرڈینیٹر اپنے status.code/status.msg اور response پر مشتمل لفافے کا استعمال کرتا ہے، جس میں status.results فیلڈ کی موجودگی کی ضمانت نہیں ہے۔ خرابی کی صورت میں عموماً جواب کی فہرست خالی ہوتی ہے۔ کامیابی پر واپس آنے والے نمبر اور قیمت کا معائنہ کریں، پھر اکاؤنٹ کے نمبروں کے ذخیرے اور رجسٹریشن کی حالت کی مطابقت کی تصدیق کریں۔ فراہم کنندہ کی قبولیت حقیقی وائس، SMS یا فیکس کی آزمائش نہیں ہے۔

خرابیاں اور غیر یقینی نتائج

کوآرڈینیٹر کے اہم نتیجہ کوڈز
API کوڈمطلب
403اکاؤنٹ کی قیمت یا خریداری کی پابندیاں، غیر دستیاب قیمت کا انتخاب یا ایسا رجسٹریشن پروفائل جس تک رسائی ممکن نہ ہو، کارروائی کو روک سکتے ہیں۔
404نمبر، قیمت یا سابقے کا انتخاب غائب یا غیر دستیاب ہے۔
409نمبر پہلے ہی فعال ہے، قیمت کی پیشکش کی حفاظتی جانچ اب مطابقت نہیں رکھتی، یا حفاظتی جانچوں والا کوئی دوسرا عمل لاک رکھتا ہے۔
422رجسٹریشن کی معلومات درکار ہیں، نامکمل ہیں، یا زیرِ جائزہ رجسٹریشن کے طریقۂ کار میں ان کی فراہمی ممکن نہیں ہے۔
500 اور فراہم کنندہ یا اکاؤنٹ کے دیگر کوڈزفراہم کنندہ، مقامی کارروائی یا پالیسی کی ناکامی۔ یہ ہر صورت میں اس بات کا ثبوت نہیں کہ کوئی خریداری نہیں ہوئی یا کوئی رقم وصول نہیں کی گئی۔

HTTP حیثیت کے ساتھ API جواب کا اصل متن بھی پڑھیں۔ مقامی اطلاع، رجسٹریشن یا دوسری کارروائی ناکام ہونے سے پہلے بیرونی فراہم کنندہ کرایے کی درخواست قبول کر سکتا ہے۔ مقامی ذخیرے سے بعض تخصیصات میں ڈیٹابیس ٹرانزیکشنز استعمال ہوتی ہیں، لیکن بیرونی فراہم کنندہ کے آرڈرز کو ہر صورت میں واپس پلٹانے کا کوئی طریقہ نہیں ہے۔ اس کوآرڈینیٹر میں کلائنٹ کی ایسی کوئی کلید نہیں جو بار بار درخواست بھیجنے پر عمل کے اعادے کو روکے۔

دوبارہ کوشش کرنے سے پہلے ریکارڈ کی مطابقت کی تصدیق کریں

  1. درخواست ایک بار جمع کرانے سے پہلے منظور شدہ نمبر، قیمت اور قیمت کی پیشکش کی زیادہ سے زیادہ حدیں اپنی ایپلیکیشن کے آرڈر ریکارڈ میں محفوظ رکھیں۔
  2. درخواست کے بعد اسی اکاؤنٹ کے خریدے گئے نمبروں کا ذخیرہ اور نمبر کی تفصیلات پڑھیں، ٹائم آؤٹ یا خرابی کے بعد بھی۔
  3. اگر نمبر موجود ہو تو خریداری کی ایک اور درخواست دینے کے بجائے اس کی قیمت، تجدید، روٹنگ اور رجسٹریشن کی حالت کی تصدیق کریں۔
  4. اگر نتیجہ اب بھی غیر یقینی ہو تو دوبارہ کوشش کرنے سے پہلے معاونت کی ٹیم سے فراہم کنندہ کے آرڈر اور اکاؤنٹ کی بلنگ کی مطابقت کی تصدیق کرائیں۔ صرف خرابی کا پیغام یا پرانے لاگ میں کامیابی کا نشان کافی ثبوت نہیں ہے۔
  5. ملکیت اور فعالیت کی تصدیق ہونے کے بعد اکاؤنٹ کی معمول کی روٹنگ جانچیں اور سروس کی آزمائشیں مکمل کریں۔