UNPKG

redai-automation-web-sdk

Version:

TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, advanced sticker search, and bulk operations. 100% compatible with automation-web backend. v1.8.1: Updated GroupInfo interface to match backend controller with complete gro

424 lines 9.22 kB
/** * DTO để lấy tất cả groups */ export interface GetAllGroupsDto { sessionId: string; } /** * DTO để lấy thông tin chi tiết của group */ export interface GetGroupInfoRequest { sessionId: string; groupId: string; } /** * DTO để tạo group mới * 100% khớp với automation-web CreateGroupDto */ export interface CreateGroupRequest { sessionId: string; members: string[]; name?: string; avatarSource?: string; } /** * DTO để thêm member vào group */ export interface AddMemberToGroupRequest { sessionId: string; groupId: string; memberIds: string[]; } /** * DTO để remove member khỏi group */ export interface RemoveMemberFromGroupRequest { sessionId: string; groupId: string; memberId: string; banDuration?: number; } /** * DTO để đổi tên group */ export interface ChangeGroupNameRequest { sessionId: string; groupId: string; newName: string; } /** * DTO để lấy danh sách members của group * Nếu không truyền page/limit thì sẽ lấy tất cả members * 100% khớp với automation-web GetGroupMembersDto */ export interface GetGroupMembersRequest { sessionId: string; groupId: string; page?: number; limit?: number; batchSize?: number; delayMs?: number; } /** * DTO để rời nhóm */ export interface LeaveGroupRequest { sessionId: string; groupId: string; } /** * DTO để giải tán nhóm */ export interface DisperseGroupRequest { sessionId: string; groupId: string; } /** * DTO để tham gia nhóm qua link * 100% khớp với automation-web JoinGroupDto */ export interface JoinGroupRequest { sessionId: string; link: string; } /** * DTO để đổi avatar nhóm */ export interface ChangeGroupAvatarRequest { sessionId: string; groupId: string; avatarPath: string; } /** * DTO để cập nhật cài đặt nhóm */ export interface UpdateGroupSettingsRequest { sessionId: string; groupId: string; settings: { blockName: number; signAdminMsg: number; addMemberOnly: number; setTopicOnly: number; enableMsgHistory: number; joinAppr: number; lockCreatePost: number; lockCreatePoll: number; lockSendMsg: number; lockViewMember: number; }; } /** * DTO để chuyển quyền owner nhóm */ export interface ChangeGroupOwnerRequest { sessionId: string; groupId: string; newOwnerId: string; } /** * DTO để thêm phó admin */ export interface AddGroupDeputyRequest { sessionId: string; groupId: string; memberIds: string[]; } /** * DTO để xóa phó admin */ export interface RemoveGroupDeputyRequest { sessionId: string; groupId: string; memberIds: string[]; } /** * DTO để enable group link */ export interface EnableGroupLinkRequest { sessionId: string; groupId: string; } /** * DTO để disable group link */ export interface DisableGroupLinkRequest { sessionId: string; groupId: string; } /** * DTO để lấy thông tin group từ link * 100% khớp với automation-web GetGroupLinkInfoDto */ export interface GetGroupLinkInfoRequest { sessionId: string; link: string; } /** * DTO để mời user vào nhiều groups */ export interface InviteUserToGroupsRequest { sessionId: string; memberId: string; groupIds: string[]; } /** * Group settings DTO - đúng theo GroupSetting trong docs */ export interface GroupSettingDto { blockName?: number; signAdminMsg?: number; setTopicOnly?: number; enableMsgHistory?: number; joinAppr?: number; lockCreatePost?: number; lockCreatePoll?: number; lockSendMsg?: number; lockViewMember?: number; } /** * Group Info Pending Approve DTO - theo tài liệu zca-js */ export interface GroupInfoPendingApproveDto { time: number; uids: string[] | null; } /** * Group Info Extra DTO - theo tài liệu zca-js */ export interface GroupInfoExtraDto { enable_media_store: number; } /** * Group DTO - ĐẦY ĐỦ thông tin theo tài liệu zca-js getGroupInfo * 100% khớp với automation-web GroupDto */ export interface GroupInfo { groupId: string; name: string; desc: string; type: number; creatorId: string; version: string; avt: string; fullAvt: string; memberIds: unknown[]; adminIds: string[]; currentMems: unknown[]; updateMems: unknown[]; memVerList: string[]; admins: unknown[]; hasMoreMember: number; subType: number; totalMember: number; maxMember: number; setting: GroupSettingDto; createdTime: number; visibility: number; globalId: string; e2ee: number; pendingApprove: GroupInfoPendingApproveDto; extraInfo: GroupInfoExtraDto; } /** * Response DTO cho getAllGroups */ export interface GetAllGroupsResponse { groups: GroupInfo[]; total: number; success: boolean; error: string; timestamp: number; } /** * Response DTO cho getGroupInfo */ export interface GetGroupInfoResponse { group: GroupInfo; success: boolean; timestamp: number; error: string; } /** * Response DTO cho createGroup */ export interface CreateGroupResponse { groupId: string; groupName: string; addedMembers: number; successfulMemberIds: string[]; failedMemberIds: string[]; success: boolean; timestamp: number; } /** * Response DTO cho addMember */ export interface AddMemberResponse { groupId: string; addedMembers: number; successfulMemberIds: string[]; failedMemberIds: string[]; success: boolean; timestamp: number; } /** * Response DTO cho removeMember */ export interface RemoveMemberResponse { groupId: string; removedMemberId: string; success: boolean; timestamp: number; } /** * Response DTO cho changeGroupName */ export interface ChangeGroupNameResponse { groupId: string; oldName: string; newName: string; success: boolean; timestamp: number; } /** * Group Member Detail DTO - thông tin chi tiết của member */ export interface GroupMemberDetail { id: string; displayName: string; zaloName: string; avatar: string; accountStatus: number; type: number; lastUpdateTime: number; globalId: string; isAdmin: boolean; } /** * Response DTO cho getGroupMembers */ export interface GetGroupMembersResponse { groupId: string; members: GroupMemberDetail[]; adminIds: string[]; total: number; limit: number; offset: number; note: string; } /** * Response DTO cho các group actions (leave, disperse, join) */ export interface GroupActionResponse { groupId: string; action: 'leave' | 'disperse' | 'join'; success: boolean; message: string; timestamp: number; } /** * Response DTO cho changeGroupAvatar */ export interface ChangeGroupAvatarResponse { groupId: string; newAvatarUrl: string; } /** * Response DTO cho updateGroupSettings */ export interface UpdateGroupSettingsResponse { groupId: string; updatedSettings: { blockName: number; signAdminMsg: number; addMemberOnly: number; setTopicOnly: number; enableMsgHistory: number; joinAppr: number; lockCreatePost: number; lockCreatePoll: number; lockSendMsg: number; lockViewMember: number; bannFeature: number; dirtyMedia: number; }; } /** * Response DTO cho changeGroupOwner */ export interface ChangeGroupOwnerResponse { groupId: string; newOwnerId: string; time: number; } /** * Response DTO cho addGroupDeputy */ export interface AddGroupDeputyResponse { groupId: string; addedAdmins: string[]; } /** * Response DTO cho removeGroupDeputy */ export interface RemoveGroupDeputyResponse { groupId: string; removedAdmins: string[]; } /** * Response DTO cho enableGroupLink */ export interface EnableGroupLinkResponse { groupId: string; link: string; expirationDate: number; enabled: boolean; } /** * Response DTO cho disableGroupLink */ export interface DisableGroupLinkResponse { groupId: string; } /** * Response DTO cho getGroupLinkInfo * 100% khớp với automation-web GetGroupLinkInfoResponseDto */ export interface GetGroupLinkInfoResponse { groupId: string; name: string; desc: string; type: number; creatorId: string; avt: string; fullAvt: string; adminIds: string[]; currentMems: Array<{ id: string; dName: string; zaloName: string; avatar: string; avatar_25: string; accountStatus: number; type: number; }>; admins: any[]; hasMoreMember: number; subType: number; totalMember: number; setting: any; globalId: string; } /** * Response DTO cho inviteUserToGroups * 100% khớp với automation-web InviteUserToGroupsResponseDto */ export interface InviteUserToGroupsResponse { memberId: string; results: Record<string, { success: boolean; message: string; }>; } //# sourceMappingURL=groups.type.d.ts.map