পাঠানো

POST /v1/batches ব্যবহার করে বাল্ক এসএমএস পাঠান

POST/v1/batches

একটি অনুরোধে 10,000 নম্বর পর্যন্ত পাঠান। সম্পূর্ণ খরচ একবারে ব্যালেন্স থেকে কেটে নেওয়া হয়।

অনুরোধ বডি

  • toarray of stringsঐচ্ছিক

    একটি শেয়ার্ড টেক্সটের জন্য নম্বর। text সহ to ব্যবহার করুন, অথবা messages।

  • textstringঐচ্ছিক

    শেয়ার্ড টেক্সট, to এর সাথে বাধ্যতামূলক।

  • messagesarray of objectsঐচ্ছিক

    প্রতিটি প্রাপকের জন্য একটি {to, text}, ব্যক্তিগত টেক্সটের জন্য।

  • namestringঐচ্ছিক

    কনসোলের জন্য একটি লেবেল, সর্বোচ্চ 100 অক্ষর।

  • referencestringঐচ্ছিক

    আপনার নিজস্ব আইডি, সর্বোচ্চ 100 অক্ষর, ব্যাচ এবং প্রতিটি বার্তায় ফেরত দেওয়া হয়।

  • send_atstringঐচ্ছিক

    ISO 8601 সময়, 2 মিনিট থেকে 45 দিন আগে।

curl https://bulksmsapi.cc/v1/batches \
  -H "Authorization: Bearer $BULKSMSAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: spring-sale-0412" \
  -d '{
    "name": "Spring sale",
    "text": "Spring sale at Northwind: 20% off until Sunday. Opt out: northwind.example/sms",
    "to": [
      "+14155550123",
      "+447400123456",
      "+4915123456789"
    ]
  }'
202 AcceptedJSON
{
  "id": "bat_6TQ2W8M1ZK4N",
  "object": "batch",
  "name": "Spring sale",
  "status": "queued",
  "source": "api",
  "encoding": "GSM-7",
  "recipients": 3,
  "max_segments": 1,
  "cost": "0.02741",
  "refunded": "0.00000",
  "currency": "USD",
  "counts": { "scheduled": 0, "queued": 3, "sent": 0, "delivered": 0, "failed": 0, "canceled": 0 },
  "send_at": null,
  "reference": null,
  "created_at": "2026-11-07T09:31:40.102Z",
  "completed_at": null,
  "set_aside": []
}

যেসব নম্বর সেট-অ্যাসাইড করা হয়েছে

প্রতিটি নম্বর আলাদাভাবে পরিষ্কার এবং মূল্যায়ন করা হয়। পাঠানো যায় না এমন নম্বরগুলি ব্যাচ থেকে বাদ দেওয়া হয়, চার্জ করা হয় না, এবং set_aside তে একটি কারণ সহ তালিকাভুক্ত করা হয়:

reasonঅর্থ
invalid_numberপরিষ্কারের পর + এবং 7 থেকে 15 ডিজিট হিসেবে পাঠযোগ্য নয়।
duplicateঅনুরোধে একই নম্বর আগে দেখা গেছে।
unsupported_countryনম্বরটি কোনো মূল্যায়িত দেশের নয়।
too_longএর ব্যক্তিগত টেক্সটের 10টির বেশি সেগমেন্ট প্রয়োজন।
empty_textএর ব্যক্তিগত টেক্সট খালি।
suppressedনম্বরটি আপনার ডু-নট-সেন্ড তালিকায় আছে।

যদি কোনো নম্বর অবশিষ্ট না থাকে, অনুরোধটি প্রথম কারণের কোড সহ ব্যর্থ হয় (যেমন invalid_number) এবং কিছু চার্জ করা হয় না।

প্রতিটি নম্বরে ব্যক্তিগত টেক্সট

প্রতিটি প্রাপককে তাদের নিজস্ব টেক্সট দিতে messages ব্যবহার করুন: নাম, সময়, পরিমাণ। প্রতিটি টেক্সট আলাদাভাবে গণনা এবং মূল্যায়ন করা হয়, তাই একটি ব্যাচে এক-সেগমেন্ট এবং দুই-সেগমেন্ট বার্তা মিশ্রিত হতে পারে।

curl https://bulksmsapi.cc/v1/batches \
  -H "Authorization: Bearer $BULKSMSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Appointment reminders, 14 May",
    "send_at": "2026-05-13T16:00:00Z",
    "messages": [
      { "to": "+14155550123", "text": "Hi Ana, your dental check-up is tomorrow at 09:30." },
      { "to": "+14155550178", "text": "Hi Sam, your dental check-up is tomorrow at 11:00." }
    ]
  }'

শিডিউলিং

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

POST/v1/batches/{id}/cancel

একটি শিডিউল্ড ব্যাচ বাতিল করে: প্রতিটি বার্তা বাতিল হয়ে যায় এবং সম্পূর্ণ খরচ একটি রিফান্ড লাইন হিসেবে ব্যালেন্সে ফেরত আসে। একটি শুরু হয়ে যাওয়া ব্যাচ 409 not_cancelable উত্তর দেয়।

curl -X POST https://bulksmsapi.cc/v1/batches/bat_6TQ2W8M1ZK4N/cancel \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"

ব্যাচগুলি পুনরুদ্ধার এবং তালিকাভুক্ত করুন

GET/v1/batches/{id}

স্ট্যাটাস অনুযায়ী লাইভ কাউন্ট সহ ব্যাচ। অগ্রগতির জন্য এটি পোল করুন, অথবা ওয়েবহুক ব্যবহার করুন।

GET/v1/batches

অ্যাকাউন্টের ব্যাচগুলি, নতুনতম প্রথম, লিমিট (1 থেকে 100) এবং starting_after (একটি bat_ id) সহ।

ব্যাচ ফিল্ডস

  • idstring

    bat_ এর পরে 12টি অক্ষর।

  • statusstring

    শিডিউল্ড, কিউড, সেন্ডিং, কমপ্লিটেড বা ক্যান্সেলড।

  • sourcestring

    api বা console।

  • encodingstring

    GSM-7, অথবা UCS-2 যখন কোনো টেক্সটে ইউনিকোড প্রয়োজন।

  • recipientsinteger

    ব্যাচে গৃহীত নম্বরগুলি।

  • max_segmentsinteger

    টেক্সটগুলির মধ্যে সবচেয়ে বড় সেগমেন্ট কাউন্ট।

  • coststring

    ব্যালেন্স থেকে নেওয়া মোট, USD।

  • refundedstring

    ব্যর্থ বা বাতিল করা মেসেজের জন্য এখন পর্যন্ত ফেরত দেওয়া মোট।

  • countsobject

    স্ট্যাটাস অনুযায়ী মেসেজ: শিডিউল্ড, কিউড, সেন্ট, ডেলিভার্ড, ফেইলড, ক্যান্সেলড।

  • send_atstring or null

    শিডিউল্ড সময়, যদি থাকে।

  • completed_atstring or null

    শেষ মেসেজটি যখন চূড়ান্ত স্ট্যাটাসে পৌঁছেছে।

বড় তালিকা

10,000 নম্বরের বেশি লিস্টকে একাধিক রিকোয়েস্টে ভাগ করুন, প্রতিটির নিজস্ব Idempotency-Key সহ (উদাহরণস্বরূপ লিস্ট id এবং পার্ট নম্বর)। মেসেজগুলি নেটওয়ার্কে প্রতি মিনিটে প্রতি অ্যাকাউন্টে সর্বোচ্চ 1,200 টি ক্রমানুসারে হস্তান্তর করা হয়, তাই একটি 50,000 নম্বরের ক্যাম্পেইন এক ঘন্টার মধ্যে শুরু হয়ে যায়। কনসোল একটি পেস্ট বা CSV ফাইল থেকে প্রতি ক্যাম্পেইনে 50,000 নম্বর নেয়।

POST /v1/batches ব্যবহার করে বাল্ক এসএমএস পাঠান | BulkSMSAPI ডক্স