meta-cloud-api
Version:
TypeScript wrapper for Meta's Cloud API
65 lines (60 loc) • 2.89 kB
TypeScript
import { WabaConfigType } from './shared/types/config.js';
import { H as HttpMethodsEnum } from './enums-DvwSJq9w.js';
type GeneralRequestBody = Record<string, unknown>;
interface GeneralHeaderInterface {
/**
* Authorization token. This is required for all HTTP requests made to the graph API.
* @default 'Bearer '
*/
Authorization: string;
/**
* Content type of the message being sent. This is required for all HTTP requests made to the graph API.
* @default 'application/json'
*/
'Content-Type': string;
/**
* User agent field sent in all requests. This is used to gather SDK usage metrics and help
* better triage support requests.
* @default `WA_SDK/${ SDK_version } (Node.js ${ process.version })`
*/
'User-Agent': string;
}
interface RequesterResponseInterface<T> {
json: () => Promise<T>;
}
interface ResponseSuccess {
success: boolean;
}
interface ResponseData<T> {
data: T;
}
interface ResponsePagination<T> {
data: T[];
paging: Paging;
}
interface Paging {
cursors: {
before: string;
after: string;
};
next: string;
}
declare class RequesterClass {
constructor(apiVersion: string, phoneNumberId: number, accessToken: string, businessAcctId: string, userAgent: string);
sendRequest: (method: HttpMethodsEnum, path: string, timeout: number, body?: GeneralRequestBody, contentType?: string, additionalHeaders?: Record<string, string>) => Promise<RequesterResponseInterface<unknown>>;
getJson<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, body?: GeneralRequestBody, additionalHeaders?: Record<string, string>): Promise<T>;
sendFormData<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, formData: FormData, additionalHeaders?: Record<string, string>): Promise<T>;
sendUrlEncodedForm<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, formData: Record<string, string>, additionalHeaders?: Record<string, string>): Promise<T>;
}
declare class BaseClass {
constructor(config: WabaConfigType);
}
declare class BaseAPI implements BaseClass {
protected config: WabaConfigType;
protected client: RequesterClass;
constructor(config: WabaConfigType, client: RequesterClass);
protected sendJson<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, body?: any): Promise<T>;
protected sendFormData<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, body?: any): Promise<T>;
protected sendUrlEncodedForm<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, body?: any): Promise<T>;
}
export { BaseAPI as B, type GeneralRequestBody as G, type Paging as P, type ResponseSuccess as R, RequesterClass as a, type ResponsePagination as b, type ResponseData as c, BaseClass as d, type GeneralHeaderInterface as e, type RequesterResponseInterface as f };