UNPKG

@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
/** * @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;