অ্যাকাউন্ট ও প্রকল্পে প্রবেশাধিকার
অনুমোদিত আইপি ঠিকানা থেকে HTTPS-এর মাধ্যমে একটি সক্রিয় API অ্যাকাউন্ট ব্যবহার করুন। প্রকল্পটি অবশ্যই ওই অ্যাকাউন্টের মালিকানাধীন হতে হবে এবং মুছে ফেলা হয়ে থাকা চলবে না। নম্বর স্থানান্তরের অর্ডার প্রক্রিয়া থেকে পাওয়া প্রকল্পের অনন্য শনাক্তকারী ব্যবহার করুন; এর সাংখ্যিক ডেটাবেস শনাক্তকারী বা কোনো ফোন নম্বর ব্যবহার করবেন না। অনুরোধ তৈরি করার সময় প্রকল্পের শনাক্তকারীকে ইউআরএল এনকোড করুন।
অনুরোধ
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID"এই প্রতিক্রিয়াকে গোপনীয় হিসেবে বিবেচনা করুন
সম্পূর্ণ প্রতিক্রিয়ায় যে ক্যারিয়ার থেকে নম্বর স্থানান্তর হচ্ছে তার বিলিং তথ্য থাকে, যার মধ্যে রয়েছে সংরক্ষিত billing_pin, বিলিং অ্যাকাউন্ট, ফোন, ঠিকানা, কোম্পানি এবং অনুমোদিত যোগাযোগ ব্যক্তির বিবরণ। API এই ক্ষেত্রগুলোর তথ্য আড়াল করে না। আপনার কার্যপ্রবাহে শুধু অবস্থা বা নম্বরের তালিকা প্রয়োজন হলে শুধু সেটিই অনুরোধ করুন। সম্পূর্ণ বিস্তারিত প্রতিক্রিয়া ব্রাউজারের সংরক্ষণস্থল, বিশ্লেষণব্যবস্থা, সর্বজনীন লগ ও সহায়তার জন্য নেওয়া স্ক্রিনশটে রাখবেন না এবং অনুমোদিত গ্রাহকের প্রয়োজনীয় ক্ষেত্রগুলোই শুধু দেখান।
প্রতিক্রিয়ার কাঠামো
নির্বাচিত কিছু ক্ষেত্রের কাল্পনিক উদাহরণ; প্রতিক্রিয়ায় অতিরিক্ত ক্ষেত্রও আসতে পারে।
{
"status": {
"code": 200,
"msg": "Project Detail"
},
"response": {
"project": {
"id": 11,
"uniqueid": "PROJECT_EXAMPLE",
"project_name": "Example transfer",
"location": "US",
"status": 0,
"status_str": "Pending"
},
"counts": {
"total": 0,
"pending": 0,
"in_progress": 0,
"completed": 0,
"rejected": 0
},
"numbers": [],
"events": [],
"uploads": []
}
}ইচ্ছাকৃতভাবে অসম্পূর্ণ রাখা এই উদাহরণে বিলিংয়ের সব প্রমাণীকরণ তথ্য ও ব্যক্তিগত যোগাযোগের তথ্য বাদ দেওয়া হয়েছে। উদাহরণে এগুলো না থাকার অর্থ এই নয় যে প্রকৃত প্রতিক্রিয়ায় এগুলো গোপন করা হয়।
| বিভাগ | বিষয়বস্তু |
|---|---|
| project | সারির সাংখ্যিক শনাক্তকারী, প্রকল্পের অনন্য শনাক্তকারী, প্রকল্পের নাম, অবস্থান, সংরক্ষিত বিলিং/যোগাযোগ/ঠিকানার তথ্য, তৈরির সময় এবং গণনা করে নির্ধারিত অবস্থা। যে ক্যারিয়ার থেকে নম্বর স্থানান্তর হচ্ছে তাকে নির্দেশ করা পুরোনো ক্ষেত্রটির বানান loosing_carrier। |
| counts | নম্বরের মোট সারিসংখ্যা এবং Pending, In Progress, Completed ও Rejected অবস্থার গণনা। |
| numbers | প্রকল্পের নম্বর-তালিকা এন্ডপয়েন্টে নম্বরের জন্য যে নির্বাচিত তথ্য দেওয়া হয়, এখানেও তা-ই থাকে; এর মধ্যে গ্রাহকের মন্তব্য এবং সংরক্ষিত সময়সূচির মানও রয়েছে। |
| events | সংরক্ষিত ইভেন্টের সারি এবং পেলোডের অপরিশোধিত/পার্স করা ক্ষেত্রসমূহ; এগুলোর ক্ষেত্রে ইভেন্ট এন্ডপয়েন্টের দৃশ্যমানতা ও বিন্যাসের সীমাবদ্ধতা প্রযোজ্য। |
| uploads | নথির মেটাডেটা: সাংখ্যিক শনাক্তকারী, upload_type, file_name, file_extension, date_created এবং একটি আপেক্ষিক download_url। এই ইউআরএল ব্যবহার করতেও অ্যাকাউন্টের প্রমাণীকরণ প্রয়োজন। |
সারসংক্ষেপ ও মেটাডেটার অর্থ বুঝুন
গণনা করে অবস্থা নির্ধারণের সময় প্রথমে In Progress, তারপর Pending, তারপর Completed, তারপর Rejected অগ্রাধিকার পায়; অন্য কোনোটি প্রযোজ্য না হলে Pending ব্যবহৃত হয়। সারসংক্ষেপে Completed থাকা সত্ত্বেও প্রত্যাখ্যাত নম্বর থাকতে পারে। প্রতিটি নম্বরের স্থানান্তর সম্পন্ন হয়েছে ধরে না নিয়ে গণনা ও নম্বরগুলোর অবস্থা পরীক্ষা করুন।
প্রতিক্রিয়ায় নথির মেটাডেটা থাকে, ফাইলের বাইট থাকে না। এতে পৃষ্ঠাভাগ বা ধাপে ধাপে নতুন তথ্য পাওয়ার কার্সর নেই। বিস্তারিত তথ্য ও তালিকার কোয়েরি আলাদাভাবে তথ্য পড়ে; এগুলো লেনদেনগতভাবে সামঞ্জস্যপূর্ণ একই স্ন্যাপশট হবে, এমন নিশ্চয়তা নেই। তারিখগুলো সংরক্ষিত মান হিসেবেই থাকে; সময় অঞ্চল রূপান্তরের কোনো নথিভুক্ত নিয়ম নেই। প্রকল্পের রুটের জন্য uniqueid ব্যবহার করুন; এর পরিবর্তে প্রকল্পের সাংখ্যিক শনাক্তকারী ব্যবহার করা যায় না।
ত্রুটি ও সীমাবদ্ধতা
দুটিই পরীক্ষা করুন: HTTP প্রতিক্রিয়া এবং status.code/status.msg। কোনো প্রকল্প না থাকলে, মুছে ফেলা হয়ে থাকলে বা অ্যাকাউন্টটির মালিকানাধীন না হলে, প্রকল্প খুঁজে পাওয়া যায়নি এমন বার্তাসহ API কোড 404 ফেরত আসে। প্রমাণীকরণ ও উৎস আইপি সংক্রান্ত বিধিনিষেধও প্রযোজ্য। উদাহরণগুলো কোনো বাস্তব অনুরোধ পাঠায় না এবং সফল প্রতিক্রিয়া পাওয়া কোনো ক্যারিয়ার স্থানান্তর গ্রহণ করেছে বা সম্পন্ন করেছে তার প্রমাণ নয়।
প্রভাব ও কার্যপ্রবাহ
এটি বর্তমান পোর্টালের নম্বর স্থানান্তরের অর্ডার ভিউয়ে ব্যবহৃত প্রামাণ্য বিস্তারিত তথ্যের রুট। পোর্টাল তার ব্যবহারকারী ইন্টারফেসের জন্য ক্ষেত্রগুলো মানচিত্রায়িত করে এবং গ্রাহককে দেখানোর জন্য নিজস্ব তথ্য নির্বাচন করে; অপরিশোধিত API প্রতিক্রিয়া পোর্টালের JSON বা উপস্থাপনার সঙ্গে অভিন্ন বলে ধরে নেবেন না। পর্যালোচিত বিস্তারিত তথ্যের হ্যান্ডলার প্রকল্পে কোনো পরিবর্তন করে না এবং সরাসরি ক্যারিয়ারের কাছে কোনো অনুরোধ পাঠানো বা চার্জ নেওয়া শুরু করে না।