মোবাইল ইনভেন্টরি সক্রিয় আছে কি না নিশ্চিত করুন
আপনার গ্রাহক অ্যাকাউন্টের জন্য মোবাইল-নম্বর ইনভেন্টরি সক্রিয় করার পরেই কেবল এই অনুসন্ধান ব্যবহার করুন। অ্যাকাউন্টের ডিসকভারি ওয়ার্কফ্লোর মাধ্যমে একটি বর্তমান পৃথক মোবাইল প্রিফিক্স সংগ্রহ করুন। সমর্থিত পথটি সেই প্রিফিক্সের জন্য ওয়্যারলেস ইনভেন্টরির অনুরোধ করে। এটি কোনো মিলে যাওয়া ওয়্যারলাইন রাউটিং-মেটাডেটা রেকর্ডের উপর নির্ভর করে না। আপনার অ্যাকাউন্ট বা প্রিফিক্স সক্রিয় কি না সে বিষয়ে নিশ্চিত না হলে সাপোর্টের সাথে যোগাযোগ করুন।
বর্তমান লিগ্যাসি রুটটি প্রতিটি অযোগ্য অনুরোধ নির্ভরযোগ্যভাবে প্রত্যাখ্যান করে না। মোবাইল ইনভেন্টরি সক্রিয় নেই এমন একটি অ্যাকাউন্ট সাধারণ ইনভেন্টরি পেতে পারে, যদিও রেসপন্সে তখনও লেখা থাকে info.is_mobile: 1। একটি টোল-ফ্রি প্রিফিক্সও সেই লেবেলসহ টোল-ফ্রি ইনভেন্টরি শাখায় পৌঁছাতে পারে। মোবাইল পরিষেবা শনাক্ত করতে শুধু এই লেবেলটি ব্যবহার করবেন না, এবং এই এন্ডপয়েন্টে সাধারণ বা টোল-ফ্রি প্রিফিক্স পাঠাবেন না। অ্যাকাউন্টের নিশ্চিত মোবাইল ক্যাটালগ এবং সক্রিয় ওয়ার্কফ্লো ব্যবহার করুন।
প্রতিটি নম্বরকে তার নিজস্ব মূল্য নির্বাচনের সাথে রাখুন
প্রতিটি প্রার্থীর জন্য number, info.uuid এবং সেই একই এন্ট্রির price তালিকা একসাথে রাখুন। রেসপন্সে প্রিফিক্স/এলাকা/দেশের মেটাডেটা, কন্ট্রাক্টের শর্তাবলি এবং নিবন্ধনের সীমাবদ্ধতাও থাকে। প্রার্থীগুলো তাদের প্রথম মূল্য বিকল্পের মাসিক মূল্য অনুযায়ী ঊর্ধ্বক্রমে সাজানো থাকে; সমান মূল্যের ক্ষেত্রে কোনো নিশ্চিত স্থিতিশীল ক্রম নেই। ফেরত পাওয়া নম্বর ID-কে কোনো এলাকা বা প্রিফিক্স ID দিয়ে প্রতিস্থাপন করবেন না, বা অন্য কোনো প্রার্থীর মূল্য ID-র সাথে জুড়বেন না।
সম্পূর্ণ রেসপন্সে অতিরিক্ত মেটাডেটা এবং মূল্য ফিল্ড থাকতে পারে। ফেরত পাওয়া features, চ্যানেল মান এবং restrictions প্রার্থীটির বর্ণনা দেয়; এগুলো কল, SMS, MMS বা ফ্যাক্স ইতিমধ্যে ব্যবহারযোগ্য হওয়ার কোনো নিশ্চয়তা নয়। অ্যাকাউন্টের অনুমতি, নিবন্ধন এবং নির্বাচিত পরিষেবা প্ল্যান তখনও প্রযোজ্য থাকে। উদাহরণের প্লেসহোল্ডারগুলোকে বৈধ ID বা মূল্য হিসেবে গণ্য করবেন না।
একটি ছোট ধনাত্মক পরিমাণ ব্যবহার করুন
1 পরিমাণ দিয়ে শুরু করুন। স্বাভাবিক প্রোভাইডার অনুরোধ একটি অ-ধনাত্মক পরিমাণকে 1-এ স্বাভাবিকীকরণ করে এবং আপস্ট্রিম মানকে 300-এ সীমাবদ্ধ করে, কিন্তু পরবর্তী ফলাফল পরিচালনায় তখনও মূল ইনপুটই ব্যবহৃত হয়। তাই শূন্য পরিমাণ আপস্ট্রিম ইনভেন্টরির অনুরোধ করতে পারে এবং কোনো প্রার্থী ফেরত না-ও দিতে পারে। অন্যান্য লিগ্যাসি শাখা অনুরোধ করা ফলাফল সংখ্যা ধারাবাহিকভাবে প্রয়োগ করে না। একটিমাত্র সর্বজনীন সর্বোচ্চ সীমার উপর নির্ভর করবেন না, এবং ঋণাত্মক, ভগ্নাংশ বা অ-সংখ্যাসূচক মান পাঠাবেন না। এই রুটের জন্য কোনো সমর্থিত পাবলিক অনুসন্ধান ফিল্টার বা মূল্য-ID বডি প্যারামিটার নথিভুক্ত নেই।
স্টকের অভাব এবং লুকআপ ব্যর্থতার মধ্যে পার্থক্য করুন
একটি 404 রেসপন্স অনুপলব্ধ ইনভেন্টরি, নিষ্ক্রিয় পরিষেবা, ব্যর্থ সরবরাহকারী লুকআপ বা অবৈধ ক্যাটালগ রেকর্ড বোঝাতে পারে। টাইমআউট বা প্রোভাইডার ব্যর্থতাকে নিশ্চিত শূন্য স্টক নয়, বরং অজানা প্রাপ্যতা হিসেবে গণ্য করুন। উপযুক্ত হলে নির্বাচনটি রিফ্রেশ করুন এবং ব্যাকঅফসহ পুনরায় চেষ্টা করুন। প্রতিটি এক্সচেঞ্জ বারবার পোল করা এড়িয়ে চলুন। পৃথক মোবাইল ইনভেন্টরি-গণনা এন্ডপয়েন্টটি একটি স্ন্যাপশট ইঙ্গিত মাত্র, এবং এটি এই অ্যাকাউন্টের প্রার্থী তালিকার দৈর্ঘ্যের সাথে মিলতে বাধ্য নয়।
কেনার আগে পুনরায় যাচাই করুন
অনুসন্ধান স্টক সংরক্ষণ করে না। পর্যালোচিত শাখাটি ইতিমধ্যে কেনা নম্বরগুলো বাদ দেওয়ার চেষ্টা করে, কিন্তু একটি ব্যর্থ স্থানীয় রিজার্ভেশন লুকআপ এমন একটি প্রার্থীকে ফলাফলে রেখে দিতে পারে। প্রাপ্যতা, মালিকানা, অনুমোদিত মূল্য এবং নিবন্ধন ক্রয় ওয়ার্কফ্লো দ্বারা যাচাই হওয়া আবশ্যক। সুরক্ষিত ক্রয় অনুরোধের সাথে একটি নতুন নির্বাচন ব্যবহার করুন, এবং কোনো অনিশ্চিত ক্রয় ফলাফলের পরে পুনরায় চেষ্টা করার আগে অ্যাকাউন্ট ইনভেন্টরি মিলিয়ে নিন। শুধু একটি প্রার্থী ফেরত এসেছে বলেই কখনও কিনবেন না।
অনুরোধ
একটি অনুমোদিত উৎস IP ঠিকানা থেকে HTTPS-এর মাধ্যমে একটি সক্রিয় API অ্যাকাউন্ট ব্যবহার করুন। গ্রাহক অ্যাকাউন্টের জন্য মোবাইল ইনভেন্টরিও সক্রিয় থাকতে হবে; শুধু API প্রমাণীকরণ এটি সক্রিয় করে না।
GET ব্যবহার করুন, URL পাথে বর্তমান পৃথক প্রিফিক্স শনাক্তকারী এবং একটি ধনাত্মক পূর্ণসংখ্যা পরিমাণসহ। পরিমাণ বাদ দিলে ডিফল্ট হিসেবে 1 ধরা হয়। 1 সহ উদাহরণটি ব্যবহার করুন; এই রুট কোনো সর্বজনীন ফলাফল সীমা ধারাবাহিকভাবে যাচাই বা প্রয়োগ করে না।
curl --fail-with-body --silent --show-error \
--user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/getmobiles/$PREFIX_ID/1"| নাম | ধরন | আবশ্যক | বিবরণ |
|---|---|---|---|
prefix_id | string | হ্যাঁ | ডিসকভারি থেকে পাওয়া একটি যোগ্য পৃথক মোবাইল প্রিফিক্সের অস্বচ্ছ দৃশ্যমান ID। আপনার অ্যাকাউন্ট দ্বারা সমর্থিত একটি মোবাইল NPA/NXX এক্সচেঞ্জ প্রিফিক্স ব্যবহার করুন; এর বদলে কোনো এলাকা ID, গ্রুপ করা ডিসপ্লে ID, আক্ষরিক ডায়ালিং প্রিফিক্স বা টোল-ফ্রি প্রিফিক্স দেবেন না। |
quantity | integer | না | অনুরোধ করা প্রার্থীর সংখ্যা। ডিফল্ট 1। একটি সীমিত ধনাত্মক পূর্ণসংখ্যা দিন। স্বাভাবিক আপস্ট্রিম অনুরোধ তার পরিমাণকে 300-এ সীমাবদ্ধ করে, কিন্তু এটি কোনো সর্বজনীনভাবে যাচাই করা ইনপুট বা রেসপন্স-আকারের নিশ্চয়তা নয়। |
রেসপন্স
HTTP স্ট্যাটাসের পাশাপাশি JSON বডিতে status.code এবং status.msg পরীক্ষা করুন। সফল হলে, response হলো নম্বর প্রার্থীদের একটি তালিকা, status.msg হলো Results: এবং তারপরে ফেরত দেওয়া সংখ্যা, এবং status.results হলো সিরিয়ালাইজ করা তালিকার দৈর্ঘ্য। প্রার্থীর মূল্য অ্যাকাউন্ট-নির্দিষ্ট। উদাহরণমূলক সংক্ষিপ্ত উদাহরণটি প্রকৃত ইনভেন্টরি বা ট্যারিফের মূল্যপ্রস্তাবের বদলে প্লেসহোল্ডার ব্যবহার করে। নম্বরগুলোতে প্লাস চিহ্ন ছাড়া দেশের কোড থাকে; শনাক্তকারীগুলো অস্বচ্ছ স্ট্রিং।
উদাহরণমূলক রেসপন্স কাঠামো; লাইভ অ্যাকাউন্ট ডেটা বা বর্তমান কোনো উদ্ধৃত মূল্য নয়।
{
"status": {
"code": 200,
"msg": "Results: 1",
"results": 1
},
"response": [
{
"number": "12025550123",
"info": {
"uuid": "NUMBER_ID",
"prefix_uuid": "PREFIX_ID",
"country_iso": "US",
"is_mobile": 1
},
"price": [
{
"uuid": "PRICE_ID",
"monthly_price": "ACCOUNT_MONTHLY_PRICE",
"setup_price": "ACCOUNT_SETUP_PRICE",
"per_minute": "ACCOUNT_INCOMING_RATE",
"channels": "PLAN_CHANNELS"
}
],
"features": [
"voice",
"sms",
"mms",
"t38"
]
}
]
}ত্রুটি
- 404: অবৈধ প্রিফিক্স ID, দেশ বা এলাকা: পৃথক মোবাইল প্রিফিক্স নির্বাচনটি রিফ্রেশ করুন।
- 404: কোনো নম্বর পাওয়া যায়নি: এর অর্থ হতে পারে কোনো ব্যবহারযোগ্য স্টক নেই, পরিষেবা নিষ্ক্রিয়, প্রোভাইডার লুকআপ ব্যর্থ, অসমর্থিত নির্বাচন বা অ্যাকাউন্টের সীমাবদ্ধতা। এটি কোনো প্রামাণিক শূন্য ইনভেন্টরি গণনার প্রমাণ নয়।
প্রাপ্যতা এবং পার্শ্বপ্রভাব
- অনুসন্ধান কোনো নম্বর ভাড়া বা সংরক্ষণ করে না, এবং পর্যালোচিত পথটি কোনো ক্রয় পরিমাণ ডেবিট করে না। এটি ইনভেন্টরি প্রোভাইডারের সাথে যোগাযোগ করে এবং সময় নিতে পারে।
- সফল অনুসন্ধান অ্যাকাউন্ট-সম্পর্কিত নম্বর ও মূল্য ক্যাশ এন্ট্রি এবং কোয়েরি লগ লেখে। একটি অনুসন্ধান পুনরাবৃত্তি করা কোনো রিজার্ভেশন, মূল্য লক বা ক্রয় নয়।
- ফেরত পাওয়া মূল্য, শর্তাবলি, সীমাবদ্ধতা এবং সক্ষমতা নির্বাচিত অ্যাকাউন্ট ও নম্বরের জন্য পর্যালোচনা করা আবশ্যক। একটি ফিচার লেবেল সক্রিয়করণ, মেসেজিং অনুমোদন বা পরীক্ষিত পরিষেবা কার্যকারিতা প্রতিষ্ঠা করে না।