Zalo
Connect a Zalo Official Account to message followers, manage users and tags, and send ZBS template messages.
Connection
- Auth type:
oauth2
No OAuth scopes requested.
Actions
| Action | Key | Group | Side effect | Risk | Approval |
|---|---|---|---|---|---|
| Get OA info | zalo.get_oa | Official Account | NONE | low | no |
| Check message quota | zalo.check_message_quota | Official Account | NONE | low | no |
| Check group quota | zalo.check_group_quota | Official Account | NONE | low | no |
| Check message window | zalo.check_message_window | Official Account | NONE | low | no |
| Send text message | zalo.send_text | Messages | WRITE | high | yes |
| Send image message | zalo.send_image | Messages | WRITE | high | yes |
| Send sticker | zalo.send_sticker | Messages | WRITE | high | yes |
| Send file | zalo.send_file | Messages | WRITE | high | yes |
| Send message with buttons | zalo.send_buttons | Messages | WRITE | high | yes |
| Request user info | zalo.request_user_info | Messages | WRITE | high | yes |
| Send template message by user ID | zalo.send_template_by_uid | Messages | WRITE | high | yes |
| List users | zalo.list_users | Followers | NONE | low | no |
| Get user | zalo.get_user | Followers | NONE | low | no |
| Update user | zalo.update_user | Followers | WRITE | medium | yes |
| Get user custom info | zalo.get_user_custom_info | Followers | NONE | low | no |
| Update user custom info | zalo.update_user_custom_info | Followers | WRITE | medium | yes |
| Delete user info | zalo.delete_user_info | Followers | WRITE | high | yes |
| List user fields | zalo.list_user_fields | Follower fields | NONE | low | no |
| Create user field | zalo.create_user_field | Follower fields | WRITE | medium | yes |
| Update user field | zalo.update_user_field | Follower fields | WRITE | medium | yes |
| Delete user field | zalo.delete_user_field | Follower fields | WRITE | high | yes |
| List tags | zalo.list_tags | Tags | NONE | low | no |
| Tag user | zalo.tag_user | Tags | WRITE | medium | yes |
| Untag user | zalo.untag_user | Tags | WRITE | medium | yes |
| Delete tag | zalo.delete_tag | Tags | WRITE | high | yes |
| List recent chats | zalo.list_recent_chats | Conversations | NONE | low | no |
| Get conversation | zalo.get_conversation | Conversations | NONE | low | no |
| Upload image | zalo.upload_image | Uploads | WRITE | medium | yes |
| Upload GIF | zalo.upload_gif | Uploads | WRITE | medium | yes |
| Upload file | zalo.upload_file | Uploads | WRITE | medium | yes |
| Create article | zalo.create_article | Articles | WRITE | medium | yes |
| Verify article | zalo.verify_article | Articles | NONE | low | no |
| Update article | zalo.update_article | Articles | WRITE | medium | yes |
| List articles | zalo.list_articles | Articles | NONE | low | no |
| Get article | zalo.get_article | Articles | NONE | low | no |
| Remove article | zalo.remove_article | Articles | WRITE | high | yes |
| Send ZBS template message | zalo.send_template | ZBS templates | WRITE | high | yes |
| Send ZBS template message by hashed phone | zalo.send_template_hashphone | ZBS templates | WRITE | high | yes |
| Send ZBS template message (development mode) | zalo.send_template_dev | ZBS templates | WRITE | medium | yes |
| Get ZBS message status | zalo.get_message_status | ZBS templates | NONE | low | no |
| Get ZBS quota | zalo.get_quota | ZBS templates | NONE | low | no |
| Get ZBS quality | zalo.get_quality | ZBS templates | NONE | low | no |
| List ZBS templates | zalo.list_templates | ZBS templates | NONE | low | no |
| Get ZBS template | zalo.get_template | ZBS templates | NONE | low | no |
| Get ZBS template sample data | zalo.get_template_sample_data | ZBS templates | NONE | low | no |
| Create ZBS template | zalo.create_template | ZBS templates | WRITE | medium | yes |
| Edit ZBS template | zalo.edit_template | ZBS templates | WRITE | medium | yes |
| Upload ZBS template image | zalo.upload_template_image | ZBS templates | WRITE | medium | yes |
| List ZBS ratings | zalo.list_ratings | ZBS templates | NONE | low | no |
| List ZBS quick responses | zalo.list_quick_responses | ZBS templates | NONE | low | no |
| Create group | zalo.create_group | Group chats | WRITE | medium | yes |
| Get group | zalo.get_group | Group chats | NONE | low | no |
| List groups | zalo.list_groups | Group chats | NONE | low | no |
| Update group | zalo.update_group | Group chats | WRITE | medium | yes |
| Update group asset | zalo.update_group_asset | Group chats | WRITE | medium | yes |
| Invite group members | zalo.invite_group_members | Group chats | WRITE | medium | yes |
| List group members | zalo.list_group_members | Group chats | NONE | low | no |
| List pending group invites | zalo.list_group_pending | Group chats | NONE | low | no |
| Accept pending members | zalo.accept_group_pending | Group chats | WRITE | medium | yes |
| Reject pending members | zalo.reject_group_pending | Group chats | WRITE | medium | yes |
| Remove group members | zalo.remove_group_members | Group chats | WRITE | high | yes |
| Add group admins | zalo.add_group_admins | Group chats | WRITE | medium | yes |
| Remove group admins | zalo.remove_group_admins | Group chats | WRITE | medium | yes |
| Delete group | zalo.delete_group | Group chats | WRITE | high | yes |
| Get group conversation | zalo.get_group_conversation | Group chats | NONE | low | no |
| List recent group chats | zalo.list_group_recent_chats | Group chats | NONE | low | no |
| Send group message | zalo.send_group_message | Group chats | WRITE | medium | yes |
| Request call consent | zalo.request_call_consent | Calls | WRITE | high | yes |
| Check call consent | zalo.check_call_consent | Calls | NONE | low | no |
| Get call center info | zalo.get_call_center_info | Calls | NONE | low | no |
| Create inbound call link | zalo.create_inbound_call_link | Calls | WRITE | medium | yes |
| Create outbound call link | zalo.create_outbound_call_link | Calls | WRITE | medium | yes |
| List shop categories | zalo.list_categories | Shop | NONE | low | no |
| Create shop category | zalo.create_category | Shop | WRITE | medium | yes |
| Update shop category | zalo.update_category | Shop | WRITE | medium | yes |
| Delete shop category | zalo.delete_category | Shop | WRITE | high | yes |
| List products | zalo.list_products | Shop | NONE | low | no |
| Get product | zalo.get_product | Shop | NONE | low | no |
| Search products | zalo.search_products | Shop | NONE | low | no |
| Create product | zalo.create_product | Shop | WRITE | medium | yes |
| Update product | zalo.update_product | Shop | WRITE | medium | yes |
| Delete product | zalo.delete_product | Shop | WRITE | high | yes |
| List product types | zalo.list_product_types | Shop | NONE | low | no |
| Upload product photo | zalo.upload_product_photo | Shop | WRITE | medium | yes |
| List orders | zalo.list_orders | Shop | NONE | low | no |
| Get order | zalo.get_order | Shop | NONE | low | no |
| Update order status | zalo.update_order_status | Shop | WRITE | medium | yes |
| Get ads form responses | zalo.get_ads_form | Ads | NONE | low | no |
Events
zalo.message_received
A follower sent the OA a message.
| Field | Type | Description |
|---|---|---|
user_id | string | |
user_id_by_app | string | |
msg_id | string | |
message_type | string | |
text | string | |
attachments | array | |
quote_msg_id | string |
zalo.oa_message_sent
The OA sent a message, from the OA chat tool or through the API. A message an Agent sends with a zalo.send_* action also arrives here with sent_by = api, so a automation on this event must filter sent_by = admin or the Agent will loop on its own replies.
| Field | Type | Description |
|---|---|---|
user_id | string | |
msg_id | string | |
message_type | string | |
text | string | |
attachments | array | |
sent_by | string | |
admin_id | string |
zalo.anonymous_message_received
An anonymous (not following) user sent the OA a message.
| Field | Type | Description |
|---|---|---|
anonymous_id | string | |
conversation_id | string | |
msg_id | string | |
message_type | string | |
text | string | |
attachments | array |
zalo.message_delivered
An OA message reached the user's device (Zalo mobile only).
| Field | Type | Description |
|---|---|---|
user_id | string | |
msg_id | string |
zalo.message_seen
The user read OA messages (Zalo mobile only).
| Field | Type | Description |
|---|---|---|
user_id | string | |
msg_ids | array |
zalo.message_reacted
A user or the OA reacted to a message.
| Field | Type | Description |
|---|---|---|
user_id | string | |
msg_id | string | |
react_icon | string | |
by | string |
zalo.user_followed
A user followed the OA.
| Field | Type | Description |
|---|---|---|
user_id | string | |
source | string |
zalo.user_unfollowed
A user unfollowed the OA.
| Field | Type | Description |
|---|---|---|
user_id | string | |
source | string |
zalo.user_submitted_info
A user answered the OA's request-info form.
| Field | Type | Description |
|---|---|---|
user_id | string | |
name | string | |
phone | string | |
user_dob | string | |
gender | string | |
address | string |
zalo.user_info_updated
A user's info was updated.
| Field | Type | Description |
|---|---|---|
user_id | string | |
method | string |
zalo.user_clicked_chat_now
A user tapped the Message button on the OA profile (once per user per OA).
| Field | Type | Description |
|---|---|---|
user_id | string |
zalo.user_tags_changed
Users were tagged or untagged, or a tag was deleted. change is added, removed or tag_deleted.
| Field | Type | Description |
|---|---|---|
change | string | |
tag_name | string | |
user_ids | array |
zalo.user_data_request
A user asked to withdraw consent or delete their data; the request fields are passed as sent.
| Field | Type | Description |
|---|---|---|
user_id | string |
zalo.call_consent_sent
A call-consent request was sent to a user, or expired.
| Field | Type | Description |
|---|---|---|
phone | string | |
status | string |
zalo.call_consent_replied
A user accepted or declined the OA's call request.
| Field | Type | Description |
|---|---|---|
phone | string | |
user_id | string | |
accepted | string |
zalo.call_ended
A voice call between a user and the OA ended.
| Field | Type | Description |
|---|---|---|
call_id | string | |
call_type | string | |
call_duration | string | |
status_code | string | |
user_id | string |
zalo.group_message_received
A member sent a message in a group chat.
| Field | Type | Description |
|---|---|---|
group_id | string | |
user_id | string | |
msg_id | string | |
message_type | string | |
text | string | |
attachments | array |
zalo.group_members_changed
Members joined, left, were requested, accepted, rejected, removed or had their admin role changed. change is the event name.
| Field | Type | Description |
|---|---|---|
group_id | string | |
change | string | |
user_ids | array |
zalo.group_changed
A group was created, deleted or its info updated. change is the event name.
| Field | Type | Description |
|---|---|---|
group_id | string | |
change | string |
zalo.zbs_delivered
A ZBS Template Message reached the recipient's phone.
| Field | Type | Description |
|---|---|---|
phone | string | |
msg_id | string | |
tracking_id | string | |
delivery_time | string |
zalo.zbs_template_status_changed
A ZBS template's approval status or sending quality changed.
| Field | Type | Description |
|---|---|---|
template_id | string | |
status | string | |
quality | string | |
reason | string |
zalo.zbs_quota_changed
The OA's ZBS daily quota or allowed template tags changed; the payload holds the changed values as sent.
No payload fields.
zalo.zbs_feedback
A user rated a ZBS message or tapped a quick-response button.
| Field | Type | Description |
|---|---|---|
msg_id | string | |
tracking_id | string | |
rate | string | |
note | string | |
feedbacks | array | |
button_text | string |
zalo.shop_order_created
A Zalo Shop order was placed.
| Field | Type | Description |
|---|---|---|
order_id | string | |
customer_id | string |
zalo.shop_order_updated
A Zalo Shop order changed status.
| Field | Type | Description |
|---|---|---|
order_id | string | |
status | string |