@brighthustle/adonisjs-whatsapp
Version:
Connect your WhatsApp Cloud API with AdonisJS
32 lines (31 loc) • 1.26 kB
TypeScript
/// <reference types="@adonisjs/lucid" />
import FormData from 'form-data';
import { GetMessageTemplatesQueryParams, WhatsAppConfig } from '@ioc:Adonis/Addons/WhatsApp';
import { DatabaseContract } from '@ioc:Adonis/Lucid/Database';
export default class WhatsAppClient {
private config;
private db;
/**
* Custom connection or query client
*/
private connection?;
constructor(config: WhatsAppConfig, db: DatabaseContract);
private headers;
private mandatory;
send(data: Record<string, any>, parse?: boolean): Promise<any>;
media(media: string, from?: number): Promise<any>;
upload(form: FormData, from?: number): Promise<any>;
createTemplate(data: Record<string, any>): Promise<any>;
getTemplates(options?: GetMessageTemplatesQueryParams, from?: number): Promise<any>;
deleteTemplate(name: string, from?: number): Promise<any>;
download(url: string, from?: number): Promise<any>;
private parse;
private parseMsg91;
/**
* Validates if the provided apiProvider is one of the allowed values.
* @param apiProvider - The apiProvider to validate.
* @throws {Error} - Throws an error if apiProvider is not valid.
*/
private validateApiProvider;
private getHeaders;
}