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

715 lines 14.4 kB
/** * Friends DTOs - Chuẩn theo automation-web friend.dto.ts */ /** * DTO để lấy tất cả friends */ export interface GetAllFriendsDto { sessionId: string; } /** * DTO để tìm kiếm friends */ export interface SearchFriendsDto { sessionId: string; keyword: string; limit?: number; } /** * DTO để lấy thông tin chi tiết friends */ export interface GetFriendsInfoDto { sessionId: string; friendIds: string[]; } /** * DTO để lấy friends đang online */ export interface GetOnlineFriendsDto { sessionId: string; } /** * DTO để gửi lời mời kết bạn */ export interface SendFriendRequestDto { sessionId: string; userId: string; message: string; } /** * DTO để chấp nhận lời mời kết bạn */ export interface AcceptFriendRequestDto { sessionId: string; userId: string; } /** * DTO để lấy danh sách lời mời nhận được */ export interface GetReceivedFriendRequestsDto { sessionId: string; } /** * DTO để lấy danh sách lời mời đã gửi */ export interface GetSentFriendRequestsDto { sessionId: string; } /** * DTO để hủy lời mời đã gửi */ export interface UndoFriendRequestDto { sessionId: string; userId: string; } /** * DTO để xóa bạn */ export interface RemoveFriendDto { sessionId: string; friendId: string; } /** * DTO để tìm kiếm user theo số điện thoại */ export interface FindUserDto { sessionId: string; phoneNumbers: string[]; } /** * DTO để chặn user */ export interface BlockUserDto { sessionId: string; userId: string; } /** * DTO để bỏ chặn user */ export interface UnblockUserDto { sessionId: string; userId: string; } /** * DTO để thay đổi biệt danh friend */ export interface ChangeFriendAliasDto { sessionId: string; friendId: string; alias: string; } /** * DTO để xóa biệt danh friend */ export interface RemoveFriendAliasDto { sessionId: string; friendId: string; } /** * DTO để lấy danh sách biệt danh */ export interface GetAliasListDto { sessionId: string; count?: number; page?: number; } /** * DTO cho API lastOnline */ export interface GetLastOnlineDto { sessionId: string; userId: string; } /** * DTO cho API getOwnId */ export interface GetOwnIdDto { sessionId: string; } /** * DTO cho API fetchAccountInfo */ export interface FetchAccountInfoDto { sessionId: string; } /** * Friend object structure */ export interface FriendDto { userId: string; displayName: string; avatar: string; status: string; phoneNumber?: string; isFriend?: boolean; friendSince?: number; } /** * Zalo Friend Item - Chuẩn 100% từ SDK @warriorteam/zalo-personal * Đây structure thực tế được trả về từ API getAllFriends() * Source: node_modules/@warriorteam/zalo-personal/dist/apis/getAllFriends.d.ts */ export interface ZaloFriendItem { userId: string; username: string; displayName: string; zaloName: string; avatar: string; bgavatar: string; cover: string; gender: number; dob: number; sdob: string; status: string; phoneNumber: string; isFr: number; isBlocked: number; lastActionTime: number; lastUpdateTime: number; isActive: number; key: number; type: number; isActivePC: number; isActiveWeb: number; isValid: number; userKey: string; accountStatus: number; oaInfo: unknown; user_mode: number; globalId: string; bizPkg: { label: unknown; pkgId: number; }; createdTs: number; oa_status: unknown; } /** * Zalo GetAllFriends Response - Array của ZaloFriendItem * Controller trả về trực tiếp array này, không wrap trong object */ export type ZaloGetAllFriendsResponse = ZaloFriendItem[]; /** * Response DTO cho getAllFriends */ export interface GetAllFriendsResponseDto { friends: FriendDto[]; total: number; success: boolean; error?: string; timestamp: number; } /** * Response DTO cho search friends */ export interface SearchFriendsResponseDto { friends: FriendDto[]; keyword: string; total: number; success: boolean; error?: string; timestamp: number; } /** * Simple operation result DTO */ export interface OperationResultDto { message: string; } /** * Friend request info DTO */ export interface FriendRequestInfoDto { userId: string; displayName: string; avatar: string; phoneNumber?: string; message?: string; } /** * Response DTO cho received friend requests */ export interface GetReceivedFriendRequestsResponseDto { requests: FriendRequestInfoDto[]; total: number; } /** * Response DTO cho sent friend requests */ export interface GetSentFriendRequestsResponseDto { requests: FriendRequestInfoDto[]; total: number; } /** * User search result DTO */ export interface UserSearchResultDto { userId: string; displayName: string; avatar: string; phoneNumber?: string; canAddFriend?: boolean; } /** * DTO cho kết quả tìm kiếm từng user */ export interface FindUserResultDto { phoneNumber: string; user: UserSearchResultDto | null; status: 'found' | 'not_found' | 'error'; } /** * Response DTO cho find user */ export interface FindUserResponseDto { results: FindUserResultDto[]; totalSearched: number; totalFound: number; } /** * Alias info DTO */ export interface AliasInfoDto { friendId: string; alias: string; createdAt?: number; } /** * Response DTO cho getLastOnline */ export interface GetLastOnlineResponseDto { settings: { show_online_status: boolean; }; lastOnline: number; } /** * Response DTO cho getOwnId */ export interface GetOwnIdResponseDto { ownId: string; } /** * Account info DTO */ export interface AccountInfoDto { userId: string; username: string; displayName: string; zaloName: string; avatar: string; bgavatar: string; cover: string; gender: number; dob: number; sdob: string; status: string; phoneNumber: string; isFr: number; isBlocked: number; lastActionTime: number; lastUpdateTime: number; isActive: number; key: number; type: number; isActivePC: number; isActiveWeb: number; isValid: number; userKey: string; accountStatus: number; oaInfo: any; user_mode: number; globalId: string; bizPkg: { label: any; pkgId: number; }; createdTs: number; oa_status: any; } /** * Response DTO cho fetchAccountInfo */ export interface FetchAccountInfoResponseDto { success: boolean; accountInfo: AccountInfoDto; timestamp: number; error?: string; } /** * Friend stats interface */ export interface FriendStats { totalFriends: number; onlineFriends: number; offlineFriends: number; unknownStatus: number; friendsWithPhone: number; } /** * User info response (for getFriendsInfo) */ export interface GetFriendsInfoResponse { [key: string]: any; } /** * Get online friends response */ export interface GetOnlineFriendsResponse { [key: string]: any; } /** * DTO để bỏ chặn user */ export interface UnblockUserRequest { sessionId: string; userId: string; } /** * DTO để thay đổi biệt danh friend */ export interface ChangeFriendAliasRequest { sessionId: string; friendId: string; alias: string; } /** * DTO để xóa biệt danh friend */ export interface RemoveFriendAliasRequest { sessionId: string; friendId: string; } /** * DTO để lấy danh sách biệt danh */ export interface GetAliasListRequest { sessionId: string; page?: number; count?: number; } /** * DTO để lấy thông tin last online */ export interface GetLastOnlineRequest { sessionId: string; userId: string; } /** * DTO để lấy ID của chính mình */ export interface GetOwnIdRequest { sessionId: string; } /** * DTO để lấy thông tin tài khoản */ export interface FetchAccountInfoRequest { sessionId: string; } /** * Friend DTO - thông tin bản của friend */ export interface FriendInfo { userId: string; displayName: string; avatar: string; status: string; phoneNumber?: string; isFriend?: boolean; friendSince?: number; } /** * Response DTO cho getAllFriends */ export interface GetAllFriendsResponse { friends: FriendInfo[]; total: number; success: boolean; timestamp: number; } /** * Response DTO cho searchFriends */ export interface SearchFriendsResponseDto { friends: FriendInfo[]; total: number; keyword: string; success: boolean; timestamp: number; error?: string; } export declare enum Gender { Male = 0, Female = 1 } export type ProfileInfo = { userId: string; username: string; displayName: string; zaloName: string; avatar: string; bgavatar: string; cover: string; gender: Gender; dob: number; sdob: string; status: string; phoneNumber: string; isFr: number; isBlocked: number; lastActionTime: number; lastUpdateTime: number; isActive: number; key: number; type: number; isActivePC: number; isActiveWeb: number; isValid: number; userKey: string; accountStatus: number; oaInfo: any; user_mode: number; globalId: string; bizPkg: { label: any; pkgId: number; }; createdTs: number; oa_status: any; }; export type UserInfoResponse = { unchanged_profiles: Record<string, any>; phonebook_version: number; changed_profiles: Record<string, ProfileInfo>; }; /** * Response DTO cho getOnlineFriends */ export interface GetOnlineFriendsResponse { onlineFriends: FriendInfo[]; total: number; success: boolean; timestamp: number; } /** * Response DTO cho getFriendsStats */ export interface GetFriendsStatsResponse { totalFriends: number; onlineFriends: number; offlineFriends: number; blockedUsers: number; pendingRequests: number; sentRequests: number; success: boolean; timestamp: number; } /** * Friend Request DTO */ export interface FriendRequestInfo { userId: string; displayName: string; avatar: string; message?: string; timestamp: number; } /** * Response DTO cho sendFriendRequest */ export interface SendFriendRequestResponse { userId: string; success: boolean; message: string; timestamp: number; } /** * Response DTO cho acceptFriendRequest */ export interface AcceptFriendRequestResponse { userId: string; success: boolean; message: string; timestamp: number; } /** * Response DTO cho getReceivedFriendRequests */ export interface GetReceivedFriendRequestsResponse { requests: FriendRequestInfo[]; total: number; success: boolean; timestamp: number; } /** * Response DTO cho getSentFriendRequests */ export interface GetSentFriendRequestsResponse { requests: FriendRequestInfo[]; total: number; success: boolean; timestamp: number; } /** * Response DTO cho undoFriendRequest */ export interface UndoFriendRequestResponse { message: string; } /** * Response DTO cho removeFriend */ export interface RemoveFriendResponse { friendId: string; success: boolean; message: string; timestamp: number; } /** * User search result DTO */ export interface UserSearchResult { userId: string; displayName: string; avatar: string; phoneNumber: string; isFriend: boolean; isBlocked: boolean; } /** * Response DTO cho findUser */ export interface FindUserResponse { results: UserSearchResult[]; total: number; success: boolean; timestamp: number; } /** * Response DTO cho blockUser */ export interface BlockUserResponse { userId: string; success: boolean; message: string; timestamp: number; } /** * Response DTO cho unblockUser */ export interface UnblockUserResponse { userId: string; success: boolean; message: string; timestamp: number; } /** * Alias info DTO */ export interface AliasInfo { userId: string; displayName: string; alias: string; createdAt: number; } /** * Response DTO cho changeFriendAlias */ export interface ChangeFriendAliasResponse { friendId: string; alias: string; success: boolean; message: string; timestamp: number; } /** * Response DTO cho removeFriendAlias */ export interface RemoveFriendAliasResponse { friendId: string; success: boolean; message: string; timestamp: number; } /** * Response DTO cho getAliasList */ export interface GetAliasListResponse { aliases: AliasInfo[]; total: number; meta: { totalItems: number; currentPage: number; itemsPerPage: number; totalPages: number; }; success: boolean; timestamp: number; } /** * Response DTO cho getLastOnline */ export interface GetLastOnlineResponse { userId: string; lastOnline: number; isOnline: boolean; showOnlineStatus: boolean; success: boolean; timestamp: number; } /** * Response DTO cho getOwnId */ export interface GetOwnIdResponse { ownId: string; success: boolean; timestamp: number; } /** * Account info DTO */ export interface AccountInfo { userId: string; username: string; displayName: string; zaloName: string; avatar: string; bgavatar: string; cover: string; gender: number; dob: number; sdob: string; status: string; phoneNumber: string; isFr: number; isBlocked: number; lastActionTime: number; lastUpdateTime: number; isActive: number; key: number; type: number; isActivePC: number; isActiveWeb: number; isValid: number; userKey: string; accountStatus: number; oaInfo: any; user_mode: number; globalId: string; bizPkg: { label: any; pkgId: number; }; createdTs: number; oa_status: any; } /** * Response DTO cho fetchAccountInfo */ export interface FetchAccountInfoResponse { accountInfo: AccountInfo; success: boolean; timestamp: number; } //# sourceMappingURL=friends.type.d.ts.map