n8n-nodes-zalo-nnt
Version:
Unofficial Zalo integration for n8n - Send messages, manage groups, user operations with QR login. No API key required, works via browser simulation.
1,510 lines • 47.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.zaloUserProperties = void 0;
const branding_1 = require("../shared/branding");
exports.zaloUserProperties = [
branding_1.BRANDING_CONFIG,
{
displayName: 'Resource',
name: 'resource',
type: 'options',
noDataExpression: true,
options: [
{
name: 'Bạn Bè',
value: 'friend',
},
{
name: 'Tài Khoản',
value: 'account',
},
{
name: 'Riêng Tư',
value: 'privacy',
},
{
name: 'Biệt Danh',
value: 'alias',
},
{
name: 'ẢNh ĐạI Diện',
value: 'avatar',
},
{
name: 'Tin Nhắn',
value: 'message',
},
{
name: 'Hệ Thống',
value: 'system',
},
],
default: 'friend',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['friend'],
},
},
options: [
{
name: 'Chấp Nhận Lời Mời',
value: 'acceptFriendRequest',
description: 'Chấp nhận lời mời kết bạn từ người dùng',
action: 'Chấp nhận lời mời kết bạn',
},
{
name: 'Gửi Lời Mời',
value: 'sendFriendRequest',
description: 'Gửi lời mời kết bạn đến người dùng',
action: 'Gửi lời mời kết bạn',
},
{
name: 'Từ Chối Lời Mời',
value: 'rejectFriendRequest',
description: 'Từ chối lời mời kết bạn từ người dùng',
action: 'Từ chối lời mời kết bạn',
},
{
name: 'Hủy Lời Mời Đã Gửi',
value: 'undoFriendRequest',
description: 'Hủy lời mời kết bạn đã gửi cho người dùng',
action: 'Hủy lời mời kết bạn đã gửi',
},
{
name: 'Lấy Lời Mời Đã Gửi',
value: 'getSentFriendRequest',
description: 'Lấy danh sách lời mời kết bạn đã gửi đang chờ xử lý',
action: 'Lấy danh sách lời mời đã gửi',
},
{
name: 'Xóa Bạn Bè',
value: 'removeFriend',
description: 'Xóa người dùng khỏi danh sách bạn bè',
action: 'Xóa bạn bè',
},
{
name: 'Kiểm Tra Trạng Thái',
value: 'getFriendRequestStatus',
description: 'Kiểm tra trạng thái quan hệ với người dùng (đã kết bạn, đang chờ, etc.)',
action: 'Kiểm tra trạng thái kết bạn',
},
{
name: 'Lấy Danh Sách Bạn Bè',
value: 'getAllFriends',
description: 'Lấy toàn bộ danh sách bạn bè Zalo',
action: 'Lấy danh sách bạn bè',
},
{
name: 'Lấy Danh Sách Bạn Thân',
value: 'getCloseFriends',
description: 'Lấy danh sách bạn thân (close friends)',
action: 'Lấy danh sách bạn thân',
},
{
name: 'Tìm Kiếm Người Dùng',
value: 'findUser',
description: 'Tìm kiếm người dùng Zalo theo số điện thoại',
action: 'Tìm kiếm người dùng',
},
{
name: 'Tìm Theo Username',
value: 'findUserByUsername',
description: 'Tìm kiếm người dùng Zalo theo username',
action: 'Tìm kiếm theo username',
},
{
name: 'Tìm Nhiều User Theo SĐT',
value: 'getMultiUsersByPhones',
description: 'Tìm kiếm nhiều người dùng cùng lúc theo số điện thoại (tối đa 50 số)',
action: 'Tìm nhiều user theo SĐT',
},
{
name: 'Lấy Gợi Ý Kết Bạn',
value: 'getFriendRecommendations',
description: 'Lấy danh sách gợi ý kết bạn và lời mời kết bạn đã nhận',
action: 'Lấy gợi ý kết bạn',
},
{
name: 'Lấy Bạn Bè Đang Online',
value: 'getFriendOnlines',
description: 'Lấy danh sách bạn bè đang online',
action: 'Lấy bạn bè đang online',
},
{
name: 'Lấy Nhóm Chung',
value: 'getRelatedFriendGroup',
description: 'Lấy danh sách nhóm chung với một người bạn',
action: 'Lấy nhóm chung với bạn bè',
},
],
default: 'getAllFriends',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['account'],
},
},
options: [
{
name: 'Lấy Thông Tin Người Dùng',
value: 'getUserInfo',
description: 'Lấy thông tin chi tiết của người dùng Zalo',
action: 'Lấy thông tin người dùng',
},
{
name: 'Lấy Thông Tin Tài Khoản',
value: 'fetchAccountInfo',
description: 'Lấy thông tin chi tiết đầy đủ của tài khoản Zalo',
action: 'Lấy thông tin tài khoản đầy đủ',
},
{
name: 'Thay Đổi Cài Đặt',
value: 'changeAccountSetting',
description: 'Thay đổi tên, ngày sinh, giới tính tài khoản Zalo',
action: 'Thay đổi cài đặt tài khoản',
},
{
name: 'Đổi Ngôn Ngữ',
value: 'updateLang',
description: 'Thay đổi ngôn ngữ hiển thị trong Zalo (vi/en/zh)',
action: 'Đổi ngôn ngữ Zalo',
},
{
name: 'Đổi Trạng Thái Cá Nhân',
value: 'updateProfileBio',
description: 'Đổi dòng trạng thái (bio) cá nhân',
action: 'Đổi trạng thái cá nhân',
},
{
name: 'Đổi Avatar Tài Khoản',
value: 'changeAccountAvatar',
description: 'Đổi ảnh đại diện tài khoản từ URL ảnh',
action: 'Đổi avatar tài khoản',
},
{
name: 'Lấy Cài Đặt Tài Khoản',
value: 'getSettings',
description: 'Lấy toàn bộ cài đặt tài khoản (quyền riêng tư, thông báo, v.v.)',
action: 'Lấy cài đặt tài khoản',
},
{
name: 'Cập Nhật Cài Đặt Tài Khoản',
value: 'updateSettings',
description: 'Cập nhật một cài đặt tài khoản cụ thể',
action: 'Cập nhật cài đặt tài khoản',
},
{
name: 'Đổi Trạng Thái Hoạt Động',
value: 'updateActiveStatus',
description: 'Bật/tắt hiển thị trạng thái online của tài khoản',
action: 'Đổi trạng thái hoạt động',
},
],
default: 'getUserInfo',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['privacy'],
},
},
options: [
{
name: 'Chặn Người Dùng',
value: 'blockUser',
description: 'Chặn người dùng không cho nhắn tin',
action: 'Chặn người dùng',
},
{
name: 'Bỏ Chặn Người Dùng',
value: 'unblockUser',
description: 'Bỏ chặn người dùng đã chặn trước đó',
action: 'Bỏ chặn người dùng',
},
{
name: 'Chặn/Bỏ Chặn Xem Bảng Tin',
value: 'blockViewFeed',
description: 'Chặn hoặc bỏ chặn người dùng xem bảng tin',
action: 'Chặn/bỏ chặn xem bảng tin',
},
{
name: 'Báo Cáo Vi Phạm',
value: 'sendReport',
description: 'Báo cáo một cuộc trò chuyện vi phạm',
action: 'Báo cáo vi phạm',
},
],
default: 'blockUser',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['alias'],
},
},
options: [
{
name: 'Đổi Tên Gợi Nhớ',
value: 'changeAliasName',
description: 'Đặt hoặc đổi tên gợi nhớ cho bạn bè',
action: 'Đổi tên gợi nhớ',
},
{
name: 'Xóa Tên Gợi Nhớ',
value: 'removeFriendAlias',
description: 'Xóa tên gợi nhớ đã đặt, quay về tên Zalo gốc',
action: 'Xóa tên gợi nhớ',
},
{
name: 'Lấy Danh Sách Tên Gợi Nhớ',
value: 'getAliasList',
description: 'Lấy danh sách tất cả tên gợi nhớ đã đặt',
action: 'Lấy danh sách tên gợi nhớ',
},
],
default: 'changeAliasName',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['avatar'],
},
},
options: [
{
name: 'Lấy Danh Sách Ảnh Đại Diện',
value: 'getAvatarList',
description: 'Lấy danh sách ảnh đại diện cũ của tài khoản',
action: 'Lấy danh sách ảnh đại diện',
},
{
name: 'Lấy URL Avatar',
value: 'getAvatarUrlProfile',
description: 'Lấy URL avatar của người dùng theo userId',
action: 'Lấy URL avatar',
},
{
name: 'Lấy Avatar Full',
value: 'getFullAvatar',
description: 'Lấy avatar full resolution của người dùng',
action: 'Lấy avatar full',
},
{
name: 'Sử Dụng Lại Ảnh Cũ',
value: 'reuseAvatar',
description: 'Đổi lại ảnh đại diện cũ đã từng sử dụng',
action: 'Sử dụng lại ảnh đại diện cũ',
},
{
name: 'Xóa Ảnh Đại Diện',
value: 'deleteAvatar',
description: 'Xóa một hoặc nhiều ảnh đại diện khỏi kho ảnh',
action: 'Xóa ảnh đại diện',
},
],
default: 'getAvatarList',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['message'],
},
},
options: [
{
name: 'Thu Hồi Tin Nhắn',
value: 'undoMessage',
description: 'Thu hồi tin nhắn đã gửi',
action: 'Thu hồi tin nhắn',
},
{
name: 'Thả Cảm Xúc',
value: 'addReaction',
description: 'Thả cảm xúc (reaction) vào một tin nhắn',
action: 'Thả cảm xúc vào tin nhắn',
},
{
name: 'Chuyển Tiếp Tin Nhắn',
value: 'forwardMessage',
description: 'Chuyển tiếp nội dung tin nhắn đến một hoặc nhiều cuộc trò chuyện',
action: 'Chuyển tiếp tin nhắn',
},
{
name: 'Xóa Tin Nhắn',
value: 'deleteMessage',
description: 'Xóa tin nhắn (cục bộ hoặc cho tất cả, khác với thu hồi)',
action: 'Xóa tin nhắn',
},
{
name: 'Gửi Trạng Thái Đã Xem',
value: 'sendSeenEvent',
description: 'Gửi trạng thái "đã xem" cho tin nhắn — dữ liệu message thường lấy từ event của ZaloMessageTrigger',
action: 'Gửi trạng thái đã xem',
},
{
name: 'Gửi Trạng Thái Đã Nhận',
value: 'sendDeliveredEvent',
description: 'Gửi trạng thái "đã nhận" cho tin nhắn — dữ liệu message thường lấy từ event của ZaloMessageTrigger',
action: 'Gửi trạng thái đã nhận',
},
],
default: 'undoMessage',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['system'],
},
},
options: [
{
name: 'Giữ Kết Nối',
value: 'keepAlive',
description: 'Giữ session Zalo active, tránh bị disconnect',
action: 'Giữ kết nối Zalo',
},
{
name: 'Kiểm Tra Kết Nối',
value: 'checkConnection',
description: 'Gọi API thật để xác nhận session còn sống hay đã chết — không báo lỗi khi chết, trả về trạng thái để kiểm tra hàng loạt nhiều tài khoản',
action: 'Kiểm tra kết nối',
},
{
name: 'Lấy Cookie Phiên',
value: 'getCookie',
description: '⚠️ Xuất cookie phiên hiện tại (đã được Zalo tự làm mới) — dùng để dán vào credential ZaloApi khác nhằm nhân bản/di chuyển session. Cookie xuất ra sẽ lưu dạng plaintext trong execution log của n8n.',
action: 'Lấy cookie phiên',
},
{
name: 'Lấy Trạng Thái Hoạt Động',
value: 'lastOnline',
description: 'Lấy thông tin trạng thái hoạt động cuối cùng của người dùng',
action: 'Lấy trạng thái hoạt động',
},
{
name: 'Phân Tích Link',
value: 'parseLink',
description: 'Lấy thông tin xem trước (preview) của một link Zalo/web',
action: 'Phân tích link',
},
],
default: 'keepAlive',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['acceptFriendRequest'],
},
},
description: 'ID của người dùng cần chấp nhận lời mời kết bạn',
placeholder: '1234567890',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['sendFriendRequest'],
},
},
description: 'ID của người dùng cần gửi lời mời kết bạn',
placeholder: '1234567890',
},
{
displayName: 'Tin Nhắn',
name: 'message',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['sendFriendRequest'],
},
},
description: 'Tin nhắn kèm theo lời mời kết bạn',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['rejectFriendRequest'],
},
},
description: 'ID người dùng cần từ chối lời mời kết bạn',
placeholder: '1234567890',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['undoFriendRequest'],
},
},
description: 'ID người dùng cần hủy lời mời kết bạn đã gửi',
placeholder: '1234567890',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['removeFriend'],
},
},
description: 'ID người dùng cần xóa khỏi danh sách bạn bè',
placeholder: '1234567890',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['getFriendRequestStatus'],
},
},
description: 'ID người dùng cần kiểm tra trạng thái kết bạn',
placeholder: '1234567890',
},
{
displayName: 'Giới Hạn',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
required: true,
default: 50,
displayOptions: {
show: {
resource: ['friend'],
operation: ['getAllFriends'],
},
},
description: 'Max number of results to return',
},
{
displayName: 'Số ĐIện Thoại',
name: 'phoneNumber',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['findUser'],
},
},
description: 'Số điện thoại cần tìm kiếm',
placeholder: '0901234567',
},
{
displayName: 'Giới Hạn',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
required: true,
default: 50,
displayOptions: {
show: {
resource: ['friend'],
operation: ['findUser'],
},
},
description: 'Max number of results to return',
},
{
displayName: 'Giới Hạn',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
required: false,
default: 50,
displayOptions: {
show: {
resource: ['friend'],
operation: ['getCloseFriends'],
},
},
description: 'Số lượng bạn thân tối đa cần lấy (mặc định: 50)',
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
typeOptions: {
minValue: 0,
},
required: false,
default: 0,
displayOptions: {
show: {
resource: ['friend'],
operation: ['getCloseFriends'],
},
},
description: 'Offset cho phân trang (mặc định: 0)',
},
{
displayName: 'Username',
name: 'username',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['findUserByUsername'],
},
},
description: 'Username Zalo cần tìm kiếm',
placeholder: 'username_zalo',
},
{
displayName: 'Danh Sách Số Điện Thoại',
name: 'phones',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['getMultiUsersByPhones'],
},
},
description: 'Danh sách số điện thoại cần tìm (tối đa 50 số, cách nhau bởi dấu phẩy)',
placeholder: '0901234567,0912345678,0123456789',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['friend'],
operation: ['getRelatedFriendGroup'],
},
},
description: 'ID của người bạn cần lấy nhóm chung',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['account'],
operation: ['getUserInfo'],
},
},
description: 'ID của người dùng cần lấy thông tin',
placeholder: '1234567890',
},
{
displayName: 'Tên Hiển Thị',
name: 'name',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['account'],
operation: ['changeAccountSetting'],
},
},
description: 'Tên hiển thị mới',
},
{
displayName: 'Ngày Sinh',
name: 'dob',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['account'],
operation: ['changeAccountSetting'],
},
},
description: 'Ngày sinh (YYYY-MM-DD)',
placeholder: '1990-01-01',
},
{
displayName: 'Giới Tính',
name: 'gender',
type: 'options',
required: true,
displayOptions: {
show: {
resource: ['account'],
operation: ['changeAccountSetting'],
},
},
options: [
{
name: 'Nam',
value: 1,
},
{
name: 'Nữ',
value: 2,
},
{
name: 'Khác',
value: 3,
},
],
default: 1,
},
{
displayName: 'Ngôn Ngữ',
name: 'language',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['account'],
operation: ['changeAccountSetting'],
},
},
description: 'Ngôn ngữ (vi, en)',
},
{
displayName: 'Ngôn Ngữ',
name: 'language',
type: 'options',
displayOptions: {
show: {
resource: ['account'],
operation: ['updateLang'],
},
},
options: [
{ name: 'Tiếng Việt', value: 'vi' },
{ name: 'English', value: 'en' },
{ name: '中文 (Chinese)', value: 'zh' },
],
default: 'vi',
description: 'Ngôn ngữ hiển thị trong Zalo',
},
{
displayName: 'Trạng Thái Cá Nhân',
name: 'bio',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['account'],
operation: ['updateProfileBio'],
},
},
description: 'Dòng trạng thái (bio) mới cho tài khoản',
},
{
displayName: 'URL Ảnh',
name: 'avatarUrl',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['account'],
operation: ['changeAccountAvatar'],
},
},
description: 'URL ảnh đại diện mới cho tài khoản',
},
{
displayName: 'Loại Cài Đặt',
name: 'settingType',
type: 'options',
required: true,
options: [
{ name: 'Cho Phép Xem Ngày Sinh', value: 'view_birthday' },
{ name: 'Hiển Thị Trạng Thái Online', value: 'show_online_status' },
{ name: 'Hiển Thị Trạng Thái Đã Xem', value: 'display_seen_status' },
{ name: 'Nhận Tin Nhắn Từ Người Lạ', value: 'receive_message' },
{ name: 'Nhận Cuộc Gọi Từ Người Lạ', value: 'accept_stranger_call' },
{ name: 'Kết Bạn Qua Số Điện Thoại', value: 'add_friend_via_phone' },
{ name: 'Kết Bạn Qua QR', value: 'add_friend_via_qr' },
{ name: 'Kết Bạn Qua Nhóm', value: 'add_friend_via_group' },
{ name: 'Kết Bạn Qua Danh Bạ', value: 'add_friend_via_contact' },
{ name: 'Hiển Thị Trong Gợi Ý Kết Bạn', value: 'display_on_recommend_friend' },
{ name: 'Trạng Thái Lưu Trữ Trò Chuyện', value: 'archivedChatStatus' },
{ name: 'Trạng Thái Tin Nhắn Nhanh', value: 'quickMessageStatus' },
],
default: 'show_online_status',
displayOptions: {
show: {
resource: ['account'],
operation: ['updateSettings'],
},
},
description: 'Cài đặt cần cập nhật (tham số type upstream)',
},
{
displayName: 'Giá Trị',
name: 'settingValue',
type: 'number',
required: true,
default: 1,
displayOptions: {
show: {
resource: ['account'],
operation: ['updateSettings'],
},
},
description: 'Giá trị mới, thường là 0 (tắt) hoặc 1 (bật)',
},
{
displayName: 'Hiển Thị Trạng Thái Online',
name: 'active',
type: 'boolean',
default: true,
displayOptions: {
show: {
resource: ['account'],
operation: ['updateActiveStatus'],
},
},
description: 'Whether the account shows as active/online to others',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['privacy'],
operation: ['blockUser'],
},
},
description: 'ID của người dùng cần chặn',
placeholder: '1234567890',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['privacy'],
operation: ['unblockUser'],
},
},
description: 'ID của người dùng cần bỏ chặn',
placeholder: '1234567890',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['privacy'],
operation: ['blockViewFeed'],
},
},
description: 'ID người dùng cần chặn/bỏ chặn xem bảng tin',
placeholder: '1234567890',
},
{
displayName: 'Chặn Xem Bảng Tin',
name: 'isBlockFeed',
type: 'boolean',
displayOptions: {
show: {
resource: ['privacy'],
operation: ['blockViewFeed'],
},
},
default: true,
description: 'True = chặn xem bảng tin, false = bỏ chặn',
},
{
displayName: 'ID Cuộc Trò Chuyện',
name: 'reportThreadId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['privacy'],
operation: ['sendReport'],
},
},
description: 'ID của cuộc trò chuyện cần báo cáo',
},
{
displayName: 'Loại',
name: 'reportThreadType',
type: 'options',
options: [
{ name: 'Người Dùng', value: 0 },
{ name: 'Nhóm', value: 1 },
],
default: 0,
displayOptions: {
show: {
resource: ['privacy'],
operation: ['sendReport'],
},
},
description: 'Loại cuộc trò chuyện',
},
{
displayName: 'Lý Do',
name: 'reportReason',
type: 'options',
options: [
{ name: 'Nhạy Cảm', value: 1 },
{ name: 'Làm Phiền', value: 2 },
{ name: 'Lừa Đảo', value: 3 },
{ name: 'Khác', value: 0 },
],
default: 1,
displayOptions: {
show: {
resource: ['privacy'],
operation: ['sendReport'],
},
},
description: 'Lý do báo cáo (theo enum ReportReason của zca-js)',
},
{
displayName: 'Nội Dung',
name: 'reportContent',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['privacy'],
operation: ['sendReport'],
reportReason: [0],
},
},
description: 'Bắt buộc khi Lý Do = Khác',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['alias'],
operation: ['changeAliasName'],
},
},
description: 'ID của người dùng cần đổi tên gợi nhớ',
placeholder: '1234567890',
},
{
displayName: 'Tên Gợi Nhớ',
name: 'aliasName',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['alias'],
operation: ['changeAliasName'],
},
},
description: 'Tên gợi nhớ mới',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['alias'],
operation: ['removeFriendAlias'],
},
},
description: 'ID người dùng cần xóa tên gợi nhớ',
placeholder: '1234567890',
},
{
displayName: 'Số Lượng',
name: 'count',
type: 'number',
displayOptions: {
show: {
resource: ['alias'],
operation: ['getAliasList'],
},
},
default: 100,
description: 'Số lượng alias trả về mỗi trang',
},
{
displayName: 'Trang',
name: 'page',
type: 'number',
displayOptions: {
show: {
resource: ['alias'],
operation: ['getAliasList'],
},
},
default: 1,
description: 'Số trang cần lấy (bắt đầu từ 1)',
},
{
displayName: 'Số Lượng',
name: 'count',
type: 'number',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['getAvatarList'],
},
},
default: 50,
description: 'Số lượng avatar trả về mỗi trang',
},
{
displayName: 'Trang',
name: 'page',
type: 'number',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['getAvatarList'],
},
},
default: 1,
description: 'Số trang cần lấy (bắt đầu từ 1)',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['getAvatarUrlProfile'],
},
},
description: 'ID của người dùng cần lấy avatar URL',
placeholder: '1234567890',
},
{
displayName: 'Kích Thước Tối Đa',
name: 'avatarSize',
type: 'boolean',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['getAvatarUrlProfile'],
},
},
default: false,
description: 'True = lấy avatar kích thước lớn (240px), False = lấy avatar kích thước nhỏ (120px)',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['getFullAvatar'],
},
},
description: 'ID của người dùng cần lấy avatar full resolution',
placeholder: '1234567890',
},
{
displayName: 'ID ẢNh',
name: 'photoId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['reuseAvatar'],
},
},
description: 'ID của ảnh đại diện cũ cần sử dụng lại (lấy từ Get Avatar List)',
placeholder: 'abc123xyz...',
},
{
displayName: 'Danh Sách ID ẢNh',
name: 'photoIds',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['avatar'],
operation: ['deleteAvatar'],
},
},
description: 'ID hoặc danh sách IDs của ảnh cần xóa (cách nhau bởi dấu phẩy)',
placeholder: 'id1,id2,id3',
},
{
displayName: 'ID Thread',
name: 'threadId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['undoMessage'],
},
},
description: 'ID của người dùng cần thu hồi tin nhắn',
placeholder: '1234567890',
},
{
displayName: 'Loại Thread',
name: 'threadType',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['undoMessage'],
},
},
description: 'Loại user',
},
{
displayName: 'ID Tin Nhắn',
name: 'msgId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['undoMessage'],
},
},
description: 'Message ID',
},
{
displayName: 'ID Tin Nhắn Client',
name: 'cliMsgId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['undoMessage'],
},
},
description: 'Client message ID',
},
{
displayName: 'ID Thread',
name: 'reactionThreadId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['addReaction'],
},
},
description: 'ID của cuộc trò chuyện chứa tin nhắn cần thả cảm xúc',
},
{
displayName: 'Loại',
name: 'reactionThreadType',
type: 'options',
options: [
{ name: 'Người Dùng', value: 0 },
{ name: 'Nhóm', value: 1 },
],
default: 0,
displayOptions: {
show: {
resource: ['message'],
operation: ['addReaction'],
},
},
description: 'Loại cuộc trò chuyện',
},
{
displayName: 'ID Tin Nhắn',
name: 'reactionMsgId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['addReaction'],
},
},
description: 'Message ID của tin nhắn cần thả cảm xúc',
},
{
displayName: 'ID Tin Nhắn Client',
name: 'reactionCliMsgId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['addReaction'],
},
},
description: 'Client message ID của tin nhắn cần thả cảm xúc',
},
{
displayName: 'Cảm Xúc',
name: 'reactionIcon',
type: 'options',
options: [
{ name: 'Angry', value: 'ANGRY' },
{ name: 'Cry', value: 'CRY' },
{ name: 'Dislike', value: 'DISLIKE' },
{ name: 'Haha', value: 'HAHA' },
{ name: 'Heart', value: 'HEART' },
{ name: 'Like', value: 'LIKE' },
{ name: 'Love', value: 'LOVE' },
{ name: 'OK', value: 'OK' },
{ name: 'Rose', value: 'ROSE' },
{ name: 'Wow', value: 'WOW' },
],
default: 'LIKE',
displayOptions: {
show: {
resource: ['message'],
operation: ['addReaction'],
},
},
description: 'Loại cảm xúc cần thả (theo enum Reactions của zca-js)',
},
{
displayName: 'Nội Dung Tin Nhắn',
name: 'forwardMessageContent',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['forwardMessage'],
},
},
description: 'Nội dung tin nhắn cần chuyển tiếp',
},
{
displayName: 'Danh Sách ID Đích',
name: 'forwardThreadIds',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['forwardMessage'],
},
},
description: 'Một hoặc nhiều ID cuộc trò chuyện đích, cách nhau bởi dấu phẩy',
placeholder: 'user1,user2',
},
{
displayName: 'Loại',
name: 'forwardThreadType',
type: 'options',
options: [
{ name: 'Người Dùng', value: 0 },
{ name: 'Nhóm', value: 1 },
],
default: 0,
displayOptions: {
show: {
resource: ['message'],
operation: ['forwardMessage'],
},
},
description: 'Loại của các cuộc trò chuyện đích (tất cả cùng loại)',
},
{
displayName: 'ID Thread',
name: 'deleteThreadId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['deleteMessage'],
},
},
description: 'ID của cuộc trò chuyện chứa tin nhắn cần xóa',
},
{
displayName: 'Loại',
name: 'deleteThreadType',
type: 'options',
options: [
{ name: 'Người Dùng', value: 0 },
{ name: 'Nhóm', value: 1 },
],
default: 0,
displayOptions: {
show: {
resource: ['message'],
operation: ['deleteMessage'],
},
},
description: 'Loại cuộc trò chuyện',
},
{
displayName: 'ID Tin Nhắn',
name: 'deleteMsgId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['deleteMessage'],
},
},
description: 'Message ID của tin nhắn cần xóa',
},
{
displayName: 'ID Tin Nhắn Client',
name: 'deleteCliMsgId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['deleteMessage'],
},
},
description: 'Client message ID của tin nhắn cần xóa',
},
{
displayName: 'Người Gửi Tin Nhắn (uidFrom)',
name: 'deleteUidFrom',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['message'],
operation: ['deleteMessage'],
},
},
description: 'ID người gửi tin nhắn gốc (uidFrom trong payload upstream)',
},
{
displayName: 'Chỉ Xóa Ở Phía Tôi',
name: 'deleteOnlyMe',
type: 'boolean',
default: true,
displayOptions: {
show: {
resource: ['message'],
operation: ['deleteMessage'],
},
},
description: 'Whether to delete only on this account (true) or attempt to delete for everyone (false)',
},
{
displayName: 'Loại',
name: 'seenThreadType',
type: 'options',
options: [
{ name: 'Người Dùng', value: 0 },
{ name: 'Nhóm', value: 1 },
],
default: 0,
displayOptions: {
show: {
resource: ['message'],
operation: ['sendSeenEvent'],
},
},
description: 'Loại cuộc trò chuyện',
},
{
displayName: 'Tin Nhắn (JSON)',
name: 'seenMessages',
type: 'json',
required: true,
default: '{\n "msgId": "",\n "cliMsgId": "",\n "uidFrom": "",\n "idTo": "",\n "msgType": "",\n "st": 0,\n "at": 0,\n "cmd": 0,\n "ts": ""\n}',
displayOptions: {
show: {
resource: ['message'],
operation: ['sendSeenEvent'],
},
},
description: 'Message envelope theo đúng payload upstream (msgId, cliMsgId, uidFrom, idTo, msgType, st, at, cmd, ts) — thường lấy trực tiếp từ dữ liệu event "message" của ZaloMessageTrigger. Có thể là một object hoặc mảng object.',
},
{
displayName: 'Loại',
name: 'deliveredThreadType',
type: 'options',
options: [
{ name: 'Người Dùng', value: 0 },
{ name: 'Nhóm', value: 1 },
],
default: 0,
displayOptions: {
show: {
resource: ['message'],
operation: ['sendDeliveredEvent'],
},
},
description: 'Loại cuộc trò chuyện',
},
{
displayName: 'Đã Xem',
name: 'deliveredIsSeen',
type: 'boolean',
default: false,
displayOptions: {
show: {
resource: ['message'],
operation: ['sendDeliveredEvent'],
},
},
description: 'Whether the message has also been seen, not just delivered',
},
{
displayName: 'Tin Nhắn (JSON)',
name: 'deliveredMessages',
type: 'json',
required: true,
default: '{\n "msgId": "",\n "cliMsgId": "",\n "uidFrom": "",\n "idTo": "",\n "msgType": "",\n "st": 0,\n "at": 0,\n "cmd": 0,\n "ts": ""\n}',
displayOptions: {
show: {
resource: ['message'],
operation: ['sendDeliveredEvent'],
},
},
description: 'Message envelope theo đúng payload upstream — thường lấy trực tiếp từ dữ liệu event "message" của ZaloMessageTrigger. Có thể là một object hoặc mảng object.',
},
{
displayName: 'ID Người Dùng',
name: 'userId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['system'],
operation: ['lastOnline'],
},
},
description: 'ID của người dùng cần kiểm tra trạng thái hoạt động',
placeholder: '1234567890',
},
{
displayName: 'Link',
name: 'linkToParse',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['system'],
operation: ['parseLink'],
},
},
description: 'URL cần phân tích để lấy thông tin xem trước',
placeholder: 'https://example.com',
},
];
//# sourceMappingURL=ZaloUserDescription.js.map