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

Gửi tin tư vấn trích dẫn

HTTP request

Example request

curl --request POST "https://openapi.zalo.me/v3.0/oa/message/cs"
--header 'access_token: <your_access_token>'
--header 'Content-Type: application/json'
--data-raw '{
"recipient": {
"user_id": "186729651760683225"
},
"message": {
"text": "Chào bạn, Shop có địa chỉ là 182 Lê Đại Hành, P15, Q10, HCM",
"quote_message_id": "48687128d04c9410cd5f"
}
}'

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ả

text

string

yes

Nội dung văn bản muốn gửi

Giới hạn tối đa là 2.000 ký tự

quote_message_id

string

yes

Message_id của tin nhắn muốn trả lời

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).