অ্যাকাউন্ট ও প্রকল্পে প্রবেশাধিকার
অনুমোদিত আইপি ঠিকানা থেকে HTTPS-এর মাধ্যমে একটি সক্রিয় API অ্যাকাউন্ট ব্যবহার করুন। প্রকল্পটি অবশ্যই সেই অ্যাকাউন্টের মালিকানাধীন হতে হবে এবং মুছে ফেলা হয়ে থাকলে চলবে না। পোর্টিং অর্ডারের কার্যপ্রবাহ থেকে পাওয়া প্রকল্পের অনন্য আইডি ব্যবহার করুন; এর সংখ্যাসূচক ডেটাবেস আইডি বা কোনো ফোন নম্বর ব্যবহার করবেন না। অনুরোধ তৈরি করার সময় প্রকল্পের আইডি ইউআরএল-এনকোড করুন।
নম্বর যোগ করার প্রস্তুতি নিন
এই কাজটি একটি বিদ্যমান নম্বর পোর্টিং প্রকল্পে পরিবর্তন আনে। প্রথমে আপনার পোর্টিং অর্ডারের কার্যপ্রবাহের মাধ্যমে নম্বরগুলো এবং গ্রাহকের অনুমোদন নিশ্চিত করুন। প্রতিটি নম্বর সম্পূর্ণ আন্তর্জাতিক নম্বরের অঙ্ক দিয়ে লিখুন, পুনরাবৃত্ত নম্বর নিজে সরিয়ে দিন এবং প্রকল্পের বিদ্যমান নম্বরের তালিকা পরীক্ষা করুন। ইচ্ছেমতো নম্বর পরীক্ষা করার জন্য এই এন্ডপয়েন্ট ব্যবহার করবেন না।
বর্তমান পোর্টাল এই রুটে অনুরোধ পাঠানোর আগে নম্বর যাচাই করে এবং মানসম্মত রূপে আনে। পুরোনো এন্ডপয়েন্ট সরাসরি ব্যবহার করলে একই সুরক্ষা পাওয়া যায় না: এটি ইনপুটের শুরুর ও শেষের ফাঁকা স্থান সরায়, কিন্তু ফোন নম্বরের বিন্যাস, দেশের কোড, পুনরাবৃত্তি বা প্রকল্পের কার্যপ্রবাহের অবস্থা যাচাই করে না।
POST অনুরোধ
স্থানীয়ভাবে একটি numbers.json ফাইল নিচের কাঠামো অনুযায়ী তৈরি করুন। নম্বরগুলো কাল্পনিক; নির্বাচিত প্রকল্পের জন্য অনুমোদিত নম্বর দিয়ে এগুলো প্রতিস্থাপন করুন।
{
"numbers": [
"12025550123",
"12025550124"
],
"isocode": "US"
}curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header "Content-Type: application/json" \
--data-binary @numbers.json \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"| ক্ষেত্র | অর্থ |
|---|---|
| numbers | নম্বরের স্ট্রিং নিয়ে গঠিত একটি আবশ্যক, খালি নয় এমন অ্যারে, অথবা প্রতিটি নতুন লাইনে একটি করে নম্বর থাকা একটি স্ট্রিং। খালি এন্ট্রি বাদ দেওয়া হয় এবং শুরুর ও শেষের ফাঁকা স্থান সরানো হয়। কমা দিয়ে আলাদা করা পাঠ্যকে পৃথক নম্বরে ভাগ করা হয় না। |
| isocode | যোগ করা সারিগুলোর জন্য ঐচ্ছিক দেশের কোড। এটি না দিলে বা খালি রাখলে প্রকল্পের অবস্থান ব্যবহার করা হয়। হ্যান্ডলার দেওয়া মানের শুরুর ও শেষের ফাঁকা স্থান সরায়, কিন্তু সেটিকে বড় হাতের অক্ষরে রূপান্তর বা যাচাই করে না। সঠিক দেশের কোড নিজে বড় হাতের অক্ষরে দিন। |
এই উদাহরণে application/json সহ POST ব্যবহার করুন। ফর্মের POST ইনপুটও পড়া হয়। এই মেথডে একই অনুরোধের পুনরাবৃত্তিতে ফল অপরিবর্তিত রাখার কোনো কী বা এই এন্ডপয়েন্টের জন্য নিরাপদ ব্যাচের আকারের নির্দিষ্ট চুক্তি সংজ্ঞায়িত নেই; অনুমান করা সীমার ওপর নির্ভর না করে সামলানো যায় এমন ব্যাচে কাজ করে ফল মিলিয়ে নিন।
প্রতিবেদিত ফলাফল
একটি কাল্পনিক প্রতিক্রিয়ার উদাহরণ।
{
"status": {
"code": 200,
"msg": "Success add numbers"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"count": 2,
"numbers": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US"
},
{
"id": 22,
"number": "12025550124",
"status": 0,
"status_str": "Pending",
"isocode": "US"
}
]
}
}যেসব নম্বর যোগ করার চেষ্টা করা হয়েছে, প্রতিক্রিয়ায় সেগুলোকে Pending হিসেবে চিহ্নিত করা হয়। ফল জানানোর আগে ডেটাবেসে প্রতিটি সারি যোগ করার ফল যাচাই করা হয় না। তাই শুধু একটি গণনা বা ফেরত পাওয়া আইডি দিয়ে প্রতিটি সারি স্থায়ীভাবে সংরক্ষিত হয়েছে বলে প্রমাণ হয় না। Pending অবস্থায় যোগ হওয়া কোনো নম্বরের অর্থ অপারেটরের গ্রহণ, স্থানান্তরের সময় নির্ধারণ বা সক্রিয়করণ সম্পন্ন হওয়া নয়।
আবার চেষ্টা করার আগে তথ্য মিলিয়ে নিন
- নম্বর যোগ করার আগে প্রকল্পের নম্বরের তালিকা পড়ুন এবং যেসব নম্বর যোগ করতে চান, সেগুলো নিজের অনুরোধের নথিতে রাখুন।
- নম্বর যোগ করার অনুরোধ একবার পাঠান।
- প্রকল্পের নম্বরের তালিকা আবার পড়ুন এবং যোগ করতে চাওয়া প্রতিটি নম্বর মিলিয়ে দেখুন। পুনরাবৃত্তি এবং প্রতিটি নম্বরের অবস্থা পরীক্ষা করুন।
- অনুরোধের সময়সীমা পেরিয়ে গেলে, ত্রুটি ফেরত এলে বা অস্পষ্ট ফল জানালে আবার চেষ্টা করার আগে সংরক্ষিত তথ্য পড়ে দেখুন। কিছু নম্বর ইতিমধ্যেই যোগ হয়ে থাকতে পারে।
- পুরো অনুরোধটি অন্ধভাবে আবার পাঠানোর পরিবর্তে পোর্টিং অর্ডারের কার্যপ্রবাহ বা সহায়তা বিভাগের মাধ্যমে অনুপস্থিত বা পুনরাবৃত্ত সারির সমস্যা সমাধান করুন।
হ্যান্ডলার কোনো লেনদেন বা পুনরাবৃত্তি প্রতিরোধের ব্যবস্থা ছাড়াই একবারে একটি করে এন্ট্রি যোগ করে। মাঝপথে বাধা এলে আগে লেখা তথ্য থেকে যেতে পারে; কোনো সারি যোগ করা ব্যর্থ হয়ে false ফেরত দিলেও সেটি প্রতিবেদিত গণনায় অন্তর্ভুক্ত হতে পারে। একই অনুরোধ আবার পাঠালে পুনরাবৃত্ত সারি যোগ হতে পারে। হ্যান্ডলার নিজে কোনো ইভেন্ট লেখে না বা অপারেটরের মাধ্যমে স্থানান্তর সম্পন্ন করে না।
পুরোনো ব্যবস্থার ত্রুটি
POST ছাড়া অন্য মেথড ব্যবহার করলে API কোড 403 ফেরত আসে। প্রকল্পটি না থাকলে, মুছে ফেলা হয়ে থাকলে বা অ্যাকাউন্টের মালিকানাধীন না হলে API কোড 404 ফেরত আসে। নম্বরের ইনপুট খালি হলেও API কোড 404 ফেরত আসে। পরিচয় যাচাই এবং উৎস আইপি ঠিকানার বিধিনিষেধ প্রযোজ্য। এই পুরোনো কোডগুলো দিয়ে প্রমাণ হয় না যে প্রক্রিয়াকরণ শুরু হওয়ার পর এর আগে কোনো সারি যোগ করা হয়নি।
বিলিং ও স্থানান্তরের পরিধি
পর্যালোচিত হ্যান্ডলার প্রকল্পের নম্বরের সারি যোগ করে; এতে সরাসরি অ্যাকাউন্ট থেকে অর্থ কাটা বা অপারেটরের কাছে আবেদন জমা দেওয়ার ব্যবস্থা নেই। এর অর্থ এই নয় যে সামগ্রিক নম্বর পোর্টিং সেবা বিনামূল্যে পাওয়া যাবে বা সম্মত পোর্টিং ফি অকার্যকর হবে। স্থানান্তর আশা করার আগে প্রকল্পের অনুমোদন, নথিপত্র ও পর্যালোচনার প্রয়োজনীয় শর্ত পূরণ করুন।