meta-cloud-api
Version:
TypeScript wrapper for Meta's Cloud API
99 lines (95 loc) • 3.26 kB
TypeScript
import { B as BaseAPI } from './base-CdGDdVEl.js';
import { WabaConfigType } from './types/config.js';
import { c as ResponseData, e as ResponseSuccess, R as RequesterClass } from './request-vYMaEfk5.js';
type QrCodeResponse = {
code: string;
prefilled_message: string;
deep_link_url: string;
qr_image_url?: string;
};
type QrCodesResponse = ResponseData<QrCodeResponse[]>;
type CreateQrCodeRequest = {
prefilled_message: string;
generate_qr_image?: 'SVG' | 'PNG';
};
type UpdateQrCodeRequest = {
code: string;
prefilled_message: string;
};
interface QrCodeClass {
createQrCode(request: CreateQrCodeRequest): Promise<QrCodeResponse>;
getQrCodes(): Promise<QrCodesResponse>;
getQrCode(qrCodeId: string): Promise<QrCodeResponse>;
updateQrCode(request: UpdateQrCodeRequest): Promise<QrCodeResponse>;
deleteQrCode(qrCodeId: string): Promise<ResponseSuccess>;
}
/**
* API for managing WhatsApp QR Codes.
*
* This API allows you to:
* - Create QR codes with prefilled messages
* - Get all QR codes
* - Get specific QR code details
* - Update QR code messages
* - Delete QR codes
*/
declare class QrCodeApi extends BaseAPI implements QrCodeClass {
private readonly endpoint;
constructor(config: WabaConfigType, client: RequesterClass);
/**
* Create a new QR code with a prefilled message.
*
* @param request The QR code creation request
* @returns QR code information including code, deep link URL, and optional image URL
*
* @example
* const qrCode = await whatsappClient.qrCode.createQrCode({
* prefilled_message: 'Hello from WhatsApp!',
* generate_qr_image: 'PNG'
* });
*/
createQrCode(request: CreateQrCodeRequest): Promise<QrCodeResponse>;
/**
* Get all QR codes for the current phone number.
*
* @returns List of all QR codes
*
* @example
* const qrCodes = await whatsappClient.qrCode.getQrCodes();
*/
getQrCodes(): Promise<QrCodesResponse>;
/**
* Get a specific QR code by ID.
*
* @param qrCodeId The QR code ID to retrieve
* @returns QR code information
*
* @example
* const qrCode = await whatsappClient.qrCode.getQrCode('qr_code_123');
*/
getQrCode(qrCodeId: string): Promise<QrCodeResponse>;
/**
* Update an existing QR code's prefilled message.
*
* @param request The QR code update request containing code and new message
* @returns Updated QR code information
*
* @example
* const updatedQrCode = await whatsappClient.qrCode.updateQrCode({
* code: 'existing_qr_code',
* prefilled_message: 'Updated message!'
* });
*/
updateQrCode(request: UpdateQrCodeRequest): Promise<QrCodeResponse>;
/**
* Delete a QR code.
*
* @param qrCodeId The QR code ID to delete
* @returns Response indicating success or failure
*
* @example
* await whatsappClient.qrCode.deleteQrCode('qr_code_123');
*/
deleteQrCode(qrCodeId: string): Promise<ResponseSuccess>;
}
export { type CreateQrCodeRequest as C, QrCodeApi as Q, type UpdateQrCodeRequest as U, type QrCodeClass as a, type QrCodeResponse as b, type QrCodesResponse as c };