redai-automation-web-sdk
Version:
TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, and search. 100% compatible with automation-web backend. Now includes SearchModule for stickers and link parsing.
357 lines • 7.39 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
*/
export interface CreateGroupRequest {
sessionId: string;
name: string;
members: 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
*/
export interface GetGroupMembersRequest {
sessionId: string;
groupId: string;
page?: number;
limit?: 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
*/
export interface JoinGroupRequest {
sessionId: string;
groupLink: 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
*/
export interface GetGroupLinkInfoRequest {
sessionId: string;
groupLink: string;
}
/**
* DTO để mời user vào nhiều groups
*/
export interface InviteUserToGroupsRequest {
sessionId: string;
memberId: string;
groupIds: string[];
}
/**
* Group DTO - thông tin cơ bản của group
*/
export interface GroupInfo {
groupId: string;
name: string;
desc: string;
avt: string;
fullAvt: string;
creatorId: string;
totalMember: number;
maxMember: number;
createdTime: number;
}
/**
* 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
*/
export interface GetGroupLinkInfoResponse {
groupId: string;
groupName: string;
groupAvatar: string;
memberCount: number;
description: string;
isJoined: boolean;
success: boolean;
timestamp: number;
}
/**
* Response DTO cho inviteUserToGroups
*/
export interface InviteUserToGroupsResponse {
memberId: string;
results: Array<{
groupId: string;
success: boolean;
message: string;
}>;
}
//# sourceMappingURL=groups.type.d.ts.map