Api Document

คู่มือการเชื่อมต่อ

API หลัก

Check BalanceGET
ตรวจสอบเครดิตคงเหลือ
Send SMSPOST
ส่งข้อความ SMS
Delivery ReportPOST
ตรวจสอบสถานะ SMS
Send SMS (Multiple msgs)POST
ส่ง SMS แบบหลายข้อความ
Send OTPPOST
ส่ง OTP
Verify OTPPOST
ยืนยัน OTP

API เสริม #1

สำหรับลูกค้าที่ย้ายมาจากระบบอื่น แต่ไม่ต้องการเขียนโค้ดใหม่
Check BalanceGET
ตรวจสอบเครดิตคงเหลือ
Send SMSPOST
ส่งข้อความ SMS

ไฟล์โค้ดตัวอย่าง

สามารถดาวน์โหลดไปลองใช้ได้ทันที
PHP Classไฟล์ ภาษา PHP พร้อมตัวอย่างการใช้
ส่งข้อความ
URL: https://havesms.com/api/sms/send
Method: POST
Header
FieldTypeDescription
Authorization String โทเคนสำหรับยืนยันตัวตน สามารถสร้างได้ที่หน้า Api Tokens
Content-Type String ต้องระบุเป็น application/json
ตัวอย่างการส่ง header

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}
            
Body
FieldTypeDescription
sender String ขิ่อผู้ส่ง สามารถใช้ได้เฉพาะชื่อที่อนุญาตเท่านั้น
msisdn String หมายเลขโทรศัพท์ เช่น 0888888888,0888888889
message String ข้อความที่ต้องการส่ง
ตัวอย่างการส่ง body

{
  "sender": "OTP",
  "msisdn": "0888888888,088888889",
  "message": "ทดสอบการส่งข้อความ"
}
            
ตัวอย่างข้อมูลตอบกลับ

{
  "error": false,
  "description": "ดำเนินการส่งข้อความ",
  "data": [
      {
          "uuid": "38a1cc95-101c-4d99-b751-402034f06f87",
          "msisdn": "0888888888",
          "status": "pending",
          "result": "OK"
      },
      {
          "uuid": "ad537d82-f1e9-4c30-bc74-f7d0e6eedde2",
          "msisdn": "088888889",
          "status": "pending",
          "result": "OK"
      }
  ]
}
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/api/sms/send',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "msisdn": "{msisdn}",
    "message": "{message}"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {token}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
                
ตรวจสอบสถานะข้อความ
URL: https://havesms.com/api/sms/dr
Method: POST
Header
FieldTypeDescription
Authorization String โทเคนสำหรับยืนยันตัวตน สามารถสร้างได้ที่หน้า Api Tokens
Content-Type String ต้องระบุเป็น application/json
ตัวอย่างการส่ง header

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}
            
Body
FieldTypeDescription
uuid String ID ของข้อความที่ต้องการตรวจสอบ ซึ่ง ID จะได้รับหลังจากส่งข้อความ
ตัวอย่างการส่ง body

{
  "uuid": "1ca17606-32a9-4a1f-afd2-a8359c000001"
}
            
ตัวอย่างข้อมูลตอบกลับ

{
  "error": false,
  "description": "",
  "data":  {
      "uuid": "1ca17606-32a9-4a1f-afd2-a8359c000001",
      "msisdn": "0888888881",
      "status": "failed",
      "result": "Blocklist!"
  }
}
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/api/sms/dr',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "uuid": "{uuid}"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {token}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
                
ส่งข้อความ แบบหลายข้อความแยกตามหมายเลข
URL: https://havesms.com/api/sms/msend
Method: POST
Header
FieldTypeDescription
Authorization String โทเคนสำหรับยืนยันตัวตน สามารถสร้างได้ที่หน้า Api Tokens
Content-Type String ต้องระบุเป็น application/json
ตัวอย่างการส่ง header

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}
            
Body
FieldTypeDescription
sender String ขิ่อผู้ส่ง สามารถใช้ได้เฉพาะชื่อที่อนุญาตเท่านั้น
items Array หมายเลข และข้อความที่ต้องการส่งในแต่ละหมายเลข เป็น json object ที่อยู่ภายใน array ที่มีรูปแบบดังนี้
[{ "msisdn": "หมายเลขโทรศัพท์", "message": "ข้อความ" }, { "msisdn": "หมายเลขโทรศัพท์", "message": "ข้อความ" } ...]
ตัวอย่างการส่ง body

{
  "sender": "NOTICE",
  "items": [
    {"msisdn": "0888888888", "message": "ข้อความ #1"},
    {"msisdn": "0888888889", "message": "ข้อความ #2"},
  ]
}
            
ตัวอย่างข้อมูลตอบกลับ

{
  "error": false,
  "description": "ดำเนินการส่งข้อความ"
}
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/api/sms/msend',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "sender": "{sender}",
    "items": [
      {"msisdn": "{msisdn}", "message": "{message}"},
      {"msisdn": "{msisdn}", "message": "{message}"}
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {token}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
                
เช็คเครดิตคงเหลือ
URL: https://havesms.com/api/sms/balance
Method: GET
Header
FieldTypeDescription
Authorization String โทเคนสำหรับยืนยันตัวตน สามารถสร้างได้ที่หน้า Api Tokens
Content-Type String ต้องระบุเป็น application/json
ตัวอย่างการส่ง header

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}
            
ตัวอย่างข้อมูลตอบกลับ

{
  "error": false,
  "description": "ยอดคงเหลือ",
  "balance": 3993
}
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/api/sms/balance',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {token}'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

                
ส่ง OTP
URL: https://havesms.com/api/otp/send
Method: POST
Header
FieldTypeDescription
Authorization String โทเคนสำหรับยืนยันตัวตน สามารถสร้างได้ที่หน้า Api Tokens
Content-Type String ต้องระบุเป็น application/json
ตัวอย่างการส่ง header

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}
            
Body
FieldTypeRequireDescription
msisdn String Yes หมายเลขโทรศัพท์ เช่น 0888888888
sender String Yes Sender ที่ต้องการใช้
digits Integer No จำนวนหลักของ OTP หากไม่ระบุ จะใช้ตัวเลข 6 หลัก สามารถระบุได้ตั้งแต่ 4-8 หลัก
message String No ข้อความ หากไม่ระบุ จะใช้ข้อความของระบบ หากระบุ จะต้องมี {otp} และ {ref} ในข้อความ เพื่อให้ระบบแทนค่าให้ ส่วน {lifetime} จะแทนค่าอายุของ OTP ซึ่งจะมีหรือไม่มีก็ได้
lifetime Integer No อายุของ OTP หากไม่ระบุ จะมีอายุ 5 นาที สามารถระบุได้ตั้งแต่ 2-10 นาที
ตัวอย่างการส่ง body

{
  "msisdn": "0888888888",
  "sender": "OTP"
}
            
ตัวอย่างข้อมูลตอบกลับ

{
    "error": false,
    "description": "ดำเนินการส่ง OTP เรียบร้อยแล้ว (REF: 92R5)",
    "ref": "92R5",
    "transaction_id": "20220207-ZJZJ-342216",
    "expired_at": "2022-02-07T16:27:34+00:00"
}
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/api/otp/send',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "msisdn": "{msisdn}",
    "sender": "{sender}"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {token}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

                
ยืนยัน OTP
URL: https://havesms.com/api/otp/verify
Method: POST
Header
FieldTypeDescription
Authorization String โทเคนสำหรับยืนยันตัวตน สามารถสร้างได้ที่หน้า Api Tokens
Content-Type String ต้องระบุเป็น application/json
ตัวอย่างการส่ง header

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}
            
Body
FieldTypeDescription
msisdn String หมายเลขโทรศัพท์ เช่น 0888888888
otp String OTP ที่ใช้ยืนยัน เช่น 753951
transaction_id String Transaction Id ที่ได้จากการส่ง OTP เช่น 20220201-ABCD-345678
ตัวอย่างการส่ง body

{
  "msisdn": "0888888888",
  "otp": "999888",
  "transaction_id": "20220101-EFGH-234567",
}
            
ตัวอย่างข้อมูลตอบกลับ

{
    "error": false,
    "description": "ยืนยัน OTP สำเร็จแล้ว"
}
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/api/otp/verify',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "msisdn": "{msisdn}",
    "otp": "{otp}",
    "transaction_id": "{transaction_id}",
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {token}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

                
ส่งข้อความ
URL: https://havesms.com/transform-api/01/v1/rest?username={phone_number}&password={token}&method=send&from={sender}&to={msisdn}&message={message}
Method: GET
ตัวอย่างข้อมูลตอบกลับ

<?xml version="1.0" encoding="UTF-8"?>
<service generator="zend" version="1.0">
    <send>
        <message>OK</message>
        <status>success</status>
        <credit>9</credit>
    </send>
</service>
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/transform-api/01/v1/rest?username={phone_number}&password={token}&method=send&from={sender}&to={msisdn}&message={message}',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
                
เช็คเครดิตคงเหลือ
URL: https://havesms.com/transform-api/01/v1/rest?username={phone_number}&password={token}&method=credit
Method: GET
ตัวอย่างข้อมูลตอบกลับ

<?xml version="1.0" encoding="UTF-8"?>
<service generator="zend" version="1.0">
    <credit>
        <amount>9</amount>
        <status>success</status>
    </credit>
</service>
            
ตัวอย่างโค้ด
  • PHP
  • NodeJs
  • Go
  • Python

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://havesms.com/transform-api/01/v1/rest?username={phone_number}&password={token}&method=credit',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;