meta-cloud-api
Version:
TypeScript wrapper for Meta's Cloud API
101 lines (94 loc) • 4.87 kB
TypeScript
import { E as EncryptionApi } from './EncryptionApi-PHxeI2G_.js';
import { F as FlowApi } from './FlowApi-CASVC-Al.js';
import { WhatsAppConfig, WabaConfigType } from './shared/types/config.js';
import { M as MediaApi } from './MediaApi-B2vtjiCm.js';
import { M as MessagesApi } from './MessageApi-ptFlWg3O.js';
import { P as PhoneNumberApi } from './PhoneNumberApi-DMb_G3uw.js';
import { B as BusinessProfileApi } from './BusinessProfileApi-DE7Nnuy_.js';
import { Q as QrCodeApi } from './QrCodeApi-D3rVKuxV.js';
import { R as RegistrationApi } from './RegistrationApi-DZBJWAZS.js';
import { f as TemplateApi } from './TemplateApi-BFeM9qJS.js';
import { T as TwoStepVerificationApi } from './TwoStepVerificationApi-6jV5pDxS.js';
import { W as WabaApi } from './WabaApi-B8Gv2UNE.js';
import { H as HttpMethodsEnum, l as SDKEnums } from './enums-DvwSJq9w.js';
import { a as RequesterClass } from './base-BhCbbsxB.js';
import { Agent } from 'https';
type ResponseHeaderValue = string | string[] | undefined;
type ResponseHeaders = Record<string, ResponseHeaderValue>;
type ResponseJSONBody = Record<string, unknown>;
declare class HttpsClientResponseClass {
constructor(resp: Response);
statusCode: () => number;
headers: () => ResponseHeaders;
rawResponse: () => Response;
json: () => Promise<ResponseJSONBody>;
}
declare class HttpsClientClass {
constructor();
clearSockets: () => boolean;
sendRequest: (host: string, path: string, method: HttpMethodsEnum, headers: HeadersInit, timeout: number, body?: BodyInit | null) => Promise<HttpsClientResponseClass>;
}
declare class WhatsAppClass {
constructor(config?: WhatsAppConfig);
readonly messages: MessagesApi;
readonly templates: TemplateApi;
readonly phoneNumber: PhoneNumberApi;
readonly qrCode: QrCodeApi;
readonly encryption: EncryptionApi;
readonly twoStepVerification: TwoStepVerificationApi;
readonly registration: RegistrationApi;
readonly media: MediaApi;
readonly waba: WabaApi;
readonly flow: FlowApi;
readonly businessProfile: BusinessProfileApi;
updateTimeout(ms: number): boolean;
updatePhoneNumberId(phoneNumberId: number): boolean;
updateAccessToken(accessToken: string): boolean;
updateWabaId(wabaId: string): boolean;
}
declare class HttpsClient implements HttpsClientClass {
agent: Agent;
constructor();
clearSockets(): boolean;
sendRequest(hostname: string, path: string, method: HttpMethodsEnum, headers: HeadersInit, timeout: number, body?: BodyInit | null): Promise<HttpsClientResponseClass>;
}
declare class Requester implements RequesterClass {
client: Readonly<HttpsClient>;
accessToken: Readonly<string>;
phoneNumberId: Readonly<number>;
businessAcctId: Readonly<string>;
apiVersion: Readonly<string>;
userAgent: Readonly<string>;
host: Readonly<string>;
protocol: Readonly<string>;
constructor(apiVersion: string, phoneNumberId: number, accessToken: string, businessAcctId: string, userAgent: string);
buildHeader(contentType: string, additionalHeaders?: Record<string, string>): HeadersInit;
buildCAPIPath(endpoint: string): string;
sendRequest(method: HttpMethodsEnum, endpoint: string, timeout: number, body?: any, contentType?: string, additionalHeaders?: Record<string, string>): Promise<HttpsClientResponseClass>;
getJson<T>(method: HttpMethodsEnum, endpoint: string, timeout: number, body?: any, 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 WhatsApp implements WhatsAppClass {
config: WabaConfigType;
requester: Readonly<Requester>;
readonly messages: MessagesApi;
readonly templates: TemplateApi;
readonly phoneNumber: PhoneNumberApi;
readonly qrCode: QrCodeApi;
readonly encryption: EncryptionApi;
readonly twoStepVerification: TwoStepVerificationApi;
readonly registration: RegistrationApi;
readonly media: MediaApi;
readonly waba: WabaApi;
readonly flow: FlowApi;
readonly businessProfile: BusinessProfileApi;
static readonly Enums: typeof SDKEnums;
constructor(config?: WhatsAppConfig);
private userAgent;
updateTimeout(ms: number): boolean;
updatePhoneNumberId(phoneNumberId: number): boolean;
updateAccessToken(accessToken: string): boolean;
updateWabaId(wabaId: string): boolean;
}
export { HttpsClientClass as H, type ResponseHeaders as R, WhatsApp as W, HttpsClientResponseClass as a, type ResponseHeaderValue as b, type ResponseJSONBody as c, WhatsAppClass as d };