UNPKG

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.

124 lines 4.22 kB
import { HttpClient } from '../../utils/http.utils'; import { AutomationWebResponse } from '../../types/common.types'; import { GetStickersRequest, GetStickersResponse, GetStickersDetailRequest, GetStickersDetailResponse, ParseLinkRequest, ParseLinkResponse } from '../../types/dto/search.types'; /** * Zalo Personal Search Service Class * 100% khớp với automation-web ZaloSearchController */ export declare class SearchService { private httpClient; constructor(httpClient: HttpClient); /** * Tìm sticker theo từ khóa * POST /zalo-personal/search/get-stickers * * @param request - Search stickers request * @returns Promise<AutomationWebResponse<GetStickersResponse>> * * @example * ```typescript * const result = await searchService.getStickers({ * sessionId: "session-123", * keyword: "hello" * }); * * if (result.success) { * console.log(`Found ${result.data.result.length} stickers`); * console.log('Sticker IDs:', result.data.result); * } * ``` */ getStickers(request: GetStickersRequest): Promise<AutomationWebResponse<GetStickersResponse>>; /** * Lấy chi tiết sticker theo IDs * POST /zalo-personal/search/get-stickers-detail * * @param request - Get stickers detail request * @returns Promise<AutomationWebResponse<GetStickersDetailResponse>> * * @example * ```typescript * const result = await searchService.getStickersDetail({ * sessionId: "session-123", * stickerIds: [123, 456, 789] * }); * * if (result.success) { * result.data.result.forEach(sticker => { * console.log(`Sticker ${sticker.id}: ${sticker.name}`); * console.log(`Image: ${sticker.imageUrl}`); * }); * } * ``` */ getStickersDetail(request: GetStickersDetailRequest): Promise<AutomationWebResponse<GetStickersDetailResponse>>; /** * Parse thông tin metadata từ URL * POST /zalo-personal/search/parse-link * * @param request - Parse link request * @returns Promise<AutomationWebResponse<ParseLinkResponse>> * * @example * ```typescript * const result = await searchService.parseLink({ * sessionId: "session-123", * url: "https://example.com/article" * }); * * if (result.success) { * const metadata = result.data.result; * console.log('Title:', metadata.title); * console.log('Description:', metadata.description); * console.log('Image:', metadata.image); * console.log('Site:', metadata.siteName); * } * ``` */ parseLink(request: ParseLinkRequest): Promise<AutomationWebResponse<ParseLinkResponse>>; /** * Tìm stickers và lấy chi tiết trong một lần gọi * Convenience method kết hp getStickers + getStickersDetail * * @param sessionId - Session ID * @param keyword - Search keyword * @returns Promise vi sticker details * * @example * ```typescript * const stickers = await searchService.searchStickersWithDetails( * "session-123", * "hello" * ); * * stickers.forEach(sticker => { * console.log(`${sticker.name}: ${sticker.imageUrl}`); * }); * ``` */ searchStickersWithDetails(sessionId: string, keyword: string): Promise<GetStickersDetailResponse['result']>; /** * Batch parse multiple links * Parse nhiều links cùng lúc * * @param sessionId - Session ID * @param urls - Array of URLs to parse * @returns Promise với array of parsed metadata * * @example * ```typescript * const results = await searchService.parseMultipleLinks( * "session-123", * ["https://example1.com", "https://example2.com"] * ); * * results.forEach((metadata, index) => { * if (metadata) { * console.log(`Link ${index + 1}: ${metadata.title}`); * } * }); * ``` */ parseMultipleLinks(sessionId: string, urls: string[]): Promise<(ParseLinkResponse['result'] | null)[]>; } //# sourceMappingURL=search.service.d.ts.map