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

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

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


Cài đặt kết nối

Để định tuyến các yêu cầu thông qua SMSBAT, hãy cập nhật URL cơ sở và thông tin xác thực trong tích hợp của bạn:

  • URL cơ sở: https://restapi.smsbat.com
  • Điểm cuối: POST /api/SendMessage
  • Định dạng yêu cầu: application/x-www-form-urlencoded (Dữ liệu biểu mẫu)

Xác thực & Thông tin xác thực

Yêu cầu được xác thực bằng cách sử dụng các tham số được gửi trực tiếp trong dữ liệu biểu mẫu nội dung yêu cầu:

Tham sốLoạiBắt buộcMô tả
người dùngchuỗiThông tin đăng nhập tài khoản SMSBAT của bạn hoặc số nhận dạng người dùng.
chuỗiBí mật API hoặc chữ ký đã đăng ký cho tên người gửi.
từchuỗiTên alpha của người gửi đã đăng ký.
phương thức gửichuỗiLoại kênh. Sử dụng viber cho tin nhắn Viber Business thông thường hoặc viber_otp cho các mẫu Viber OTP.
điện thoạichuỗiSố điện thoại của người nhận ở định dạng quốc tế (ví dụ: 380501234567).

Các loại tin nhắn Viber

Chọn tab bên dưới để xem các tham số cụ thể và tải trọng yêu cầu cho các cấu trúc tin nhắn Viber khác nhau:

Gửi một tin nhắn văn bản đơn giản.

Thông số bổ sung:

Tham sốLoạiBắt buộcMô tả
txtchuỗiVăn bản tin nhắn.

Ví dụ về tải trọng yêu cầu:

POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded

sending_method=viber&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&txt=Hello+from+SMSBAT%21

Thông số bổ sung:

| Tham số | Loại | Bắt buộc | Mô tả |
| :--- | :--- | :--- | :--- |
| `template.id` | chuỗi | **Có** | ID mẫu Viber OTP đã được phê duyệt trước. |
| `template.lang` | chuỗi | **Có** | Mã ngôn ngữ mẫu (ví dụ: `en`, `uk`). |
| `template.params.pin` | chuỗi | **Có** | Giá trị mã pin OTP để đưa vào mẫu. |
| `template.params.business_platform_name` | chuỗi | **Có** | Phần giữ chỗ tên doanh nghiệp trong mẫu. |
| `template.params.code_validity_time` | chuỗi | **Có** | Thời hạn hiệu lực của mã PIN tính bằng phút. |

**Ví dụ về tải trọng yêu cầu:**
```http
POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded

sending_method=viber_otp&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&template.id=otp_template_123&template.lang=en&template.params.pin=123456&template.params.business_platform_name=SMSBAT&template.params.code_validity_time=7
```

Gửi một thẻ tin nhắn tương tác chứa nhiều slide (thẻ) mà người dùng có thể vuốt qua.

Thông số bổ sung:

Tham sốLoạiBắt buộcMô tả
txtchuỗiVăn bản tiêu đề của băng chuyền.
băng chuyền[N].titlechuỗiTiêu đề thẻ N (bắt đầu từ 0).
băng chuyền[N].image_urlchuỗiURL hình ảnh HTTPS công khai của thẻ N.
băng chuyền[N].primary_labelchuỗiChú thích nút chính của thẻ N.
băng chuyền[N].primary_urlchuỗiURL liên kết nút chính của thẻ N.
băng chuyền[N].secondary_labelchuỗiKhôngChú thích nút phụ của thẻ N.
băng chuyền[N].secondary_urlchuỗiKhôngURL liên kết nút phụ của thẻ N.

Ví dụ về tải trọng yêu cầu:

POST /api/SendMessage HTTP/1.1
Host: restapi.smsbat.com
Content-Type: application/x-www-form-urlencoded

sending_method=viber&from=MySender&user=myuser&phone=380501234567&sign=api_secret_signature&txt=Top+picks+for+you&carousel%5B0%5D.title=First+Offer&carousel%5B0%5D.image_url=https%3A%2F%2Fwww.example.com%2Fitem-1.png&carousel%5B0%5D.primary_label=Open&carousel%5B0%5D.primary_url=https%3A%2F%2Fwww.example.com%2Fitem-1&carousel%5B0%5D.secondary_label=Details&carousel%5B0%5D.secondary_url=https%3A%2F%2Fwww.example.com%2Fitem-1%2Fdetails&carousel%5B1%5D.title=Second+Offer&carousel%5B1%5D.image_url=https%3A%2F%2Fwww.example.com%2Fitem-2.png&carousel%5B1%5D.primary_label=Open&carousel%5B1%5D.primary_url=https%3A%2F%2Fwww.example.com%2Fitem-2

Định dạng phản hồi

Điểm cuối tương thích API Messagio trả về phản hồi ở định dạng XML với mã trạng thái HTTP 200 OK.

Phản hồi được chấp nhận (Thành công)

<response>
  <code>0</code>
  <tech_message>OK</tech_message>
  <msg_id phone="380501234567">MESSAGE_GUID</msg_id>
</response>

Phản hồi lỗi

Nếu xác thực tham số yêu cầu không thành công hoặc xác thực không thành công, phản hồi sẽ trả về mã khác 0.

<response>
  <code>-1</code>
  <tech_message>PARAM ERROR (sign)</tech_message>
</response>

Cuộc gọi lại

URL gọi lại phải được triển khai và lưu trữ trên nền tảng của bạn. SMSBAT gửi lệnh gọi lại HTTP để cập nhật hệ thống của bạn về các sự kiện gửi, phản hồi khảo sát và phản hồi của người dùng.

1. Gọi lại trạng thái giao hàng

Được gửi khi thư chuyển trạng thái (đã gửi, đã đọc, không thành công).

  • Loại nội dung: application/x-www-form-urlencoded
  • Phương thức: POST

Yêu cầu định dạng tải trọng:

  • Đã giao:
    msg_id=MESSAGE_GUID&status=delivered
    
  • Đã xem/Đọc:
    msg_id=MESSAGE_GUID&status=delivered&type=seen
    
  • Chưa gửi được / Không thành công:
    msg_id=MESSAGE_GUID&status=undelivered&status_extended=REASON
    

Mô tả trường:

  • msg_id: ID tin nhắn duy nhất SMSBAT (GUID) được trả về trong phản hồi SendMessage.
  • status: Kết quả giao hàng (đã giao, chưa giao hoặc không xác định trạng thái).
  • type: Đặt thành seen khi người nhận đã xem tin nhắn.
  • status_extend: Lý do kỹ thuật cụ thể dẫn đến trạng thái không được gửi (ví dụ: VIBER_EXPIRED, VIBER_BLOCKED_BY_USER, VIBER_USER_NOT_FOUND, VIBER_NO_DEVICE).

2. Gọi lại câu trả lời khảo sát

Được kích hoạt khi người dùng chọn tùy chọn phản hồi trong tin nhắn Khảo sát trên Viber.

  • Loại nội dung: application/x-www-form-urlencoded
  • Phương thức: POST

Định dạng tải trọng yêu cầu:

msg_id=ORIGINAL_SURVEY_MESSAGE_GUID&text=SELECTED_OPTION_TEXT

3. Gọi lại tin nhắn người dùng gửi đến

Được kích hoạt khi người dùng gửi tin nhắn trả lời bằng văn bản hoặc phương tiện trở lại dịch vụ Viber Business của bạn.

  • Loại nội dung: application/json
  • Phương thức: POST

Định dạng tải trọng yêu cầu:

{
  "msg_id": "INBOUND_MESSAGE_GUID",
  "text": "Hello, I have a question",
  "media": "https://example.com/user-attachment.png",
  "phone": "380501234567",
  "sender_bm_id": "12345"
}

Mô tả trường:

  • msg_id: ID tin nhắn duy nhất được tạo cho thư trả lời gửi đến.
  • text: Nội dung văn bản do người dùng gửi (có thể là null nếu họ chỉ gửi media).
  • media: URL trực tiếp để tải xuống bất kỳ tệp đính kèm phương tiện nào do người dùng gửi (có thể là null nếu chỉ có văn bản).
  • phone: Số điện thoại của người gửi ở định dạng quốc tế.
  • sender_bm_id: ID người gửi Viber Business.