Chuyển tới nội dung chính

Gửi tin Tư vấn theo mẫu yêu cầu thông tin người dùng

HTTP request

Example request

curl \
-X POST \
-H "Content-Type: application/json" \
-H "access_token: <your_access_token>" \
-d '{
"recipient": {
"user_id": "2468458835296117922"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "request_user_info",
"elements": [{
"title": "OA Chatbot (Testing)",
"subtitle": "Đang yêu cầu thông tin từ bạn",
"image_url": "https://developers.zalo.me/web/static/zalo.png"
}]
}
}
}
}' "https://openapi.zalo.me/v3.0/oa/message/cs"

Tham số header

Tham sốKiểu dữ liệuTính bắt buộcMô tả
access_token

string

yes

Token cho phép ứng dụng đại diện OA gọi API. Xem chi tiết cách lấy access token tại đây.

Cấu trúc body của request

Tham sốKiểu dữ liệuTính bắt buộcMô tả

recipient

object

yes

Thông tin người nhận

message

object

yes

Nội dung cần gửi

Cấu trúc thuộc tính recipient

Tham sốKiểu dữ liệuTính bắt buộcMô tả

user_id

string

yes

ID của người nhận (nhận được thông qua API truy xuất chi tiết người dùng, API truy xuất danh sách người dùng)

Cấu trúc thuộc tính message

Tham sốKiểu dữ liệuTính bắt buộcMô tả

attachment

object

yes

Attachment cần gửi

Cấu trúc thuộc tính message.attachment

Tham sốLoạiTính bắt buộcMô tả

type

string

yes

Loại attachment

Giá trị nhận vào bắt buộc:

  • type = template

payload

object

yes

Chứa payload của attachment muốn gửi.

Cấu trúc thuộc tính message.attachment.payload

Tham sốLoạiTính bắt buộcMô tả

template_type

string

yes

Loại template

Giá trị nhận vào:

  • template_type = request_user_info

elements

array

yes

Chứa các đối tượng của template.

Lưu ý: Cấu trúc element thay đổi tùy theo loại template.. Với template request_user_info, danh sách element bao gồm tối đa 1 phần tử.

Cấu trúc thuộc tính message.attachment.payload.element

Tham sốLoạiTính bắt buộcMô tả

title

string

yes

Tiêu đề hiển thị của template

Lưu ý: Hỗ trợ tối đa 100 ký tự

subtitle

string

yes

Tiêu đề phụ của template

Lưu ý: Hỗ trợ tối đa 500 ký tự

image_url

string

yes

Đường dẫn đến ảnh

Example respond

1. Tin gửi ra là tin trong khung 48h

{
"data": {
"quota": {
"quota_type": "reply",
"remain": "8",
"total": "8"
},
"message_id": "63ecf43f0df7dba892e6",
"user_id": "2512523625412515",
"sent_time": "1626926349402"
},
"error": 0,
"message": "Success"
}

Cấu trúc thuộc tính data

Thuộc tínhKiểu dữ liệuMô tả

message_id

string

ID của thông báo

user_id

string

ID của người nhận

quota_type

string

Nguồn quota sử dụng
Mang giá trị: “reply”

remain

string

Từ ngày 1/1/2026, đối tác có thể gửi tin Tư vấn miễn phí không giới hạn trong khung 48h
Lộ trình chuyển đổi như sau:
  • Từ ngày 1/1/2026: luôn trả về giá trị remain = 8
  • Sau ngày 1/3/2026: sẽ dừng trả về thuộc tính này

total

string

Sau ngày 1/3/2026: sẽ dừng trả về thuộc tính này

sent_time

string

Thời gian gửi tin UID (định dạng timestamp).

2. Tin gửi đến User Quan tâm (khi chưa có tương tác)

{
"data": {
"quota": {
"quota_type": "welcome_msg",
"remain": "2",
"total": "3"
},
"message_id": "63ecf43f0df7dba892e6",
"user_id": "2512523625412515",
"sent_time": "1626926349402"
},
"error": 0,
"message": "Success"
}

Cấu trúc thuộc tính data

Thuộc tínhKiểu dữ liệuMô tả

message_id

string

ID của thông báo

user_id

string

ID của người nhận

quota_type

string

Nguồn quota sử dụng
Mang giá trị: "welcome_msg"

remain

string

Số lượt gửi tin tin Tư vấn miễn phí

total

string

Tổng số lượt gửi tin tin Tư vấn miễn phí

sent_time

string

Thời gian gửi tin UID (định dạng timestamp).

3. Tin gửi ra là tin nằm trong hạn mức miễn phí theo gói

{
"data": {
"quota": {
"quota_type": "sub_quota",
"remain": "1990",
"total": "2000",
"expired_date": "11/02/2023"
},
"message_id": "63ecf43f0df7dba892e6",
"user_id": "2512523625412515",
"sent_time": "1626926349402"
},
"error": 0,
"message": "Success"
}

Cấu trúc thuộc tính data

Thuộc tínhKiểu dữ liệuMô tả

message_id

string

ID của thông báo

user_id

string

ID của người nhận

quota_type

string

Nguồn quota sử dụng
Mang giá trị: “sub_quota”

remain

string

Số lượt gửi tin Tư vấn miễn phí theo gói dịch vụ OA còn lại

total

string

Tổng số lượng gửi tin Tư vấn miễn phí theo gói dịch vụ OA

expired_date

string

Ngày hết hạn sử dụng tin Tư vấn miễn phí theo gói dịch vụ OA

sent_time

string

Thời gian gửi tin UID (định dạng timestamp).

4. Tin gửi ra là tin nằm trong hạn mức gói tính năng lẻ

{
"data": {
"quota": {
"quota_type": "purchase_quota",
"owner_type": "OA",
"owner_id": "4462152339089565647"
},
"message_id": "63ecf43f0df7dba892e6",
"user_id": "2512523625412515",
"sent_time": "1626926349402"
},
"error": 0,
"message": "Success"
}

Cấu trúc thuộc tính data

Thuộc tínhKiểu dữ liệuMô tả

message_id

string

ID của thông báo

user_id

string

ID của người nhận

quota_type

string

Nguồn quota sử dụng
Mang giá trị: “purchase_quota”

owner_type

string

Thực thể sở hữu Quota Package
Giá trị:
  • OA: Thực thể sở hữu là OA
  • App: Thực thể sở hữu là App
  • owner_id

    string

    ID thực thể sở hữu Quota Package
    Giá trị: OA ID hoặc App ID

    sent_time

    string

    Thời gian gửi tin UID (định dạng timestamp).

    5. Tin gửi ra là tin nằm trong hạn mức Redeem code

    {
    "data": {
    "quota": {
    "quota_type": "reward_quota",
    "owner_type": "OA",
    "owner_id": "4462152339089565647"
    },
    "message_id": "63ecf43f0df7dba892e6",
    "user_id": "2512523625412515",
    "sent_time": "1626926349402"
    },
    "error": 0,
    "message": "Success"
    }

    Cấu trúc thuộc tính data

    Thuộc tínhKiểu dữ liệuMô tả

    message_id

    string

    ID của thông báo

    user_id

    string

    ID của người nhận

    quota_type

    string

    Nguồn quota sử dụng
    Mang giá trị: “reward_quota”

    owner_type

    string

    Thực thể sở hữu Quota Package
    Giá trị:
  • OA: Thực thể sở hữu là OA
  • App: Thực thể sở hữu là App
  • owner_id

    string

    ID thực thể sở hữu Quota Package
    Giá trị: OA ID hoặc App ID

    sent_time

    string

    Thời gian gửi tin UID (định dạng timestamp).

    6. Tin gửi ra là tin tính phí

    {
    "data": {
    "message_id": "63ecf43f0df7dba892e6",
    "user_id": "2512523625412515",
    "sent_time": "1626926349402"
    },
    "error": 0,
    "message": "Success"
    }

    Cấu trúc thuộc tính data

    Thuộc tínhKiểu dữ liệuMô tả

    message_id

    string

    ID của thông báo

    user_id

    string

    ID của người nhận

    sent_time

    string

    Thời gian gửi tin UID (định dạng timestamp).