Help Center Khả năng tương thích API TurboSMS

Khả năng tương thích API TurboSMS

SMSBAT hỗ trợ đầy đủ lớp tương thích với TurboSMS API. Điều này cho phép bạn di chuyển trực tiếp các tích hợp hiện có được thiết kế cho TurboSMS sang SMSBAT mà không cần phải viết lại cấu trúc tin nhắn hoặc tải trọng điểm cuối.

Chúng tôi hỗ trợ gửi tin nhắn SMS và Viber (bao gồm các tính năng nâng cao như băng chuyền và khảo sát), tìm nạp trạng thái và tìm nạp chi tiết tin nhắn bằng cách sử dụng cấu trúc nội dung yêu cầu giống hệt như bạn đã quen thuộc.

Xác thực

Sự khác biệt duy nhất so với API TurboSMS gốc là cơ chế xác thực. Trong khi TurboSMS sử dụng tham số truy vấn mã thông báo tùy chỉnh hoặc tiêu đề xác thực cụ thể thì SMSBAT yêu cầu Mã thông báo mang tiêu chuẩn.

Bạn phải đưa Mã thông báo API SMSBAT của mình vào tiêu đề Ủy quyền cho tất cả các yêu cầu:

Authorization: Bearer YOUR_SMSBAT_TOKEN

##URL cơ sở

Tất cả các điểm cuối phải được chuyển hướng đến URL cơ sở API SMSBAT:

https://restapi.smsbat.com

Gửi một tin nhắn

Điểm cuối: POST /api/tsms/message/send

Cho phép gửi tin nhắn SMS và Viber với sự hỗ trợ gửi kết hợp (Viber với dự phòng SMS). Nó xử lý một yêu cầu gửi và trả về kết quả gửi cho mỗi người nhận.

Khả năng chính

  • Tham số linh hoạt: Tham số chung có thể bị ghi đè bằng tham số SMS/Viber cụ thể.
  • Nội dung: Hỗ trợ băng chuyền Viber, khảo sát, tệp đính kèm và các nút tương tác.
  • Xử lý lỗi: Trả về HTTP 200 ngay cả khi có lỗi (phản hồi lỗi có cấu trúc). response_code: 999 với trạng thái FATAL_ERROR do lỗi hệ thống.
  • Lỗi người nhận: Lỗi người nhận cụ thể được trả về trong mảng response_result. Người nhận không thành công có message_id: null và mã lỗi cụ thể.

Ví dụ về yêu cầu (Tin nhắn kết hợp)

{
  "sender": "GlobalSender",
  "text": "Test message",
  "recipients": ["380951111111", "380952222222"],
  "start_time": "2025-09-29T10:00:00Z",
  "sequence_id": "seq_12345",
  "sms": {
    "sender": "SMSSender",
    "text": "SMS version of message",
    "is_flash": false
  },
  "viber": {
    "sender": "ViberSender",
    "text": "Viber version of message",
    "ttl": 3600,
    "image_url": "https://example.com/image.png",
    "caption": "Button text",
    "action": "https://google.com",
    "count_clicks": true,
    "is_transactional": false
  }
}

Ví dụ về yêu cầu (Băng chuyền Viber)

{
  "sender": "GlobalSender",
  "text": "Check out our products",
  "recipients": ["380951111111"],
  "viber": {
    "sender": "ViberSender",
    "text": "Check out our products",
    "is_transactional": false,
    "carousel": [
      {
        "title": "Product 1",
        "image_url": "https://example.com/product1.jpg",
        "button_caption": "Buy Now",
        "button_url": "https://example.com/buy/product1",
        "link_caption": "Learn More",
        "link_url": "https://example.com/product1"
      },
      {
        "title": "Product 2",
        "image_url": "https://example.com/product2.jpg",
        "button_caption": "Buy Now",
        "button_url": "https://example.com/buy/product2",
        "link_caption": "Learn More",
        "link_url": "https://example.com/product2"
      }
    ]
  }
}

Ví dụ về yêu cầu (Khảo sát trên Viber)

{
  "sender": "GlobalSender",
  "text": "Please rate our service",
  "recipients": ["380951111111"],
  "viber": {
    "sender": "ViberSender",
    "text": "Please rate our service",
    "is_transactional": true,
    "survey": [
      "Excellent",
      "Good",
      "Average",
      "Poor"
    ]
  }
}

Gửi nhiều tin nhắn (hàng loạt)

Điểm cuối: POST /api/tsms/message/sendmulti

Phương pháp này cho phép bạn gửi nhiều yêu cầu send trong một yêu cầu HTTP duy nhất, tiết kiệm chi phí kết nối. Gọi sendmulti với dữ liệu cho 100 yêu cầu sẽ nhanh hơn thực hiện 100 yêu cầu send riêng lẻ.

Ví dụ yêu cầu

{
  "batch_1": {
    "sender": "GlobalSender",
    "text": "Test message",
    "recipients": ["380982462128", "380501111111"],    
    "sms": {
        "sender": "SMSSender",
        "text": "SMS version of message"
    }
  },
  "batch_2": {
    "sender": "GlobalSender",
    "text": "Second message",
    "recipients": ["380501111111"],
    "viber": {
      "sender": "ViberSender",
      "text": "Viber message",
      "is_transactional": true
    }
  }
}

Ví dụ về phản hồi

{
    "response_code": 0,
    "response_status": "OK",
    "response_result": {
        "batch_1": {
            "response_code": 800,
            "response_status": "SUCCESS_MESSAGE_ACCEPTED",
            "response_result": [
                {
                    "phone": "380982462128",
                    "response_code": 0,
                    "message_id": "f1640579-ea75-4bc1-b708-1c3858bf222d",
                    "response_status": "OK"
                }
            ]
        },
        "batch_2": { ... }
    }
}

Nhận trạng thái tin nhắn

Điểm cuối: POST /api/tsms/message/status

Truy xuất trạng thái gửi của tin nhắn đã gửi bằng cách cung cấp message_id của chúng.

Ví dụ yêu cầu

{
  "messages": [
      "573dcb46-7851-4e16-bb1f-721c13ef5f38", 
      "6b7f9ff5-28c8-4f38-913b-31af6021fbea"
  ]
}

Nhận chi tiết tin nhắn

Điểm cuối: POST /api/tsms/message/details

Cho phép bạn truy xuất thông tin chi tiết về tin nhắn đã tạo, bao gồm chi tiết tải trọng đầy đủ cho các kênh SMS và Viber, giá cả và dấu thời gian chính xác.

Ví dụ yêu cầu

{
  "messages": [
      "573dcb46-7851-4e16-bb1f-721c13ef5f38", 
      "f1640579-ea75-4bc1-b708-1c3858bf222d"
  ]
}

Ví dụ về phản hồi

{
    "response_code": 0,
    "response_status": "OK",
    "response_result": [
        {
            "message_id": "573dcb46-7851-4e16-bb1f-721c13ef5f38",
            "sms": null,
            "viber": {
                "added": "2025-09-29T14:17:02.577Z",
                "start": "2025-09-29T10:00:00Z",
                "sent": "2025-09-29T14:17:02.577Z",
                "updated": "2025-09-29T14:17:02.577Z",
                "sender": "ViberSender",
                "text": "Viber version of message",
                "recipient": "380982462128",
                "message_type": "promotional",
                "status": "Queued",
                "price": 0,
                "ttl": 3600,
                "caption": "Button text",
                "action": "https://google.com"
            },
            "response_code": 0,
            "response_status": "OK"
        }
    ]
}