REST API ডকুমেন্টেশন

অ্যাকাউন্ট ও বিলিং REST API গুলি

আপনার অনুমোদিত ইন্টিগ্রেশনের জন্য উপলব্ধ ব্যালেন্স এবং বিলিং তথ্য পড়ুন।

API এবং ক্রেডেনশিয়াল একসঙ্গে বেছে নিন

অনুমোদিত ডেভেলপার ও অটোমেশন, ব্যবসা এবং কমিউনিকেশন প্রোভাইডার অ্যাকাউন্টগুলো সক্রিয় সার্ভিসের সঙ্গে ইন্টিগ্রেট করতে পারে। একজন স্বতন্ত্র ডেভেলপারকে কোম্পানি সাজার প্রয়োজন নেই। অ্যাপ্লিকেশন SMS/MMS-এর জন্য প্রযোজ্য প্রেরণ অনুমোদন ও নিবন্ধন আবশ্যক। ব্যক্তি ও পরিবার সার্ভিসে গ্রাহকদের বার্তা পাঠানো শুরু করার জন্য কোনো API নেই।

API পরিবারবেস URLঅথেনটিকেশন ও ফলাফল
Communications v3https://api.multitel.net/v3অনুমোদিত Basic ক্রেডেনশিয়াল; প্রভিশন করা উপযুক্ত টোকেন কেবল সেসব অপারেশনে যেগুলো তা সমর্থন করে। JSON status এবং response।
জরুরি কলিংয়ের জন্য নিবন্ধনhttps://api.multi.tel/emergencyঅনুমোদিত Basic ক্রেডেনশিয়াল বা বিশেষভাবে প্রভিশন করা bearer অ্যাক্সেস। JSON code, message এবং data।
পোর্টাল REST ইন্টিগ্রেশনআপনার অ্যাকাউন্টের ডেভেলপার রেফারেন্সে দেখানো হোস্ট ও অপারেশনসংশ্লিষ্ট অপারেশনের ডকুমেন্টেড ক্রেডেনশিয়াল, স্কোপ ও স্কিমা ব্যবহার করুন। ব্রাউজার সেশন অনুরোধের ইন্টারফেস আলাদা।

উদাহরণগুলো ব্যবহারের আগে আপনার সার্ভারের সিক্রেট কনফিগারেশনের মাধ্যমে MULTITEL_API_USERNAME এবং MULTITEL_API_PASSWORD সেট করুন। এগুলো কখনো পাবলিক ব্রাউজার JavaScript, URL বা সোর্স কন্ট্রোলে রাখবেন না। নির্দিষ্ট ক্রেডেনশিয়ালগুলো API ইন্টিগ্রেশন সেটিংসে পরিচালনা করা হয়।

প্রথম অনুরোধ: আপনার ব্যালেন্স পড়ুন

এই রিড অপারেশন কোনো সার্ভিস ক্রয় করে না এবং কোনো কল বা বার্তা শুরু করে না।

curl --fail-with-body \
  --user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
  --header "Accept: application/json" \
  "https://api.multitel.net/v3/getbalance"

communications v3 API JSON বডির ভেতরে একটি অ্যাপ্লিকেশন ফলাফল ফেরত দেয়। response পড়ার আগে HTTP স্ট্যাটাস এবং status.code যাচাই করুন; প্রত্যাখ্যাত অনুরোধে কোনো response অবজেক্ট নাও থাকতে পারে। কোড মান স্ট্রিং বা সংখ্যা হতে পারে।

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "balance": "25.0000",
    "currency": "USD",
    "terms": "Prepaid"
  }
}

এটি একটি কাল্পনিক উদাহরণ, কোনো অ্যাকাউন্টের প্রকৃত ব্যালেন্স নয়। আর্থিক মানগুলোকে দশমিক পরিমাণ হিসেবে বিবেচনা করুন। কোনো অনুরোধ প্রত্যাখ্যাত হলে সমস্যা নির্ণয়ের সময় সার্ভারের রেসপন্স বার্তাটি সংরক্ষণ করুন, তবে ক্রেডেনশিয়াল মুছে ফেলুন।

বিলিং ডেটা সঠিকভাবে ব্যবহার করুন

ব্যালেন্স রেসপন্সে বর্তমান ব্যালেন্স, মুদ্রা এবং পেমেন্টের শর্ত থাকে। এতে ভবিষ্যৎ কলের খরচ বা সম্পূর্ণ ইনভয়েস থাকে না। সেসব প্রশ্নের জন্য সংশ্লিষ্ট রেট ও ব্যবহার অপারেশন ব্যবহার করুন। বিদ্যমান নম্বরের প্ল্যান আজকের ক্যাটালগের প্ল্যান থেকে আলাদা হতে পারে।

ত্রুটি ও পুনঃচেষ্টা সামলানো

অথেনটিকেশন বা অনুমতি সংক্রান্ত ব্যর্থতা
API ক্রেডেনশিয়ালটি সক্রিয় আছে কি না, অনুমোদিত সার্ভিস কোনটি এবং সোর্স-আইপি সীমাবদ্ধতা কী, তা পরীক্ষা করুন। পোর্টাল সেশন কুকি কোনো ইন্টিগ্রেশন ক্রেডেনশিয়াল নয়।
অপর্যাপ্ত ক্রেডিট বা অপূর্ণ অনুমোদন
অপারেশনটি পুনরায় চালানোর আগে অ্যাকাউন্ট ব্যালেন্স, প্রেরণ অনুমোদন বা ডকুমেন্ট সংক্রান্ত শর্ত পূরণ করুন।
কোনো ফলাফল নেই
খালি ইনভেন্টরি বা অনুপস্থিত কলারের নামকে একটি স্বাভাবিক ফলাফল হিসেবে সামলান। ধরে নেবেন না যে বাক্যগঠনগতভাবে বৈধ কোনো নম্বরে সব সার্ভিস রয়েছে।
নেটওয়ার্ক টাইমআউট বা সার্ভিস ব্যর্থতা
রিড অপারেশনের জন্য ব্যাকঅফসহ সীমিত সংখ্যক পুনঃচেষ্টা করুন। ক্রয়, প্রেরণ বা নিবন্ধনের ক্ষেত্রে আগে অপারেশনের অবস্থা পরীক্ষা করুন; গৃহীত অনুরোধ পুনরায় পাঠালে একই বিলযোগ্য কাজ দুইবার হয়ে যেতে পারে।

Idempotency সমর্থন প্রতিটি API পরিবারের নিজস্ব বিষয়। Emergency API রিট্রাই কী সমর্থন করে; এর অর্থ এই নয় যে যেকোনো v3 অনুরোধ idempotent। সাপোর্টের জন্য টাইমস্ট্যাম্প, ফেরত পাওয়া ID এবং গোপনীয় তথ্য মুছে ফেলা রেসপন্স সংরক্ষণ করুন।

আপনার অ্যাকাউন্টের রেফারেন্স চালিয়ে যান

সাইন‑ইন করা রেফারেন্স আপনার অনুমতি এবং সক্রিয় সার্ভিস অনুযায়ী অপারেশন ফিল্টার করে। এর সঠিক হোস্ট, ক্রেডেনশিয়াল টাইপ, রিকোয়েস্ট ফিল্ড এবং রেসপন্স স্কিমা ব্যবহার করুন। কনসোলগুলি লাইভ অপারেশন সম্পাদন করতে পারে, যার মধ্যে ক্রয় এবং মেসেজ অন্তর্ভুক্ত।