Getting started

Email Transactional

Base URL

เราแนะนำให้เรียกใช้งานทุก Request มาที่ Base URL ผ่าน HTTP POST, GET method
Base URL: https://app-{{domain_app}}.nipamail.com/

Authorization

ระบบรองรับ basic authorization ด้วย username และ password กับ Base64 encoding RFC2045-MIME.
ตัวอย่าง Authorization header สร้างได้ดังนี้

Username: Aladdin
Password: opensesame
Base64 encoded string: QWxhZGRpbjpvcGVuc2VzYW1l
Authorization header: Basic QWxhZGRpbjpvcGVuc2VzYW1l==

การส่ง SMS นั้นสามารถส่งได้หลากหลายรูปแบบโดยกำหนดค่าต่างๆด้วย parameter โดยมีปัจจัย 3 หัวข้อหลักๆดังนี้

  • Username และ Password ต้องถูกรวมกันในรูปแบบ string username:password ดังที่ได้กล่าวมาข้างต้น
  • เข้ารหัส string โดยการใช้มาตราฐาน Base64 encoder.
  • หมายเลขปลายทางต้องอยู่ในรูปแบบ international format standard ที่มี country prefix เท่านั้น ข้อความถึงจะถูกส่งไปยังผู้รับได้อย่างสมบูรณ์ เช่น ประเทศไทย 66847781470

การส่งข้อความ

ท่านสามารถเริ่มสร้าง HTTP POST Request โดยต้องระบุ Header authorization และ content type

  • Authorization: Basic QWxhZGRpbjpvcGVuc2VzYW1l==
  • Content-Type: application/json

JSON การส่ง SMS ไปยังหมายเลขปลายทาง

POST https://app-{{ domain_app }}.nipamail.com/v1.0/sms/post
Example Request
POST /sms/post HTTP/1.1
Host: app-{{domain_app}}.nipamail.com
Authorization: Basic QWxhZGRpbjpvcGVuc2VzYW1l==

{
 "from":"Nopamail",
 "to":"66847781470",
 "text":"ร่วมฉลอง ครบรอบการก่อตั้ง บริษัท Nipa technology วันนี้ เวลา 18:00 น.",
}

                    
Example Result success
เมื่อคุณดำเนินการเรียก API ข้างต้นคุณจะได้รับข้อมูลความสำเร็จหรือข้อมูลข้อผิดพลาดในรูปแบบ JSON

{
    "messages": [
        {
            "to": "66985659329",
            "status": {
                "groupId": 1,
                "groupName": "PENDING",
                "id": 7,
                "name": "PENDING_ENROUTE",
                "description": "Message sent to next instance"
            },
            "smsCount": 1,
            "messageId": "2294906155553536978"
        }
    ]
}

Example Result fail
เมื่อคุณดำเนินการเรียก API ข้างต้นคุณจะได้รับข้อมูลความสำเร็จหรือข้อมูลข้อผิดพลาดในรูปแบบ JSON

{
    "messages": [
        {
            "to": "66985659329",
            "status": {
                "groupId": 5,
                "groupName": "REJECTED",
                "id": 19,
                "name": "REJECTED_ROUTE_NOT_AVAILABLE",
                "description": "Route not available",
                "action": "Contact account manager"
            },
            "smsCount": 1,
            "messageId": "2294908774093535682"
        }
    ]
}
      

การส่งข้อความหลายๆ หมายเลข

POST https://app-{{ domain_app }}.nipamail.com/v1.0/sms/multipost
Example Request
POST /sms/multipost HTTP/1.1
Host: app-{{domain_app}}.nipamail.com
Authorization: Basic QWxhZGRpbjpvcGVuc2VzYW1l==

[

{
 "from":"Nopamail",
 "to":"66847781470",
 "text":"ร่วมฉลอง ครบรอบการก่อตั้ง บริษัท Nipa technology วันนี้ เวลา 18:00 น.",
}
{
 "from":"Nopamail",
 "to":"66845864701",
 "text":"ร่วมลุ้นรับรางวัลใหญ่กับกิจกรรมพิเศษวันวาเลนไทน์.",
}
...

]
                    
Example Result success
เมื่อคุณดำเนินการเรียก API ข้างต้นคุณจะได้รับข้อมูลความสำเร็จหรือข้อมูลข้อผิดพลาดในรูปแบบ JSON

{
  "bulkId":"5028e2d42f19-42f1-4656-351e-a42c191e5fd2",
  "messages": [
        {
          "to":"66847781470",
          "status":{
              "groupId":0,
              "groupName":"ACCEPTED",
              "id":0,
              "name":"MESSAGE_ACCEPTED",
              "description":"Message accepted"
          },
          "smsCount":1,
          "messageId":"4242f196ba50-a356-2f91-831c4aa55f351ed2"
      },
      {
          "to": "66845864701",
          "status": {
              "groupId": 1,
              "groupName": "PENDING",
              "id": 7,
              "name": "PENDING_ENROUTE",
              "description": "Message sent to next instance"
          },
          "smsCount": 1,
          "messageId": "4242f196ba50-a356-2f91-aklsjf12ko123u32"
      },
      ...
  ]
}

การเรียกดูรายงานการส่ง

GET https://app-{{ domain_app }}.nipamail.com/v1.0/sms/{messageid}
Example Request
GET /sms/{messageid} HTTP/1.1
Host: app-{{domain_app}}.nipamail.com
Authorization: Basic QWxhZGRpbjpvcGVuc2VzYW1l==
                    
Example Result
เมื่อคุณดำเนินการเรียก API ข้างต้นคุณจะได้รับข้อมูลความสำเร็จหรือข้อมูลข้อผิดพลาดในรูปแบบ JSON

  {
      "messageid": "2294928388301630021",
      "status": "DELIVERED",
      "resource": {
          "sender": "Nopamail",
          "to": "0847781470",
          "text": "ร่วมฉลอง ครบรอบการก่อตั้ง บริษัท Nipa technology วันนี้ เวลา 18:00 น."
      },
      "send_days": "2018-06-20",
      "sent_date": "2018-06-20 18:07:18",
      "logstime": 1529492838,
      "smsCount": 1,
      "sentAt": "2018-06-20T11:07:18.837+0000",
      "doneAt": "2018-06-20T11:07:19.884+0000",
      "price": 0.01
  }

การเรียกดูรายงานการส่งแบบกลุ่ม

GET https://app-{{ domain_app }}.nipamail.com/v1.0/sms/{bulkId}/bulkId
Example Request
GET /sms/{bulkId}/bulkId HTTP/1.1
Host: app-{{domain_app}}.nipamail.com
Authorization: Basic QWxhZGRpbjpvcGVuc2VzYW1l==
                    
Example Result
เมื่อคุณดำเนินการเรียก API ข้างต้นคุณจะได้รับข้อมูลความสำเร็จหรือข้อมูลข้อผิดพลาดในรูปแบบ JSON

{
    "status": 200,
    "bulkId": "2498721690972652339",
    "total": 2,
    "page": 1,
    "data": [
        {
            "to": "0646148082",
            "resource": {
                "sender": "NipaMail",
                "to": "66646148082",
                "text": "ทดสอบการทำงาน สุดท้ายละ2"
            },
            "send_days": "2019-02-11",
            "sent_date": "2019-02-11 15:02:48",
            "logstime": 1549872168,
            "bulkId": "2498721690972652339",
            "messageid": "2498721690972652340",
            "status": "DELIVERED",
            "smsCount": 1,
            "sentAt": "2019-02-11T08:02:49.100+0000",
            "doneAt": "2019-02-11T08:02:50.855+0000",
            "price": 0.01
        },
        {
            "to": "0985659329",
            "resource": {
                "sender": "NipaMail",
                "to": "66985659329",
                "text": "ทดสอบการทำงาน สุดท้ายละ2"
            },
            "send_days": "2019-02-11",
            "sent_date": "2019-02-11 15:02:48",
            "logstime": 1549872168,
            "bulkId": "2498721690972652339",
            "messageid": "2498721690972652341",
            "status": "DELIVERED",
            "smsCount": 1,
            "sentAt": "2019-02-11T08:02:49.100+0000",
            "doneAt": "2019-02-11T08:02:50.455+0000",
            "price": 0.01
        }
    ],
    "date": "2019-07-24 17:15:33"
}

General Respond status Codes

Group ID Group Name Description
0 ACCEPTED Message is accepted.
1 PENDING Message is in pending status.
2 UNDELIVERABLE Message is undeliverable.
3 DELIVERED Message is delivered
4 EXPIRED Message is expired.
5 REJECTED Message is rejected.

General Errors Groups

Group ID Group Name Description
0 OK No error
1 HANDSET_ERRORS Handset error occurred.
2 USER_ERRORS User error occurred.
3 OPERATOR_ERRORS Operator error occurred.