ডেভেলপার

POST/v3/campaign

একটি মেসেজিং ক্যাম্পেইনে নম্বর বরাদ্দ করুন

একটি মালিকানাধীন SMS প্রেরক নম্বরকে সক্রিয় ক্যাম্পেইনে যুক্ত করুন, কোনো সংযোগ সরান, এবং ট্রান্সপোর্ট গ্রহণযোগ্যতা ও আংশিক হালনাগাদ সামলান।

এই পৃষ্ঠায়
  1. একটি ক্যাম্পেইনে প্রেরক নম্বর বরাদ্দ করুন
  2. অনুরোধ
  3. বর্তমান সংযোগ সরান
  4. প্রতিক্রিয়া ও যাচাইকরণ
  5. ত্রুটি ও আংশিক ফলাফল
  6. পরিধি ও প্রভাব

একটি ক্যাম্পেইনে প্রেরক নম্বর বরাদ্দ করুন

আপনার মেসেজিং ব্র্যান্ড ও প্রোডাকশন ক্যাম্পেইন নিবন্ধিত হওয়ার পর এবং ক্যাম্পেইনটি সক্রিয় থাকলে এই অপারেশনটি ব্যবহার করুন। এটি আপনার অ্যাকাউন্টের একটি SMS-সক্ষম নম্বরকে ক্যাম্পেইনের সাথে যুক্ত করে। এটি কোনো ব্র্যান্ড তৈরি করে না, কোনো ক্যাম্পেইন তৈরি বা অনুমোদন করে না, কোনো নম্বর কেনে না, বা কোনো বার্তা পাঠায় না।

বর্তমান পোর্টাল কোনো নম্বরে ক্যাম্পেইন বরাদ্দ করার সময় এই রুটটি ব্যবহার করে। পাবলিক API একটি ক্যাম্পেইন শনাক্তকারী গ্রহণ করে; এটি আলাদা ব্র্যান্ড শনাক্তকারী গ্রহণ না করে অ্যাকাউন্টের মালিকানাধীন ক্যাম্পেইন থেকে ব্র্যান্ড নির্ধারণ করে।

অনুরোধ

আপনার সক্রিয় API অ্যাকাউন্ট এবং এর অনুমোদিত উৎস IP ঠিকানা ব্যবহার করে HTTPS-এর মাধ্যমে একটি ফর্ম-এনকোডেড POST পাঠান। আপনার অ্যাকাউন্টের প্রকৃত নম্বর ও ক্যাম্পেইন শনাক্তকারী ব্যবহার করুন। এই উদাহরণের নম্বরটি কাল্পনিক।

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'action=add' \
  --data-urlencode "campaign=$CAMPAIGN_ID" \
  --data-urlencode 'number=12025550123' \
  'https://api.multitel.net/v3/campaign'
ক্যাম্পেইন বরাদ্দের প্যারামিটার
প্যারামিটারআবশ্যকঅর্থ
actionহ্যাঁবরাদ্দ করতে add ব্যবহার করুন, অথবা নম্বরের বর্তমান ক্যাম্পেইন সংযোগ সরাতে delete ব্যবহার করুন। বড়-ছোট হাতের অক্ষর ও আশেপাশের ফাঁকা স্থান স্বাভাবিকীকরণ করা হয়।
campaignadd-এর জন্যcampaignId হলো প্রমাণীকৃত অ্যাকাউন্টের মালিকানাধীন একটি ACTIVE ক্যাম্পেইনের শনাক্তকারী। এর ব্র্যান্ডটিও অ্যাকাউন্টের অন্তর্গত হতে হবে। স্পষ্টভাবে স্যান্ডবক্স হিসেবে চিহ্নিত কোনো ক্যাম্পেইন লাইভ প্রেরক নম্বরে বরাদ্দ করা যায় না। delete-এর জন্য এই প্যারামিটারটি বাদ দিন; অপসারণে নম্বরের বিদ্যমান সংযোগ ব্যবহৃত হয়।
numberহ্যাঁমালিকানাধীন, সক্রিয়, অবাতিল (non-void), SMS-সক্ষম প্রেরক নম্বর। উত্তর আমেরিকার নম্বরের জন্য দেশের কোড 1 এবং তারপর এর দশটি অঙ্ক ব্যবহার করুন, প্লাস চিহ্ন ছাড়া। হ্যান্ডলার অঙ্ক নয় এমন অক্ষরগুলো সরিয়ে দেয় এবং প্লাস-যুক্ত ও দশ-অঙ্কের সমতুল্য রূপগুলোও খুঁজে দেখে। এই স্বাভাবিকীকরণ কোনো সাধারণ ফোন-নম্বর বৈধতা যাচাই নয়।

এই অপারেশন একটি নম্বর পরিবর্তন করে। এতে কোনো পেজিনেশন, ব্যাচ প্যারামিটার বা ড্রাই-রান বিকল্প নেই। বিদ্যমান ক্যাম্পেইনে কেবল একটি নম্বর যুক্ত করার জন্য ক্যাম্পেইন তৈরির এন্ডপয়েন্ট ব্যবহার করবেন না।

বর্তমান সংযোগ সরান

মালিকানাধীন নম্বরের সাথে action=delete ব্যবহার করুন। এটি নম্বরের প্রেরক-ক্যাম্পেইন সংযোগ সরিয়ে দেয় এবং সেই নম্বরের জন্য সংরক্ষিত ব্র্যান্ড/ক্যাম্পেইন ফিল্ডগুলো মুছে ফেলে। এটি ক্যাম্পেইন বা ব্র্যান্ড মুছে দেয় না, ফোন নম্বর ছেড়ে দেয় না, নম্বরের পরিষেবা বাতিল করে না, বা ক্যাম্পেইনের পুনরাবৃত্ত বিলিং বন্ধ করে না।

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'action=delete' \
  --data-urlencode 'number=12025550123' \
  'https://api.multitel.net/v3/campaign'

প্রতিক্রিয়া ও যাচাইকরণ

এই কাল্পনিক উদাহরণটি সাধারণ API প্রতিক্রিয়ার খাম (envelope) এবং নির্বাচিত ফলাফল ফিল্ড দেখায়। ফেরত দেওয়া নম্বরটি আপনার অ্যাকাউন্টে সংরক্ষিত বিন্যাস বজায় রাখে। সফল অপসারণের পর brandId এবং campaignId খালি স্ট্রিং হয়।

{
  "status": {"code": 200, "msg": "Campaign assignment updated."},
  "response": {
    "number": "+12025550123",
    "brandId": "BRAND_FROM_ACCOUNT",
    "campaignId": "CAMPAIGN_FROM_ACCOUNT",
    "providerStatus": 200
  }
}

providerStatus হলো মেসেজিং পার্টনারের HTTP স্ট্যাটাস। হ্যান্ডলার একটি 2xx ট্রান্সপোর্ট প্রতিক্রিয়া গ্রহণ করে এবং তারপর স্থানীয় নম্বর রেকর্ড হালনাগাদ করে; এটি আলাদা ব্যবসায়িক-স্তরের গ্রহণযোগ্যতার ফলাফলের জন্য পার্টনারের প্রতিক্রিয়ার বডি ব্যাখ্যা করে না। তাই একটি সফল প্রতিক্রিয়া এই প্রমাণ নয় যে মেসেজিং নিবন্ধন সম্পূর্ণ হয়েছে বা ডেলিভারি সফল হবে। প্রোডাকশন ট্রাফিক পাঠানোর আগে পোর্টালে নম্বরের ক্যাম্পেইন স্ট্যাটাস পর্যালোচনা করুন।

শুধু স্থানীয় সংযোগকে ডেলিভারির অনুমোদন হিসেবে গণ্য করবেন না। ক্যাম্পেইন ও ব্র্যান্ড অনুমোদন, নম্বর প্রভিশনিং, অ্যাকাউন্টের অনুমতি, কনটেন্টের নিয়ম এবং সাধারণ মেসেজিং সীমা এখনও প্রযোজ্য।

ত্রুটি ও আংশিক ফলাফল

  • 401: হ্যান্ডলারের কাছে কোনো প্রমাণীকৃত অ্যাকাউন্ট উপলব্ধ নেই।
  • 400: action অথবা number অনুপস্থিত/অবৈধ, অথবা কোনো add অনুরোধে ক্যাম্পেইন শনাক্তকারী নেই।
  • 404: নম্বরটি মালিকানাধীন, সক্রিয়, অবাতিল SMS নম্বর নয়।
  • 409: ক্যাম্পেইনটি অ্যাকাউন্টের জন্য অনুপলব্ধ, ACTIVE নয়, স্পষ্টভাবে স্যান্ডবক্স, অথবা এর ব্র্যান্ড অ্যাকাউন্টের জন্য অনুপলব্ধ।
  • 503: মেসেজিং ইন্টিগ্রেশন অনুপলব্ধ। অ্যাকাউন্টের ক্রেডেনশিয়াল পরিবর্তন করা বা কনফিগারেশন মান বানিয়ে নেওয়ার পরিবর্তে সাপোর্টের সাথে যোগাযোগ করুন।
  • 502: মেসেজিং অনুরোধ ব্যর্থ হয়েছে, টাইমআউট হয়েছে বা 2xx নয় এমন HTTP স্ট্যাটাস ফেরত দিয়েছে। providerStatus ফেরত দেওয়া হতে পারে। টাইমআউট প্রমাণ করে না যে পার্টনার কোনো পরিবর্তন করেনি।
  • 500 সহ partial=true: মেসেজিং পার্টনার সফল HTTP স্ট্যাটাস ফেরত দিয়েছে, কিন্তু স্থানীয় সংযোগ নিশ্চিত করা যায়নি। পুনরায় চেষ্টা করার আগে পোর্টালে নম্বরটির প্রকৃত অবস্থা পরীক্ষা করে যেকোনো অসংগতি দূর করুন বা সাপোর্টের সাথে যোগাযোগ করুন।

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

পরিধি ও প্রভাব

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

পোর্টালে ভিন্ন ক্যাম্পেইনে পরিবর্তন করলে প্রথমে আগের সংযোগ সরানো হয় এবং তারপর নতুনটি যোগ করা হয়। এগুলো আলাদা অনুরোধ। দ্বিতীয় অনুরোধ ব্যর্থ হলে আগের সংযোগ ইতিমধ্যে সরানো হয়ে থাকতে পারে। ধরে নেবেন না যে দুটি অনুরোধ একসাথে রোলব্যাক হবে।