Skip to content

เริ่มต้นอย่างรวดเร็ว ​

คู่มือนี้จะนำคุณส่ง SMS แบบ Transactional หนึ่งรายการ คุณต้องมี API-Key, X-TenantID และ ชื่อผู้ส่งที่ได้รับอนุมัติ อย่างน้อยหนึ่งชื่อ

1. ตั้งค่า Credentials ​

bash
export ME_API_KEY="your-app-token"
export ME_TENANT="your-tenant-id"
export ME_BASE="https://api.messageeagle.com/api/v1/app1/platform"

2. ส่งข้อความ ​

bash
curl -X POST "$ME_BASE/sms/send_messages/message" \
  -H "API-Key: $ME_API_KEY" \
  -H "X-TenantID: $ME_TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "check_spam_msg_mode": "not_check",
    "data": [
      {
        "sender_name": "MyBrand",
        "operator": "ais",
        "message": "Hi {{first_name}}, your order has shipped.",
        "phone_number": "+66886578553",
        "first_name": "Mali",
        "transaction_uuid": "018f7b2a-7c3e-7a1b-9c2d-1a2b3c4d5e6f"
      }
    ]
  }'
go
package main

import (
	"context"
	"log"

	"github.com/lodashventure/messageeagle/sms-voice/sdk"
)

func main() {
	client, err := sdk.New(sdk.Config{
		BaseURL:  "https://api.messageeagle.com",
		APIKey:   "your-api-key",
		TenantID: "your-organization-id",
	})
	if err != nil {
		log.Fatal(err)
	}

	resp, err := client.SMS.SendMessage(context.Background(), &sdk.SendMessageRequest{
		CheckSpamMsgMode: "not_check",
		Data: []sdk.SendMessageItem{{
			SenderName:  "MyBrand",
			Operator:    "ais",
			PhoneNumber: "+66886578553",
			Message:     "Hi Mali, your order has shipped.",
		}},
	})
	if err != nil {
		log.Fatal(err)
	}
	log.Printf("accepted=%d rejected=%d batches=%+v", resp.Accepted, resp.Rejected, resp.Batches)
}
ts
const res = await fetch(`${ME_BASE}/sms/send_messages/message`, {
  method: "POST",
  headers: {
    "API-Key": ME_API_KEY,
    "X-TenantID": ME_TENANT,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    check_spam_msg_mode: "not_check",
    data: [
      {
        sender_name: "MyBrand",
        operator: "ais",
        message: "Hi {{first_name}}, your order has shipped.",
        phone_number: "+66886578553",
        first_name: "Mali",
        transaction_uuid: "018f7b2a-7c3e-7a1b-9c2d-1a2b3c4d5e6f",
      },
    ],
  }),
});
console.log(await res.json());

3. อ่านผลลัพธ์ ​

ผลลัพธ์รายงานการกระจายข้อความ โดยห่อไว้ใน data แถวที่ใช้ operator + ผู้ส่ง + ข้อความเดียวกันจะถูกรวมเป็นหนึ่ง batch

json
{
  "data": {
    "accepted": 1,
    "rejected": 0,
    "batches": [
      {
        "batch_id": "018f7b2a-7c3e-7a1b-9c2d-1a2b3c4d5e6f",
        "accepted": 1,
        "rejected": 0
      }
    ]
  }
}

undeliverable_chars

batch อาจมี undeliverable_chars ซึ่งคือตัวอักษรที่ผู้ให้บริการทำหายระหว่างทาง ความเสียหายนี้มองไม่เห็นจากภายนอก เพราะข้อความถูกรับไว้ คิดค่าบริการแล้ว แต่เครื่องปลายทางไม่แสดงตัวอักษรนั้น

ชื่อผู้ส่งต้องได้รับอนุมัติ

ถ้า sender_name ยังไม่ได้รับอนุมัติสำหรับผู้ให้บริการปลายทาง ผู้รับเหล่านั้นจะถูกนับใน rejected แทนที่จะทำให้ทั้งคำขอล้มเหลว

ขั้นตอนถัดไป ​

  • Authentication — รายละเอียด Header และข้อผิดพลาด
  • SMS Messaging — การส่งแบบ Broadcast, การจัดกำหนดเวลา และ Templating
  • Webhooks & Delivery Reports — รับการแจ้งเตือนเมื่อข้อความถูกส่งถึงผู้รับ