Sự kiện người dùng nhận tin nhắn từ Official Account

Lưu ý: Đây là sự kiện dành cho các tin nhắn được gửi từ Official Account thông qua Follower API hoặc chat trực tiếp trên Zalo app/web. Sự kiện này có đôi chút khác với sự kiện người dùng nhận tin nhắn ZNS.

Khi Official Account gửi tin nhắn cho người dùng và tin nhắn đó đã được nhận, hệ thống Zalo sẽ gửi đến Webhook Url của Official Account một request http như sau

Quyền cần có:

  • Sự kiện tin nhắn đã được nhận

Sự kiện này chỉ được gửi về khi user nhận tin nhắn trên Zalo Mobile

URL: Webhook URL của ứng dụng đăng ký theo hướng dẫn tại đây. Method: POST Content Type: application/json X-ZEvent-Signature: mac=sha256(data + timeStamp + ApiKey), với data là chuỗi json trả về dưới đây.

Example request

{
    "app_id": "360846524840903967",
    "sender": {
        "id": "388613280879808645"
    },
    "recipient": {
        "id": "246845883529697922"
    },
    "event_name": "user_received_message",
    "message": {
        "msg_id": "43b59c025aebfb5e6fa"
    },
    "timestamp": "1540363714911"
}

Lưu ý: GobyZNS mong muốn nhận được http status 200 từ webhook của bạn. Vì lý do kỹ thuật nào đó mà việc gửi không nhận được response 200, chúng tôi sẽ gửi lại webhook tối đa 10 lần. Các lần gửi lại sẽ cách xa nhau dần (lần thử lại sau sẽ được delay lâu hơn lần gửi trước) để tránh gặp vấn đề về rate-limit từ webhook của bạn (nếu có).

Mô tả thuộc tính

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

app_id

string

Id của ứng dụng đang nhận sự kiện.

sender

Json Object

Trong đó:

  • “id”: Id của Official Account gửi tin nhắn

recipient

Json Object

Trong đó:

  • “id”: Id của User nhận tin nhắn

event_name

string

Giá trị là “user_received_message”.

message

Json Object

Trong đó:

  • “msg_id”: Id của tin nhắn được trả về qua API gửi tin nhắn.

timestamp

string

Thời điểm request được gửi, tính bằng milisecond

Last updated