@warriorteam/redai-zalo-sdk
Version:
Comprehensive TypeScript/JavaScript SDK for Zalo APIs - Official Account v3.0, ZNS with Full Type Safety, Consultation Service, Broadcast Service, Group Messaging with List APIs, Social APIs, Enhanced Article Management, Promotion Service v3.0 with Multip
52 lines • 2.21 kB
TypeScript
/**
* Main Zalo API client
*/
import { BaseClient } from "./base-client";
import { ZaloSDKConfig } from "../types/common";
/**
* Zalo API client for making HTTP requests
*/
export declare class ZaloClient extends BaseClient {
constructor(config: ZaloSDKConfig);
/**
* Make authenticated GET request to Zalo API
*/
apiGet<T = any>(endpoint: string, accessToken: string, params?: Record<string, any>): Promise<T>;
/**
* Make GET request with custom headers
*/
apiGetWithHeaders<T = any>(endpoint: string, headers: Record<string, string>): Promise<T>;
/**
* Make authenticated POST request to Zalo API
*/
apiPost<T = any>(endpoint: string, accessToken: string, data?: any, params?: Record<string, any>): Promise<T>;
/**
* Make authenticated PUT request to Zalo API
*/
apiPut<T = any>(endpoint: string, accessToken: string, data?: any, params?: Record<string, any>): Promise<T>;
/**
* Make authenticated DELETE request to Zalo API
*/
apiDelete<T = any>(endpoint: string, accessToken: string, params?: Record<string, any>): Promise<T>;
/**
* Upload file to Zalo API
*/
apiUploadFile<T = any>(endpoint: string, accessToken: string, file: Buffer | NodeJS.ReadableStream, filename: string, additionalFields?: Record<string, any>): Promise<T>;
/**
* Make POST request with FormData (for file uploads)
*/
apiPostFormData<T = any>(endpoint: string, accessToken: string, formData: FormData): Promise<T>;
/**
* Make request to OAuth endpoints (without access token)
*/
oauthRequest<T = any>(method: "GET" | "POST", endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
/**
* Make request to ZNS API (different base URL)
*/
znsRequest<T = any>(method: "GET" | "POST" | "PUT" | "DELETE", endpoint: string, accessToken: string, data?: any, params?: Record<string, any>): Promise<T>;
/**
* Make request to OAuth endpoints with custom base URL
*/
oauthRequestWithUrl<T = any>(method: "GET" | "POST", url: string, data?: any, headers?: Record<string, string>): Promise<T>;
}
//# sourceMappingURL=zalo-client.d.ts.map