Marketplace móvil para negocios locales mexicanos. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React Web) - apps/mobile (Expo/React Native) - apps/mcp-server (Claude MCP Server) - apps/whatsapp-service (WhatsApp Business API) - database/ (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
43 lines
2.2 KiB
TypeScript
43 lines
2.2 KiB
TypeScript
import { ConfigService } from '@nestjs/config';
|
|
import { CredentialsProviderService } from '../common/credentials-provider.service';
|
|
export declare class WhatsAppService {
|
|
private readonly configService;
|
|
private readonly credentialsProvider;
|
|
private readonly logger;
|
|
private readonly clientCache;
|
|
constructor(configService: ConfigService, credentialsProvider: CredentialsProviderService);
|
|
private getClient;
|
|
private getPhoneNumberId;
|
|
invalidateClientCache(tenantId?: string): void;
|
|
sendTextMessage(to: string, text: string, tenantId?: string): Promise<string>;
|
|
sendInteractiveButtons(to: string, bodyText: string, buttons: Array<{
|
|
id: string;
|
|
title: string;
|
|
}>, headerText?: string, footerText?: string, tenantId?: string): Promise<string>;
|
|
sendInteractiveList(to: string, bodyText: string, buttonText: string, sections: Array<{
|
|
title?: string;
|
|
rows: Array<{
|
|
id: string;
|
|
title: string;
|
|
description?: string;
|
|
}>;
|
|
}>, headerText?: string, footerText?: string, tenantId?: string): Promise<string>;
|
|
sendTemplate(to: string, templateName: string, languageCode?: string, components?: any[], tenantId?: string): Promise<string>;
|
|
sendImage(to: string, imageUrl: string, caption?: string, tenantId?: string): Promise<string>;
|
|
sendDocument(to: string, documentUrl: string, filename: string, caption?: string, tenantId?: string): Promise<string>;
|
|
downloadMedia(mediaId: string, tenantId?: string): Promise<Buffer>;
|
|
private sendMessage;
|
|
private formatPhoneNumber;
|
|
sendOrderConfirmation(to: string, orderNumber: string, items: Array<{
|
|
name: string;
|
|
quantity: number;
|
|
price: number;
|
|
}>, total: number, tenantId?: string): Promise<string>;
|
|
sendOrderStatusUpdate(to: string, orderNumber: string, status: 'preparing' | 'ready' | 'delivered', tenantId?: string): Promise<string>;
|
|
sendFiadoReminder(to: string, customerName: string, amount: number, dueDate?: string, tenantId?: string): Promise<string>;
|
|
sendLowStockAlert(to: string, products: Array<{
|
|
name: string;
|
|
stock: number;
|
|
}>, tenantId?: string): Promise<string>;
|
|
}
|