Tin Zalo mỗi khách hàng một nội dung
API eSMS gửi tin nhắn Zalo hàng loạt với nội dung tùy chỉnh cho từng khách hàng. Hỗ trợ mẫu tin, tham số động, hẹn giờ gửi và callback. Tích hợp dễ dàng qua HTTP POST JSON.
HTTP request
POST
https://rest.esms.vn/MainService.svc/json/Send_zns_bulk_v4_post_json/
Content Type: application/json
Response Type: application/json
curl --location 'https://rest.esms.vn/MainService.svc/json/Send_zns_bulk_v4_post_json/' \
--header 'Content-Type: application/json' \
--data '{
"ApiKey": "{{ApiKey}}",
"SecretKey": "{{SecretKey}}",
"campaignid": "Chiến dịch 1",
"OAID": "4097311281936189049",
"TempID": "267247",
"Sandbox": "0",
"CallbackUrl": "https://esms.vn/webhook/",
"Data": [
{
"Phone": "0901888484",
"RequestId": "96accf59-0c41-4bc7-a5c1",
"Params": [ "Chị A", "Gội đầu", "KH001", "19/03/2025" ]
},
{
"Phone": "0918238965",
"RequestId": "96accf59-0c41-4bc7-a5c2",
"Params": [ "Chị B", "Uốn", "KH002", "19/03/2025" ]
},
{
"Phone": "0765418062",
"RequestId": "96accf59-0c41-4bc7-a5c3",
"Params": [ "Chị C", "Nhuộm", "KH003", "19/03/2025" ]
}
]
}'
Cấu trúc body của request:
ApiKey
string
Chuỗi ký tự đại diện cho khóa API của tài khoản eSMS.
SecretKey
string
Chuỗi ký tự bí mật của tài khoản eSMS.
campaignid
string
Tên chiến dịch gửi tin, tối đa 254 ký tự. Đây là mã chiến dịch mà bạn sẽ phân biệt được các chiến dịch gửi tin.
OAID
string
ID của Zalo Official Account (OA) của doanh nghiệp. Doanh nghiệp cần đăng nhập vào trang quản trị của Zalo OA để lấy OAID này. Chú ý: sẽ phải đăng ký trước khi sử dụng.
TempID
string
ID của mẫu tin nhắn Zalo OA mà doanh nghiệp đã đăng ký với eSMS.
Sandbox
string
Chế độ Sandbox để kiểm tra API mà không gửi tin nhắn thực tế.
Mặc định: Sandbox = 0
SendDate
string
Thời gian hẹn gửi tin nhắn.
Nếu không truyền tham số này, tin nhắn sẽ được gửi ngay lập tức.
Định dạng: yyyy-mm-dd hh:MM:ss
CallbackUrl
string
Data
Array
Mảng đối tượng chứa thông tin về từng tin nhắn bạn muốn gửi. Chú ý: Mảng có kích thước tối đa 500 phần tử.
Data: Phone
string
Số điện thoại người nhận.
Data: RequestId
string
ID đối tác truyền sang để chặn trùng và đối soD đối tác truyền sang để chặn trùng và đối soát khi cần. Độ dài tối đa 50 ký tự. Mỗi RequestId truyền sang có hiệu lực chặn trong ngày.
Data: Params
string
Danh sách các giá trị cần truyền cho các biến trong mẫu tin nhắn. *Lưu ý:
Các tham số truyền vào phải đúng thứ tự như template bạn đăng ký.
Nếu tham số trùng nhau chỉ cần truyền vào một tham số.
SendingMode
string
Chế độ gửi: 1 (Default): Gửi thường, tin ZNS được gửi theo cơ chế thông thường. 3: Gửi vượt hạn mức, cho phép OA gửi tin ZNS tag 3 vượt hạn mức. Lưu ý: Chế độ Gửi vượt hạn mức (SendingMode = 3) chỉ áp dụng cho các OA được whitelist. Vui lòng liên hệ đội ngũ CSKH nếu có nhu cầu gửi ở chế độ Gửi vượt hạn mức.
Response:
{
"CodeResult": "100",
"Message": "Sucess",
"TotalFail": 1,
"TotalSuccess": 2,
"detail": [
{
"CodeResult": "100",
"Phone": "{Phone}",
"SMSID": "a037b928-cb7e-4bfc-bdf9-0286318163aa264"
},
{
"CodeResult": "100",
"Phone": "{Phone}",
"SMSID": "b83ff06e-8989-4b0d-818e-795b96699e86261"
},
{
"CodeResult": "108",
"Phone": "{Phone}",
"ErrorMessage": "The phone number 097469188 is not valid."
}
]
}
Request hợp lệ.
Cấu trúc body của response:
CodeResult
string
Request được gửi đến ESMS thành công. Lưu ý: Mã phản hồi 100 chỉ xác nhận rằng yêu cầu đã được gửi thành công đến hệ thống ESMS, không phản ánh việc tin nhắn đã được gửi đến số điện thoại người nhận hay chưa. Để theo dõi trạng thái cuối cùng của tin nhắn, quý khách vui lòng truyền thêm tham số CallbackUrl; hệ thống ESMS sẽ tự động gửi phản hồi (callback) đến địa chỉ này khi có trạng thái cuối của tin.
Message
string
Mô tả chi tiết về phản hồi.
TotalFail
string
Tổng số điện thoại request gửi tin thất bại.
TotalSuccess
string
Tổng số điện thoại request gửi tin thành công.
detail : CodeResult
string
Mã trả về.
detail : Phone
string
Số điện thoại tương ứng với ID tin nhắn do esms trả về.
detail : SMSID
string
ID tin nhắn do esms trả về.
Lưu ý: API này không cho gửi trừ ví zns free dù tk có bật hay không, tin zns free cuối tháng sẽ đối soát lại.
Thông tin chi tiết mã lỗi xem ở bảng: Mã lỗi .
Lấy code mẫu các ngôn ngữ trên Postman: Link code mẫu.
Last updated