@natyapp/meta 1.6.6 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +1540 -0
- package/README.md +513 -40
- package/dist/elements/index.d.ts +1 -0
- package/dist/elements/index.js +1 -0
- package/dist/elements/mediaTemplate.d.ts +45 -0
- package/dist/elements/mediaTemplate.js +47 -0
- package/dist/elements/textTemplate.d.ts +12 -1
- package/dist/elements/textTemplate.js +13 -6
- package/dist/index.d.ts +7 -2
- package/dist/index.js +11 -2
- package/dist/interfaces/IConnection.d.ts +2 -2
- package/dist/interfaces/ILog.d.ts +2 -2
- package/dist/interfaces/ILogger.d.ts +62 -0
- package/dist/interfaces/ILogger.js +2 -0
- package/dist/interfaces/ISdk.d.ts +4 -2
- package/dist/interfaces/IWebhook.d.ts +2 -2
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.js +1 -0
- package/dist/queue/messageQueue.d.ts +1 -1
- package/dist/queue/messageQueue.js +45 -0
- package/dist/routes/webhooks/methods/connection.js +78 -11
- package/dist/routes/webhooks/methods/messages.js +18 -3
- package/dist/services/axiosInstances.d.ts +14 -5
- package/dist/services/axiosInstances.js +111 -23
- package/dist/services/middlewares/validations.d.ts +2 -2
- package/dist/services/middlewares/validations.js +1 -2
- package/dist/services/mutations/connection.js +1 -1
- package/dist/services/mutations/logs.js +1 -1
- package/dist/services/mutations/messages.js +1 -1
- package/dist/services/mutations/validation.d.ts +1 -1
- package/dist/services/mutations/validation.js +1 -1
- package/dist/services/mutations/webhooks.js +1 -1
- package/dist/types/logs.d.ts +1 -1
- package/dist/types/requestTypes.d.ts +2 -0
- package/dist/useCases/connection/index.d.ts +9 -9
- package/dist/useCases/connection/index.js +156 -7
- package/dist/useCases/events/NatyEvents.d.ts +4 -2
- package/dist/useCases/events/NatyEvents.js +13 -1
- package/dist/useCases/log/index.d.ts +5 -5
- package/dist/useCases/log/index.js +65 -3
- package/dist/useCases/message/whatsappResponse.d.ts +48 -22
- package/dist/useCases/message/whatsappResponse.js +672 -105
- package/dist/useCases/messages/index.d.ts +5 -5
- package/dist/useCases/messages/index.js +66 -3
- package/dist/useCases/sdk/index.d.ts +8 -4
- package/dist/useCases/sdk/index.js +38 -6
- package/dist/useCases/webhook/index.d.ts +9 -9
- package/dist/useCases/webhook/index.js +154 -7
- package/dist/utils/consoleLogger.d.ts +20 -0
- package/dist/utils/consoleLogger.js +51 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/loggerContext.d.ts +57 -0
- package/dist/utils/loggerContext.js +90 -0
- package/dist/utils/methodContext.d.ts +34 -0
- package/dist/utils/methodContext.js +48 -0
- package/dist/utils/parseError.d.ts +12 -0
- package/dist/utils/parseError.js +27 -3
- package/dist/utils/pinoAdapter.d.ts +30 -0
- package/dist/utils/pinoAdapter.js +68 -0
- package/dist/utils/sanitize.d.ts +42 -0
- package/dist/utils/sanitize.js +120 -0
- package/dist/utils/tryCatch.d.ts +10 -1
- package/dist/utils/tryCatch.js +40 -5
- package/docs/01-visao-geral.md +355 -0
- package/docs/02-contexto-negocio.md +596 -0
- package/docs/03-arquitetura.md +925 -0
- package/docs/04-fluxos-funcionais.md +887 -0
- package/docs/05-integracoes.md +960 -0
- package/docs/06-entidades.md +849 -0
- package/docs/07-guia-pratico.md +1133 -0
- package/docs/08-troubleshooting.md +816 -0
- package/docs/README.md +125 -0
- package/examples/logger-example.ts +279 -0
- package/package.json +2 -2
- /package/dist/{Entities → entities}/Logs.d.ts +0 -0
- /package/dist/{Entities → entities}/Logs.js +0 -0
- /package/dist/{Entities → entities}/connection.d.ts +0 -0
- /package/dist/{Entities → entities}/connection.js +0 -0
- /package/dist/{Entities → entities}/errorLogs.d.ts +0 -0
- /package/dist/{Entities → entities}/errorLogs.js +0 -0
- /package/dist/{Entities → entities}/index.d.ts +0 -0
- /package/dist/{Entities → entities}/index.js +0 -0
- /package/dist/{Entities → entities}/messages.d.ts +0 -0
- /package/dist/{Entities → entities}/messages.js +0 -0
- /package/dist/{Entities → entities}/webhooks.d.ts +0 -0
- /package/dist/{Entities → entities}/webhooks.js +0 -0
- /package/dist/{Entities → entities}/whatsappMessage.d.ts +0 -0
- /package/dist/{Entities → entities}/whatsappMessage.js +0 -0
- /package/dist/{Errors → errors}/Either.d.ts +0 -0
- /package/dist/{Errors → errors}/Either.js +0 -0
- /package/dist/{Errors → errors}/ErrorHandling.d.ts +0 -0
- /package/dist/{Errors → errors}/ErrorHandling.js +0 -0
- /package/dist/{Errors → errors}/index.d.ts +0 -0
- /package/dist/{Errors → errors}/index.js +0 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
# 01 - Visão Geral do Projeto
|
|
2
|
+
|
|
3
|
+
[⬅️ Voltar ao Índice](README.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📋 Sumário
|
|
8
|
+
- [Apresentação](#-apresentação)
|
|
9
|
+
- [Propósito e Valor de Negócio](#-propósito-e-valor-de-negócio)
|
|
10
|
+
- [Casos de Uso Principais](#-casos-de-uso-principais)
|
|
11
|
+
- [Público-Alvo](#-público-alvo)
|
|
12
|
+
- [Stack Tecnológico](#-stack-tecnológico)
|
|
13
|
+
- [Requisitos](#-requisitos)
|
|
14
|
+
- [Quick Start](#-quick-start)
|
|
15
|
+
- [Arquitetura de Alto Nível](#-arquitetura-de-alto-nível)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 🎯 Apresentação
|
|
20
|
+
|
|
21
|
+
**@natyapp/meta** é um SDK (Software Development Kit) desenvolvido em TypeScript que simplifica a integração com a **WhatsApp Business API da Meta** (anteriormente Facebook).
|
|
22
|
+
|
|
23
|
+
O SDK atua como uma camada de abstração que encapsula a complexidade da API oficial da Meta, oferecendo aos desenvolvedores uma interface limpa, type-safe e orientada a eventos para construir soluções de comunicação empresarial via WhatsApp.
|
|
24
|
+
|
|
25
|
+
### O que é este SDK?
|
|
26
|
+
|
|
27
|
+
É uma biblioteca que permite que aplicações Node.js/TypeScript:
|
|
28
|
+
- 📤 **Enviem mensagens** de texto, mídia, botões interativos e listas para clientes via WhatsApp
|
|
29
|
+
- 📥 **Recebam mensagens** de clientes através de webhooks configuráveis
|
|
30
|
+
- 🔗 **Gerenciem múltiplas conexões** WhatsApp Business de forma isolada (multi-tenancy)
|
|
31
|
+
- 🔐 **Automatizem gestão de credenciais** (tokens, refresh automático)
|
|
32
|
+
- 📊 **Monitorem e registrem** todas as interações e erros
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 💼 Propósito e Valor de Negócio
|
|
37
|
+
|
|
38
|
+
### Problema que Resolve
|
|
39
|
+
|
|
40
|
+
A API oficial do WhatsApp Business da Meta possui:
|
|
41
|
+
- ❌ Estrutura de endpoints complexa e verbosa
|
|
42
|
+
- ❌ Gestão manual de tokens de autenticação (curta e longa duração)
|
|
43
|
+
- ❌ Payloads JSON complexos para mensagens interativas
|
|
44
|
+
- ❌ Necessidade de infraestrutura para webhooks
|
|
45
|
+
- ❌ Tratamento de erros não padronizado
|
|
46
|
+
- ❌ Falta de type safety em JavaScript
|
|
47
|
+
|
|
48
|
+
### Solução Oferecida
|
|
49
|
+
|
|
50
|
+
O SDK Naty Meta oferece:
|
|
51
|
+
- ✅ **Interface simplificada** - Métodos intuitivos para cada tipo de mensagem
|
|
52
|
+
- ✅ **Gestão automática de tokens** - Refresh transparente de access tokens
|
|
53
|
+
- ✅ **Type Safety** - Totalmente tipado em TypeScript, reduzindo erros em desenvolvimento
|
|
54
|
+
- ✅ **Sistema de eventos** - Arquitetura event-driven para processar mensagens recebidas
|
|
55
|
+
- ✅ **Multi-tenancy nativo** - Suporte a múltiplas empresas e números WhatsApp
|
|
56
|
+
- ✅ **Tratamento de erros robusto** - Pattern Either Monad para controle de fluxo
|
|
57
|
+
- ✅ **Webhooks integrados** - Rotas Express prontas para uso
|
|
58
|
+
- ✅ **Logging completo** - Rastreamento de todas operações e erros
|
|
59
|
+
|
|
60
|
+
### Valor para o Negócio
|
|
61
|
+
|
|
62
|
+
- **Redução de Time-to-Market:** Desenvolvedores implementam chatbots e automações 10x mais rápido
|
|
63
|
+
- **Menor Custo de Manutenção:** Abstração reduz dependência direta da API Meta (que muda frequentemente)
|
|
64
|
+
- **Escalabilidade:** Suporta múltiplos clientes/tenants com isolamento de dados
|
|
65
|
+
- **Confiabilidade:** Retry logic, error handling e logging profissional
|
|
66
|
+
- **Conformidade:** Segue best practices da Meta para WhatsApp Business
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 🎯 Casos de Uso Principais
|
|
71
|
+
|
|
72
|
+
### 1. **Chatbots de Atendimento ao Cliente**
|
|
73
|
+
Automatize respostas a perguntas frequentes, triagem de atendimento e suporte 24/7.
|
|
74
|
+
|
|
75
|
+
**Exemplo:**
|
|
76
|
+
- Cliente envia "Olá" → Bot responde com menu de opções via botões interativos
|
|
77
|
+
- Cliente seleciona opção → Bot direciona para fluxo específico
|
|
78
|
+
|
|
79
|
+
### 2. **Notificações Transacionais**
|
|
80
|
+
Envie confirmações de pedido, atualizações de status, alertas importantes.
|
|
81
|
+
|
|
82
|
+
**Exemplo:**
|
|
83
|
+
- Pedido confirmado → Envio automático de mensagem com número do pedido e prazo
|
|
84
|
+
- Pedido saiu para entrega → Mensagem com link de rastreamento
|
|
85
|
+
|
|
86
|
+
### 3. **Campanhas de Marketing Interativas**
|
|
87
|
+
Crie listas de produtos, promoções com botões de ação rápida.
|
|
88
|
+
|
|
89
|
+
**Exemplo:**
|
|
90
|
+
- Envio de lista de produtos em promoção
|
|
91
|
+
- Cliente seleciona produto → Bot envia detalhes e link de compra
|
|
92
|
+
|
|
93
|
+
### 4. **Agendamento e Lembretes**
|
|
94
|
+
Confirmações de consultas, lembretes de pagamento, follow-ups.
|
|
95
|
+
|
|
96
|
+
**Exemplo:**
|
|
97
|
+
- 24h antes da consulta → Mensagem de lembrete com botões "Confirmar" / "Reagendar"
|
|
98
|
+
|
|
99
|
+
### 5. **Coleta de Feedback**
|
|
100
|
+
Pesquisas de satisfação pós-atendimento via mensagens interativas.
|
|
101
|
+
|
|
102
|
+
**Exemplo:**
|
|
103
|
+
- Após fechamento do ticket → Mensagem com escala de satisfação (botões 1-5 estrelas)
|
|
104
|
+
|
|
105
|
+
### 6. **Integração com CRM/ERP**
|
|
106
|
+
Conecte sistemas legados para comunicação via WhatsApp.
|
|
107
|
+
|
|
108
|
+
**Exemplo:**
|
|
109
|
+
- Novo lead no CRM → Mensagem automática de boas-vindas
|
|
110
|
+
- Boleto vencendo → Notificação via WhatsApp com link de pagamento
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 👥 Público-Alvo
|
|
115
|
+
|
|
116
|
+
### Desenvolvedores
|
|
117
|
+
- Backend developers construindo APIs de comunicação
|
|
118
|
+
- Frontend developers integrando chatbots em aplicações web
|
|
119
|
+
- Full-stack developers em startups e empresas de SaaS
|
|
120
|
+
|
|
121
|
+
### Empresas
|
|
122
|
+
- **SaaS de Atendimento:** Plataformas de customer service
|
|
123
|
+
- **E-commerce:** Lojas online com comunicação via WhatsApp
|
|
124
|
+
- **Fintechs:** Notificações bancárias e de pagamento
|
|
125
|
+
- **Healthtech:** Agendamentos e lembretes médicos
|
|
126
|
+
- **Educação:** Comunicação com alunos e responsáveis
|
|
127
|
+
|
|
128
|
+
### Perfil Técnico Esperado
|
|
129
|
+
- Conhecimento intermediário de **Node.js** e **TypeScript**
|
|
130
|
+
- Familiaridade com **REST APIs** e **webhooks**
|
|
131
|
+
- Experiência com **Express.js** (para webhook setup)
|
|
132
|
+
- Conceitos básicos de **assincronismo** (Promises, async/await)
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 🛠 Stack Tecnológico
|
|
137
|
+
|
|
138
|
+
### Core
|
|
139
|
+
- **Linguagem:** TypeScript 4.9+
|
|
140
|
+
- **Runtime:** Node.js ≥14.x
|
|
141
|
+
- **HTTP Client:** Axios 1.7
|
|
142
|
+
- **Event System:** Node.js EventEmitter
|
|
143
|
+
|
|
144
|
+
### Integração Opcional
|
|
145
|
+
- **Web Framework:** Express.js 4.x (para webhooks)
|
|
146
|
+
- **UI Components:** React 18.x (componente de cadastro)
|
|
147
|
+
|
|
148
|
+
### Desenvolvimento
|
|
149
|
+
- **Testes:** Jest 29
|
|
150
|
+
- **Build:** TypeScript Compiler
|
|
151
|
+
- **Lint:** ESLint
|
|
152
|
+
- **Package Manager:** npm, yarn ou pnpm
|
|
153
|
+
|
|
154
|
+
### APIs Externas
|
|
155
|
+
- **Meta Graph API v18.0** - WhatsApp Business API
|
|
156
|
+
- **Naty Meta API** - Backend proprietário para gestão de conexões
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## ✅ Requisitos
|
|
161
|
+
|
|
162
|
+
### Pré-requisitos de Negócio
|
|
163
|
+
1. **Conta Meta Business** - Você precisa ter uma conta no Meta Business Manager
|
|
164
|
+
2. **Aplicação Meta** - Criar uma app no Meta for Developers com WhatsApp Business API ativada
|
|
165
|
+
3. **Número WhatsApp Business** - Número de telefone verificado e associado à aplicação
|
|
166
|
+
4. **Credenciais de Acesso:**
|
|
167
|
+
- App ID e App Secret (da aplicação Meta)
|
|
168
|
+
- Access Token (gerado no Meta for Developers)
|
|
169
|
+
- Phone Number ID (identificador do número WhatsApp)
|
|
170
|
+
|
|
171
|
+
### Pré-requisitos Técnicos
|
|
172
|
+
- **Node.js:** Versão 14 ou superior
|
|
173
|
+
- **TypeScript:** Versão 4.9 ou superior (para desenvolvimento)
|
|
174
|
+
- **App Token Naty:** Credencial fornecida pela plataforma Naty (para autenticação no SDK)
|
|
175
|
+
|
|
176
|
+
### Variáveis de Ambiente
|
|
177
|
+
```bash
|
|
178
|
+
# Obrigatória
|
|
179
|
+
API_META=https://api.meta.naty.app/v1 # URL da API Naty Meta
|
|
180
|
+
|
|
181
|
+
# Opcional (para desenvolvimento local)
|
|
182
|
+
NODE_ENV=development
|
|
183
|
+
PORT=3000
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 🚀 Quick Start
|
|
189
|
+
|
|
190
|
+
### Instalação
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Usando npm
|
|
194
|
+
npm install @natyapp/meta
|
|
195
|
+
|
|
196
|
+
# Usando pnpm
|
|
197
|
+
pnpm add @natyapp/meta
|
|
198
|
+
|
|
199
|
+
# Usando yarn
|
|
200
|
+
yarn add @natyapp/meta
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Exemplo Básico - Enviar Mensagem
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
import { NatyMeta } from '@natyapp/meta';
|
|
207
|
+
|
|
208
|
+
// 1. Inicializar SDK
|
|
209
|
+
const sdk = new NatyMeta();
|
|
210
|
+
await sdk.connect({ appToken: 'seu-app-token-aqui' });
|
|
211
|
+
|
|
212
|
+
// 2. Criar instância de resposta WhatsApp
|
|
213
|
+
const whatsapp = sdk.Message.WhatsappResponse({
|
|
214
|
+
companyId: 'id-da-sua-empresa',
|
|
215
|
+
phone_number_id: 'id-do-numero-whatsapp'
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
// 3. Enviar mensagem de texto
|
|
219
|
+
const result = await whatsapp.send_text({
|
|
220
|
+
to: '5511999999999', // Número do destinatário (formato E.164)
|
|
221
|
+
message: 'Olá! Esta é uma mensagem de teste.'
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
if (result.isRight()) {
|
|
225
|
+
console.log('Mensagem enviada:', result.value);
|
|
226
|
+
} else {
|
|
227
|
+
console.error('Erro ao enviar:', result.value);
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Exemplo - Receber Mensagens
|
|
232
|
+
|
|
233
|
+
```typescript
|
|
234
|
+
import express from 'express';
|
|
235
|
+
import { NatyMeta } from '@natyapp/meta';
|
|
236
|
+
|
|
237
|
+
const app = express();
|
|
238
|
+
app.use(express.json());
|
|
239
|
+
|
|
240
|
+
// Inicializar SDK com Express
|
|
241
|
+
const sdk = new NatyMeta();
|
|
242
|
+
await sdk.connect({
|
|
243
|
+
appToken: 'seu-app-token',
|
|
244
|
+
app: app, // Integra rotas de webhook
|
|
245
|
+
pathname: '/webhooks' // Base path para webhooks
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
// Escutar eventos de mensagens recebidas
|
|
249
|
+
sdk.on('message', async (data) => {
|
|
250
|
+
console.log('Mensagem recebida:', data.message);
|
|
251
|
+
|
|
252
|
+
// Responder automaticamente
|
|
253
|
+
const whatsapp = data.whatsappResponse;
|
|
254
|
+
await whatsapp.send_text({
|
|
255
|
+
to: data.sender,
|
|
256
|
+
message: 'Recebi sua mensagem!'
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
app.listen(3000, () => {
|
|
261
|
+
console.log('Servidor rodando na porta 3000');
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
👉 **Para exemplos completos, consulte:** [Guia Prático](07-guia-pratico.md)
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 🏗 Arquitetura de Alto Nível
|
|
270
|
+
|
|
271
|
+
```mermaid
|
|
272
|
+
graph TB
|
|
273
|
+
subgraph "Aplicação do Cliente"
|
|
274
|
+
APP[Aplicação Node.js/TypeScript]
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
subgraph "SDK Naty Meta"
|
|
278
|
+
SDK[NatyMeta SDK]
|
|
279
|
+
CONN[Connection Manager]
|
|
280
|
+
MSG[Message Handler]
|
|
281
|
+
WEBHOOK[Webhook Routes]
|
|
282
|
+
EVENTS[Event Emitter]
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
subgraph "APIs Externas"
|
|
286
|
+
NATY_API[Naty Meta API<br/>Gestão de Conexões]
|
|
287
|
+
META_API[Meta Graph API<br/>WhatsApp Business]
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
subgraph "Meta Infrastructure"
|
|
291
|
+
WHATSAPP[WhatsApp Business<br/>Platform]
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
APP -->|1. Inicializa| SDK
|
|
295
|
+
SDK -->|2. Valida appToken| NATY_API
|
|
296
|
+
APP -->|3. Envia mensagem| MSG
|
|
297
|
+
MSG -->|4. Busca credenciais| NATY_API
|
|
298
|
+
MSG -->|5. Envia via API| META_API
|
|
299
|
+
META_API -->|6. Entrega| WHATSAPP
|
|
300
|
+
WHATSAPP -->|7. Recebe resposta| META_API
|
|
301
|
+
META_API -->|8. Webhook POST| WEBHOOK
|
|
302
|
+
WEBHOOK -->|9. Emite evento| EVENTS
|
|
303
|
+
EVENTS -->|10. Notifica| APP
|
|
304
|
+
|
|
305
|
+
style SDK fill:#4CAF50,color:#fff
|
|
306
|
+
style NATY_API fill:#2196F3,color:#fff
|
|
307
|
+
style META_API fill:#FF9800,color:#fff
|
|
308
|
+
style WHATSAPP fill:#25D366,color:#fff
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Fluxo Simplificado
|
|
312
|
+
|
|
313
|
+
1. **Inicialização:** Aplicação instancia SDK e valida credenciais
|
|
314
|
+
2. **Envio de Mensagem:** SDK busca conexão, refresha token se necessário, envia via Meta API
|
|
315
|
+
3. **Recepção de Mensagem:** Meta envia webhook → SDK processa → Emite evento → Aplicação responde
|
|
316
|
+
|
|
317
|
+
### Camadas do Sistema
|
|
318
|
+
|
|
319
|
+
```mermaid
|
|
320
|
+
graph LR
|
|
321
|
+
A[API Layer<br/>NatyMeta Class] --> B[Use Cases Layer<br/>WhatsappResponse]
|
|
322
|
+
B --> C[Services Layer<br/>Mutations & Axios]
|
|
323
|
+
C --> D[Integration Layer<br/>External APIs]
|
|
324
|
+
|
|
325
|
+
style A fill:#E3F2FD
|
|
326
|
+
style B fill:#BBDEFB
|
|
327
|
+
style C fill:#90CAF9
|
|
328
|
+
style D fill:#64B5F6
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
👉 **Para detalhes técnicos completos, consulte:** [Arquitetura Técnica](03-arquitetura.md)
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## 📊 Estatísticas do Projeto
|
|
336
|
+
|
|
337
|
+
- **Linguagem:** TypeScript
|
|
338
|
+
- **Cobertura de Testes:** Jest configurado
|
|
339
|
+
- **Estrutura:** ~50+ arquivos organizados em módulos
|
|
340
|
+
- **Principais Dependências:** Axios, Express (opcional)
|
|
341
|
+
- **Suporte a Mensagens:** 10+ tipos (texto, mídia, botões, listas, templates, etc.)
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## 🔗 Próximos Passos
|
|
346
|
+
|
|
347
|
+
Após entender a visão geral, recomendamos:
|
|
348
|
+
|
|
349
|
+
1. **[Contexto de Negócio](02-contexto-negocio.md)** - Entenda as regras e políticas
|
|
350
|
+
2. **[Guia Prático](07-guia-pratico.md)** - Comece a usar o SDK
|
|
351
|
+
3. **[Fluxos Funcionais](04-fluxos-funcionais.md)** - Veja como tudo funciona internamente
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
[⬅️ Voltar ao Índice](README.md) | [➡️ Próximo: Contexto de Negócio](02-contexto-negocio.md)
|