মূল বিষয়ে যান
BitSMS
মেনু

ডেভেলপার

ডেভেলপারদের জন্য এসএমএস এপিআই

ছোট ও সহজবোধ্য REST এপিআই। cURL, Node.js, PHP, Python বা Go দিয়ে দুই মিনিটে প্রথম এসএমএস পাঠান।

দ্রুত শুরু

  1. 1

    অ্যাকাউন্ট খুলুন

    সাইন আপ করে মোবাইল নম্বর যাচাই করুন, ট্রায়াল ক্রেডিট পাবেন।

  2. 2

    এপিআই কি তৈরি করুন

    ড্যাশবোর্ডে API keys খুলে messages:send অনুমতিসহ একটি কি তৈরি করুন। এটি একবারই দেখানো হয়; BITSMS_API_KEY নামে সংরক্ষণ করুন।

  3. 3

    মেসেজ পাঠান

    নম্বর ও টেক্সটসহ POST /v1/messages করুন। 202 ও একটি মেসেজ আইডি পাবেন; এপিআই বা ওয়েবহুকে স্ট্যাটাস দেখুন।

এসএমএস পাঠানো

নম্বর 01XXXXXXXXX, 8801XXXXXXXXX বা +8801XXXXXXXXX যেকোনো ফরম্যাটে দিতে পারেন। ডিফল্ট নন-মাস্কিং সেন্ডার ব্যবহার করতে sender_id বাদ দিন।

curl https://sms-api.bitcommerz.com/v1/messages \
  -H "Authorization: Bearer $BITSMS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-5521-shipped" \
  -d '{"to": "01712345678", "text": "Your order #5521 has shipped."}'

মেসেজের অবস্থা দেখা

স্ট্যাটাস শুধু সামনের দিকে যায়: queued, sent, তারপর delivered, failed বা expired। এগুলো জানার ভালো উপায় ওয়েবহুক।

curl https://sms-api.bitcommerz.com/v1/messages/$MESSAGE_ID \
  -H "Authorization: Bearer $BITSMS_API_KEY"

ওটিপি পাঠানো ও যাচাই

কোড BitSMS তৈরি করে এবং কখনো ফেরত দেয় না। যাচাইয়ে verified: true বা false আসে; ৫ বার ভুল কোড বা মেয়াদ শেষ হলে ওটিপি বন্ধ হয়ে যায়।

# 1. Send: BitSMS generates the code and never returns it.
curl https://sms-api.bitcommerz.com/v1/otp \
  -H "Authorization: Bearer $BITSMS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: login-7f3a91" \
  -d '{"to": "01712345678", "app_name": "MyShop"}'
# → 202 {"otp_id": "…", "message_id": "…", "expires_at": "…"}

# 2. Verify what the user typed.
curl https://sms-api.bitcommerz.com/v1/otp/$OTP_ID/verify \
  -H "Authorization: Bearer $BITSMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code": "482913"}'
# → 200 {"verified": true}

ওয়েবহুক সিগনেচার যাচাই

প্রতিটি ডেলিভারিতে BitSMS-Signature হেডার থাকে। ইভেন্টে ভরসা করার আগে আপনার এন্ডপয়েন্ট সিক্রেট দিয়ে র বডির সাথে মিলিয়ে নিন।

# Each delivery is signed:
#   BitSMS-Signature: t=1730000000,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd
# v1 = hex(HMAC-SHA256(webhook_secret, "<t>.<raw request body>"))
# Reject if t is more than 5 minutes old. During secret rotation there are
# two v1= values; accept either.

এপিআই কীভাবে কাজ করে

অথেন্টিকেশন

কি পাঠান Authorization: Bearer bsk_live_… হিসেবে। প্রতিটি কি-র নির্দিষ্ট অনুমতি থাকে এবং আপনার সার্ভারের IP-তে সীমাবদ্ধ করা যায়। কি কখনো ব্রাউজার বা মোবাইল অ্যাপে রাখবেন না।

আইডেমপোটেন্সি

প্রতিটি সেন্ডে Idempotency-Key লাগে। একই কি ও বডি দিয়ে আবার চেষ্টা করলে আগের ফলাফলই ফেরত আসে, তাই নেটওয়ার্ক টাইমআউটে ডুপ্লিকেট এসএমএস বা দুবার চার্জ হয় না।

এরর

সব এররের গঠন এক: insufficient_credit বা invalid_destination-এর মতো স্থির কোড, পড়ার মতো বার্তা, আর সাপোর্টকে জানানোর জন্য একটি রিকোয়েস্ট আইডি।

রেট লিমিট

প্রতিটি কি-র নির্দিষ্ট রিকোয়েস্ট রেট আছে। রেসপন্সে X-RateLimit হেডার থাকে; সীমা ছাড়ালে Retry-After সহ 429 আসে।

কয়েক মিনিটেই প্রথম এসএমএস পাঠান

সাইন আপ করুন, মোবাইল নম্বর যাচাই করুন এবং পরীক্ষার জন্য ৳২৫ ফ্রি ক্রেডিট নিন। কোনো কার্ড লাগবে না।