UNPKG

bottender

Version:

A framework for building conversational user interfaces.

64 lines 2.3 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { JsonObject } from 'type-fest'; import Session from '../session/Session'; import { Connector } from '../bot/Connector'; import { RequestContext } from '../types'; import TwilioClient from './TwilioClient'; import WhatsappContext from './WhatsappContext'; import WhatsappEvent from './WhatsappEvent'; import { WhatsappRequestBody, WhatsappRequestContext } from './WhatsappTypes'; declare type ConnectorOptionsWithoutClient = { accountSid: string; authToken: string; phoneNumber: string; origin?: string; }; declare type ConnectorOptionsWithClient = { client: TwilioClient; origin?: string; }; export declare type WhatsappConnectorOptions = ConnectorOptionsWithoutClient | ConnectorOptionsWithClient; export default class WhatsappConnector implements Connector<WhatsappRequestBody, TwilioClient> { _client: TwilioClient; constructor(options: WhatsappConnectorOptions); get platform(): 'whatsapp'; get client(): TwilioClient; getUniqueSessionKey(body: WhatsappRequestBody): string; updateSession(session: Session, body: WhatsappRequestBody): Promise<void>; mapRequestToEvents(body: WhatsappRequestBody): WhatsappEvent[]; createContext(params: { event: WhatsappEvent; session: Session | null; initialState?: JsonObject | null; requestContext?: RequestContext; emitter?: EventEmitter | null; }): WhatsappContext; verifySignature({ body, url, headers, }: { headers: WhatsappRequestContext['headers']; url: string; body: WhatsappRequestBody; }): boolean; preprocess({ url, headers, rawBody, body }: WhatsappRequestContext): { shouldNext: boolean; response?: undefined; } | { shouldNext: boolean; response: { status: number; body: { error: { message: string; request: { rawBody: string; headers: { 'x-twilio-signature': string | undefined; }; }; }; }; }; }; } export {}; //# sourceMappingURL=WhatsappConnector.d.ts.map