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
TypeScript
/**
* 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