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

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

SMSBAT hỗ trợ lớp tương thích với GMS 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 GMS sang SMSBAT mà không cần phải sửa đổi lược đồ định tuyến tin nhắn, cấu trúc tải trọng hoặc trình nghe gọi lại.


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/GMSMessage/send_message
  • Định dạng yêu cầu: application/json
  • Xác thực: Xác thực cơ bản HTTP (sử dụng thông tin xác thực API SMSBAT của bạn)

Tham số yêu cầu

API tương thích GMS chấp nhận một đối tượng JSON có các tham số cấp cao nhất sau:

Tham sốLoạiBắt buộcMô tả
số_điện thoạichuỗiSố điện thoại của người nhận ở định dạng quốc tế (ví dụ: 380501234567).
thẻchuỗiTên người gửi đã đăng ký/tên alpha.
kênhmảngDanh sách các kênh để thử, theo thứ tự ưu tiên. Các giá trị được hỗ trợ: viber, sms, push. Ví dụ: ["viber", "sms"].
tùy chọn kênhđối tượngBản đồ chứa các tùy chọn cho từng kênh đang hoạt động (xem bên dưới).
thêm_idchuỗiKhôngID tin nhắn nội bộ phía khách hàng của bạn.
gọi lại_urlchuỗiKhôngURL điểm cuối trên hệ thống của bạn để nhận lệnh gọi lại trạng thái giao hàng.
mã_phân chiachuỗiKhôngMã định danh mã phân chia tùy chọn (mặc định là main).

Cài đặt tùy chọn kênh

Đối tượng channel_options chứa các cấu hình dành riêng cho kênh.

Được sử dụng khi viber được liệt kê trong mảng channels.

Tham sốLoạiBắt buộcMô tả
văn bảnchuỗiNội dung tin nhắn.
ttlsố nguyênThời gian tồn tại tính bằng giây.
imgchuỗiKhôngURL HTTPS công khai của hình ảnh để hiển thị.
chú thíchchuỗiKhôngNhãn văn bản nút.
hành độngchuỗiKhôngURL đích khi nút được nhấp vào.
tùy chọn khảo sátmảngKhôngMảng chuỗi (2 đến 5 mục) để hiển thị dưới dạng tùy chọn khảo sát.
băng chuyền_itemsmảngKhôngMảng đối tượng trượt sẽ hiển thị dưới dạng băng chuyền Viber (xem cấu trúc trong tab).

Ví dụ về yêu cầu Viber:

{
  "phone_number": "380501234567",
  "tag": "MySender",
  "channels": ["viber"],
  "channel_options": {
    "viber": {
      "text": "Hello from SMSBAT!",
      "ttl": 60,
      "img": "https://www.example.com/image.png",
      "caption": "Open",
      "action": "https://www.example.com"
    }
  }
}

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

Điểm cuối trả về phản hồi ở định dạng JSON với mã trạng thái HTTP 200 OK.

###Phản hồi thành công

{
  "MessageId": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "ErrorCode": null,
  "ErrorText": null
}

Phản hồi lỗi

Nếu xác thực hoặc xử lý không thành công, một phản hồi lỗi có ErrorCode không rỗng và ErrorText chi tiết sẽ được trả về.

{
  "MessageId": "00000000-0000-0000-0000-000000000000",
  "ErrorCode": 10221,
  "ErrorText": "This type of Message is not supported by the system"
}

Định dạng phân phối cuộc gọi lại

Nếu callback_url được chỉ định trong yêu cầu, SMSBAT sẽ gửi cập nhật trạng thái gửi dưới dạng tải trọng JSON POST tới điểm cuối của bạn.

Ví dụ về yêu cầu gọi lại

POST /your-callback-endpoint HTTP/1.1
Host: yoursystem.com
Content-Type: application/json

{
  "number": "380501234567",
  "time": 1719237600000,
  "status": 2,
  "substatus": 23,
  "hyber_status": 23033,
  "message_id": "6f0d5e28-7f3a-4df3-91a2-3d58d9e09b9a",
  "extra_id": "ORDER-12345",
  "sent_via": "viber",
  "matching_template_id": 0
}

Mô tả trường gọi lại

Lĩnh vựcLoạiMô tả
sốchuỗiSố điện thoại người nhận.
thời giansốDấu thời gian sự kiện tính bằng mili giây Unix.
trạng tháisốMã định danh trạng thái được đơn giản hóa (xem bảng Mã trạng thái).
trạng thái phụsốMã định danh trạng thái chi tiết (xem bảng mã trạng thái phụ).
hyber_statussốMã trạng thái nội bộ SMSBAT chi tiết (xem bảng Trạng thái Hyber).
tin nhắn_idchuỗiID tin nhắn SMSBAT (GUID) được tạo khi gửi.
thêm_idchuỗiID phía khách hàng được cung cấp trong yêu cầu ban đầu.
đã gửi_viachuỗiKênh đã xử lý tin nhắn: viber, sms hoặc rcs.
match_template_idsốTrạng thái khớp mẫu Viber (nếu có).

Ánh xạ trạng thái

1. Trạng thái đơn giản hóa (trạng thái)

Ý nghĩa
1Tin nhắn được chấp nhận hoặc đang được gửi.
2Tin nhắn đã được gửi.
3Lỗi xử lý hoặc giao hàng.

2. Trạng thái chi tiết (trạng thái phụ)

Ý nghĩa
12Được chấp nhận để xử lý.
23Đã giao hàng.
24Đã xem/đọc.
35Không được giao trong vòng TTL (Đã hết hạn).
36Lỗi giao hàng.

3. Loại kênh (sent_via)

KênhMô tả
viberStatus do kênh Viber sản xuất.
tin nhắnTrạng thái được tạo bởi kênh SMS.
rcsTrạng thái do kênh RCS tạo ra.

4. Trạng thái SMSBAT chi tiết (hyber_status)

KênhTrạng tháiTrạng thái phụÝ nghĩa
23033viber223Tin nhắn Viber đã được gửi.
24013viber224Tin nhắn Viber được người nhận đọc (Đã xem).
36013viber336Viber lỗi nội bộ.
36023viber336ID dịch vụ Viber không hợp lệ hoặc không khả dụng.
36033viber336Dữ liệu tải trọng Viber không hợp lệ.
36037viber336URL hình ảnh Viber quá dài.
36038viber336URL hình ảnh Viber không hợp lệ.
36039viber336Văn bản Viber quá dài.
36044viber336Văn bản Viber trống.
36053viber336Loại tin nhắn Viber không được hỗ trợ.
36063viber336Thông số Viber không hợp lệ.
36073viber336Đã hết thời gian chờ của nhà cung cấp Viber.
36083viber336Người gửi Viber bị người nhận chặn.
36093viber336Người nhận chưa được đăng ký là người dùng Viber.
36103viber336Không tìm thấy thiết bị Android/iOS nào có hỗ trợ Viber.
36113viber336Địa chỉ IP trái phép để gửi Viber.
36123viber336Đã phát hiện thấy tin nhắn Viber trùng lặp.
36143viber336Lỗi thanh toán Viber.
36153viber336Tin nhắn bị chặn bởi danh sách đen nền tảng.
36163viber336Lỗi xử lý nội bộ nền tảng Viber.
36173viber336Nhãn Viber sai hoặc thiếu.
36183viber336Giá trị TTL Viber không hợp lệ.
12011sms / rcs112SMS/RCS được chấp nhận.
36011sms / rcs112SMS/RCS trên đường đi.
23011sms / rcs223Đã gửi SMS/RCS.
35015sms / rcs335SMS/RCS đã hết hạn (không được gửi trong TTL).
36021sms / rcs336Đã xóa tin nhắn SMS/RCS.
36031sms / rcs336Không thể gửi SMS/RCS.
36041sms / rcs336Trạng thái gửi SMS/RCS không xác định.
36051sms / rcs336Tin nhắn SMS/RCS bị từ chối.