@jackiemacklein/nettz-utils
Version:
Serviços de imagem, e-mail, códigos de barras, utilitários numéricos e componentes React para apps Node.js com TypeScript
38 lines (37 loc) • 3.2 kB
TypeScript
/**
* @author Jackiê Macklein
* @company Onside tecnologia/Nettz
* @copyright Todos direitos reservados.
* @description Cliente HTTP para WhatsApp Cloud API (envio de mensagens via Graph API).
*/
import { WhatsAppCloudClientConfig, WhatsAppSendAddressMessageOptions, WhatsAppSendAudioMessageOptions, WhatsAppSendContactsMessageOptions, WhatsAppSendDocumentMessageOptions, WhatsAppSendImageMessageOptions, WhatsAppSendInteractiveCtaUrlMessageOptions, WhatsAppSendInteractiveListMessageOptions, WhatsAppSendInteractiveMediaCarouselMessageOptions, WhatsAppSendInteractiveReplyButtonsMessageOptions, WhatsAppSendLocationMessageOptions, WhatsAppSendMessageResponse, WhatsAppSendTemplateMessageOptions, WhatsAppSendTextMessageOptions, WhatsAppSendVideoMessageOptions } from "./types";
export interface WhatsAppCloudClient {
readonly graphBaseUrl: string;
readonly graphApiVersion: string;
readonly phoneNumberId: string;
/** POST `/{phone-number-id}/messages` — corpo completo conforme a documentação. */
sendMessage<T = WhatsAppSendMessageResponse>(body: Record<string, unknown>): Promise<T>;
sendTextMessage(options: WhatsAppSendTextMessageOptions): Promise<WhatsAppSendMessageResponse>;
/** @deprecated use sendTextMessage */
sendText(options: WhatsAppSendTextMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendTemplateMessage(options: WhatsAppSendTemplateMessageOptions): Promise<WhatsAppSendMessageResponse>;
/** @deprecated use sendTemplateMessage */
sendTemplate(options: WhatsAppSendTemplateMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendAddressMessage(options: WhatsAppSendAddressMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendAudioMessage(options: WhatsAppSendAudioMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendContactsMessage(options: WhatsAppSendContactsMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendDocumentMessage(options: WhatsAppSendDocumentMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendImageMessage(options: WhatsAppSendImageMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendVideoMessage(options: WhatsAppSendVideoMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendLocationMessage(options: WhatsAppSendLocationMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendInteractiveCtaUrlMessage(options: WhatsAppSendInteractiveCtaUrlMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendInteractiveListMessage(options: WhatsAppSendInteractiveListMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendInteractiveMediaCarouselMessage(options: WhatsAppSendInteractiveMediaCarouselMessageOptions): Promise<WhatsAppSendMessageResponse>;
sendInteractiveReplyButtonsMessage(options: WhatsAppSendInteractiveReplyButtonsMessageOptions): Promise<WhatsAppSendMessageResponse>;
/**
* Metadados do número (GET no node do phone number id).
* @param fields parâmetro `fields` da Graph API (opcional).
*/
getPhoneNumber(fields?: string): Promise<Record<string, unknown>>;
}
export declare function createWhatsAppCloudClient(config: WhatsAppCloudClientConfig): WhatsAppCloudClient;