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
TypeScript
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 hợp getStickers + getStickersDetail
*
* @param sessionId - Session ID
* @param keyword - Search keyword
* @returns Promise với 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