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:

Tham số
Kiểu dữ liệu
Tính bắt buộc
Mô tả

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

URL mà hệ thống sẽ gọi lại để trả kết quả gửi tin nhắn. Xem body mẫu ở đây. Xem chi tiết ở đây.

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 ý:

  1. Các tham số truyền vào phải đúng thứ tự như template bạn đăng ký.

  2. 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:

Thuốc tính
Kiểu dữ liệu
Mô tả

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