UNPKG

whatsapp

Version:

SDK for interfacing with WhatsApp Business Platform in Typescript or Node.js using the Cloud API, hosted by Meta.

30 lines (29 loc) 2.59 kB
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * All rights reserved. * * This source code is licensed under the license found in the * LICENSE file in the root directory of this source tree. */ import { RequesterResponseInterface } from '../types/requester'; import BaseAPI from './base'; import { ComponentTypesEnum, MessageTypesEnum } from '../types/enums'; import { RequestData } from '../types/httpsClient'; import * as m from '../types/messages'; export default class MessagesAPI extends BaseAPI implements m.MessagesClass { private readonly commonMethod; private readonly commonEndpoint; bodyBuilder<T extends MessageTypesEnum, C extends ComponentTypesEnum>(type: T, payload: m.AudioMediaObject | [m.ContactObject] | m.DocumentMediaObject | m.ImageMediaObject | m.InteractiveObject | m.LocationObject | m.MessageTemplateObject<C> | m.StickerMediaObject | m.TextObject | m.VideoMediaObject, toNumber: string, replyMessageId?: string): m.MessageRequestBody<T>; send(body: RequestData): Promise<RequesterResponseInterface<m.MessagesResponse>>; audio(body: m.AudioMediaObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; contacts(body: [m.ContactObject], recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; document(body: m.DocumentMediaObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; image(body: m.ImageMediaObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; interactive(body: m.InteractiveObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; location(body: m.LocationObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; sticker(body: m.StickerMediaObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; template(body: m.MessageTemplateObject<ComponentTypesEnum>, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; text(body: m.TextObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; video(body: m.VideoMediaObject, recipient: number, replyMessageId?: string): Promise<RequesterResponseInterface<m.MessagesResponse>>; status(body: m.StatusObject): Promise<RequesterResponseInterface<m.MessagesResponse>>; }