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.
200 lines (199 loc) • 4.52 kB
TypeScript
import { IDataObject } from 'n8n-workflow';
export interface CreateGroupParams {
groupName: string;
userIds: string;
}
export interface ResolvedMemberIdentifier extends IDataObject {
input: string;
type: 'uid' | 'phone';
uid: string;
}
export interface GetGroupInfoParams {
groupId: string;
includeMembers?: boolean;
memberLimit?: number;
}
export interface MemberInfo {
id: string;
displayName: string;
avatar: string;
zaloName?: string;
gender?: number;
phoneNumber?: string;
isFriend?: boolean;
isBlocked?: boolean;
status?: string;
}
export interface AddGroupDeputyParams {
groupId: string;
userId: string;
}
export interface AddUserToGroupParams {
groupId: string;
userIds: string;
}
export interface ChangeGroupAvatarParams {
groupId: string;
imageUrl: string;
}
export interface ChangeGroupNameParams {
groupId: string;
newName: string;
}
export interface GetGroupMembersParams {
groupId: string;
limit: number;
}
export interface GetAllGroupsParams {
limit: number;
}
export interface RemoveUserFromGroupParams {
groupId: string;
userIds: string;
}
export interface ReplaceGroupMembersParams {
groupId: string;
oldMembers: string;
newMembers: string;
}
export interface CreateNoteParams {
groupId: string;
content: string;
pinAct: boolean;
}
export interface JoinGroupLinkParams {
groupLink: string;
}
export interface LeaveGroupParams {
groupId: string;
silent: boolean;
}
export interface InviteUsersParams {
userId: string;
groupIds: string;
}
export interface GetBlockedMembersParams {
groupId: string;
page?: number;
count?: number;
}
export interface BlockMemberParams {
groupId: string;
memberIds: string;
}
export interface UnblockMemberParams {
groupId: string;
memberIds: string;
}
export interface ProcessedGroupMembers extends IDataObject {
members: string[];
admins: string[];
currentMems: string[];
updateMems: string[];
totalMember: number;
}
export interface ProcessedAllGroups extends IDataObject {
groups: any[];
totalGroups: number;
limitedToCount: number;
actualReturnedCount: number;
}
export interface GroupOperationResult extends IDataObject {
status?: string;
response: any;
}
export interface GetGroupLinkInfoParams {
link: string;
memberPage?: number;
}
export interface GetGroupLinkDetailParams {
groupId: string;
}
export interface EnableGroupLinkParams {
groupId: string;
}
export interface DisableGroupLinkParams {
groupId: string;
}
export interface GetGroupChatHistoryParams {
groupId: string;
limit?: number;
timestamp?: number;
}
export interface NormalizedGroupMessage {
msgId: string;
cliMsgId: string;
threadId: string;
senderId: string;
senderName: string;
content: unknown;
msgType: string;
contentType: string;
mediaUrls: string[];
timestamp: number;
isSelf: boolean;
mentions: unknown;
quote: unknown;
ttl: number;
}
export interface UpgradeGroupToCommunityParams {
groupId: string;
}
export interface ChangeGroupOwnerParams {
groupId: string;
memberId: string;
}
export interface RemoveGroupDeputyParams {
groupId: string;
memberIds: string;
}
export interface GetGroupMembersInfoParams {
memberIds: string;
}
export interface GetGroupInviteBoxInfoParams {
groupId: string;
memberPage?: number;
memberCount?: number;
}
export interface GetGroupInviteBoxListParams {
page?: number;
invitesPerPage?: number;
memberPage?: number;
memberCount?: number;
}
export interface JoinGroupInviteBoxParams {
groupId: string;
}
export interface DeleteGroupInviteBoxParams {
groupIds: string;
blockFutureInvite: boolean;
}
export interface DisperseGroupParams {
groupId: string;
}
export interface EditNoteParams {
groupId: string;
topicId: string;
title: string;
pinAct?: boolean;
}
export interface GetListBoardParams {
groupId: string;
page?: number;
count?: number;
}
export interface GetFriendBoardListParams {
conversationId: string;
}
export interface UpdateGroupSettingsParams {
groupId: string;
blockName?: boolean;
signAdminMsg?: boolean;
setTopicOnly?: boolean;
enableMsgHistory?: boolean;
joinAppr?: boolean;
lockCreatePost?: boolean;
lockCreatePoll?: boolean;
lockSendMsg?: boolean;
lockViewMember?: boolean;
}