অ্যাকাউন্ট ও প্রকল্পে প্রবেশাধিকার
অনুমোদিত আইপি ঠিকানা থেকে HTTPS সংযোগের মাধ্যমে একটি সক্রিয় API অ্যাকাউন্ট ব্যবহার করুন। প্রকল্পটি অবশ্যই সেই অ্যাকাউন্টের হতে হবে এবং মুছে ফেলা হয়ে থাকলে চলবে না। পোর্টিং অর্ডারের কার্যপ্রবাহ থেকে পাওয়া প্রকল্পের অনন্য শনাক্তকারী ব্যবহার করুন, ডেটাবেসে তার সংখ্যাসূচক শনাক্তকারী বা কোনো ফোন নম্বর নয়। অনুরোধ তৈরি করার সময় প্রকল্পের শনাক্তকারীকে ইউআরএল এনকোড করুন।
অনুরোধ
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"এই এন্ডপয়েন্ট অনুরোধের মূল অংশ, পৃষ্ঠাভাগের কোনো পরামিতি বা তারিখের ফিল্টার পড়ে না।
প্রতিক্রিয়া
কাল্পনিক প্রতিক্রিয়ার উদাহরণ।
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}বাইরের স্তরের status.code API-এর ফলাফল জানায়। পৃথক response.status হলো প্রকল্পের তথ্য থেকে নির্ণীত পোর্টিংয়ের সারসংক্ষেপ। এই দুটিকে গুলিয়ে ফেলবেন না।
সারসংক্ষেপ সব নম্বরের ফলাফল নয়
কোনো নম্বরের অবস্থা In Progress হলে সারসংক্ষেপ সেই অবস্থাই বেছে নেয়; তা না হলে Pending, সেটিও না হলে Completed, সেটিও না হলে Rejected বেছে নেয়। কোনো পরিচিত অবস্থার সঙ্গে মিল না পেলে পূর্বনির্ধারিতভাবে Pending দেখায়। তাই যে প্রকল্পে পোর্টিং সম্পন্ন হওয়া ও প্রত্যাখ্যাত হওয়া উভয় ধরনের নম্বর আছে, সেটিতে প্রত্যাখ্যাত নম্বর থাকা সত্ত্বেও সারসংক্ষেপ Completed দেখায়।
পুরো প্রকল্পের কাজ শেষ হয়েছে বলে সিদ্ধান্ত নেওয়ার আগে সব সময় গণনাগুলো এবং পৃথক নম্বরের তালিকা পরীক্ষা করুন। counts.total প্রকল্পের নম্বরসংক্রান্ত প্রতিটি সারি অন্তর্ভুক্ত করে; অন্য গণনাগুলো শুধু চারটি পরিচিত অবস্থার মানকে অন্তর্ভুক্ত করে, তাই অন্য মান থাকলে সেগুলোর যোগফল মোট সংখ্যার সমান নাও হতে পারে। কোনো নম্বর না থাকা প্রকল্পে সব গণনা শূন্য এবং সারসংক্ষেপ Pending দেখায়।
পোর্টিংয়ের অবস্থা বুঝুন
| মান | লেবেল |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
অবস্থার সংখ্যাসূচক মানটি ধরে রাখুন এবং অপরিচিত মানও সামলানোর ব্যবস্থা রাখুন। অপরিচিত লেবেলের ক্ষেত্রে নতুন কোনো লেবেল পাওয়ার নিশ্চয়তা নেই; পরিবর্তে সংরক্ষিত মানটিই ব্যবহৃত হয়। পোর্টিং সম্পন্ন হওয়ার সংরক্ষিত অবস্থা বা নির্ধারিত তারিখ নিজে থেকেই নম্বরটির ইনবাউন্ড রাউটিং বা প্রতিটি পরিষেবা পরীক্ষা করে না।
ত্রুটি ও সীমাবদ্ধতা
HTTP প্রতিক্রিয়া এবং status.code/status.msg উভয়ই পরীক্ষা করুন। প্রকল্পটি না থাকলে, মুছে ফেলা হয়ে থাকলে বা অ্যাকাউন্টটির মালিকানাধীন না হলে, প্রকল্প পাওয়া যায়নি এমন বার্তাসহ API কোড 404 ফেরত আসে। পরিচয়প্রমাণ যাচাই এবং উৎস আইপি ঠিকানার বিধিনিষেধও প্রযোজ্য। উদাহরণগুলো বাস্তবে কোনো অনুরোধ পাঠায় না, এবং সফল প্রতিক্রিয়া পাওয়া কোনো টেলিযোগাযোগ অপারেটর নম্বর স্থানান্তর গ্রহণ বা সম্পন্ন করেছে বলে প্রমাণ করে না।
প্রভাব
এই এন্ডপয়েন্ট প্রকল্পের সংরক্ষিত গণনা পড়ে। পর্যালোচিত হ্যান্ডলারে এটি নম্বর স্থানান্তরের অনুরোধ জমা দেয় না, কোনো অবস্থা পরিবর্তন করে না, কল শুরু করে না বা অ্যাকাউন্ট থেকে অর্থ কাটে না। এটি টেলিযোগাযোগ অপারেটরের কাছে তাৎক্ষণিক তথ্যের জন্য পর্যায়ক্রমিক অনুসন্ধান বা ওয়েবহুক সাবস্ক্রিপশনের সুবিধা দেয় না।