WO SMS — API Documentation

Protocol: HTTPS Method: POST Body: JSON Auth: UserName + Apikey HTTP Status: সবসময় 200

Overview

এই ডকুমেন্টে WO SMS প্লাগিন যে API কল করে তার পূর্ণ বিবরণ দেওয়া আছে — যাতে SMS প্যানেল ঠিকভাবে রেসপন্স দিতে পারে।

গেটওয়ে সবসময় HTTP 200 ফেরত দেয় — আসল ফলাফল থাকে JSON body-র statusCode / status ফিল্ডে।

Base URL

https://smsapi.resellcore.com/
কাজMethodEndpoint
SMS পাঠানোPOST/api/SmsSending/SMS
ব্যালেন্স চেকPOST/api/SmsSending/balanceCheck
Base URL দরকার হলে wp-config.php-এ override করা যায়:
define( 'WOSMS_API_BASE', 'https://smsapi.resellcore.com/' );

1 Send SMS

POST https://smsapi.resellcore.com/api/SmsSending/SMS

Headers

Content-Type: application/json
Accept: application/json

Request Body (JSON)

{
  "UserName": "your_username",
  "Apikey": "your_api_key",
  "MobileNumber": "8801712345678",
  "CampaignId": "null",
  "SenderName": "CODEFORHOST",
  "TransactionType": "T",
  "Message": "প্রিয় গ্রাহক, আপনার অর্ডার কনফার্ম হয়েছে।"
}

Parameters

FieldTypeRequiredবিবরণ
UserNamestringপ্যানেলের ইউজারনেম
Apikeystringপ্যানেলের API key
MobileNumberstringপ্রাপকের নম্বর, 8801XXXXXXXXX ফরম্যাটে
CampaignIdstringক্যাম্পেইন না থাকলে "null" (স্ট্রিং)
SenderNamestringঅনুমোদিত Sender ID / Masking
TransactionTypestring"T" = Transactional, "P" = Promotional
MessagestringSMS টেক্সট (UTF-8, বাংলা সাপোর্টেড)

cURL উদাহরণ

# Send SMS
curl -X POST "https://smsapi.resellcore.com/api/SmsSending/SMS" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "UserName": "your_username",
    "Apikey": "your_api_key",
    "MobileNumber": "8801712345678",
    "CampaignId": "null",
    "SenderName": "CODEFORHOST",
    "TransactionType": "T",
    "Message": "Test message"
  }'

Success Response (HTTP 200)

{
  "statusCode": "200",
  "status": "Success",
  "responseResult": "SMS Submitted Successfully"
}

❌ Error Response (HTTP 200, ভিন্ন statusCode)

{
  "statusCode": "406",
  "status": "Failed",
  "responseResult": "IP Black List."
}
responseResultকারণ
IP Black List.সার্ভার IP প্যানেলে whitelist করা নেই
Invalid User Name Or Passwordভুল UserName / Apikey
Invalid Sender IdSenderName অনুমোদিত নয়
Insufficient Balanceব্যালেন্স শেষ
Invalid Numberনম্বর ফরম্যাট ভুল

2 Balance Check

POST https://smsapi.resellcore.com/api/SmsSending/balanceCheck

Request Body (JSON)

{
  "UserName": "your_username",
  "Apikey": "your_api_key"
}

cURL উদাহরণ

curl -X POST "https://smsapi.resellcore.com/api/SmsSending/balanceCheck" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{ "UserName": "your_username", "Apikey": "your_api_key" }'

Success Response (HTTP 200)

{
  "statusCode": "200",
  "status": "Success",
  "responseResult": "1375.33"
}

প্লাগিন responseResult-কে ব্যালেন্স হিসেবে পড়ে এবং ৳1,375.33 ফরম্যাটে দেখায়। balance / Balance / current_balance কী থাকলেও ধরতে পারে।

Response ব্যাখ্যা

গেটওয়ে সবসময় HTTP 200 দেয়। প্লাগিন এভাবে success/fail নির্ণয় করে:

success = (HTTP 2xx)
          AND ( statusCode == "200"
                OR status ∈ { "Success", "Sent", "Delivered" } )
Fieldমান (success)
statusCode"200"
status"Success"
responseResultমানুষ-পাঠযোগ্য বার্তা / ব্যালেন্স

Field নাম case-insensitive সহনশীল: statusCode/StatusCode, status/Status, responseResult/ResponseResult — যেকোনোটি চলবে।

নম্বর ফরম্যাট, Signature ও IP Whitelist

মোবাইল নম্বর ফরম্যাট

ইনপুটপাঠানো হয়
017123456788801712345678
17123456788801712345678
88017123456788801712345678 (অপরিবর্তিত)

Signature

Settings-এ Signature সেট থাকলে (যেমন -YourBrand) প্রতিটি Message-এর শেষে যোগ হয় (আগে থেকে থাকলে দুবার যোগ হয় না)। খালি রাখলে কিছু যোগ হয় না।

IP Whitelist

API IP Black List. দিলে সার্ভারের আউটগোয়িং IP প্যানেলে যোগ করতে হবে। প্লাগিন IPv6 ঝামেলা এড়াতে অনুরোধ IPv4-তে pin করে রাখে।

বন্ধ করতে wp-config.php-এ: define( 'WOSMS_FORCE_IPV4', false );

(ঐচ্ছিক) GET query-string বিকল্প

প্লাগিন POST JSON ব্যবহার করে। অনেক প্যানেল সমতুল্য GET রিকোয়েস্টও গ্রহণ করে — শুধু রেফারেন্সের জন্য:

GET https://smsapi.resellcore.com/api/SmsSending/SMS
# সব প্যারামিটার query string-এ
?UserName=your_username
&Apikey=your_api_key
&MobileNumber=8801712345678
&SenderName=CODEFORHOST
&TransactionType=T
&Message=Test%20message
WO SMS প্লাগিন এই GET ফর্ম ব্যবহার করে না — এটি শুধু তথ্যের জন্য। প্রকৃত ইন্টিগ্রেশন উপরের POST JSON অনুযায়ী।

সারসংক্ষেপ

Base URLhttps://smsapi.resellcore.com/
SendPOST /api/SmsSending/SMS
BalancePOST /api/SmsSending/balanceCheck
Body formatJSON
AuthUserName + Apikey (body-তে)
Success markerstatusCode = "200" বা status = "Success"
HTTP statusসবসময় 200