n8n-nodes-digitalsac 0.6.1 → 1.0.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.
Files changed (2) hide show
  1. package/package.json +11 -9
  2. package/README.md +0 -835
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "n8n-nodes-digitalsac",
3
- "version": "0.6.1",
4
- "description": "Izing Pro Digitalsac - Compatible with n8n v1.x",
3
+ "version": "1.0.0",
4
+ "description": "Izing Pro Digitalsac - Compatible with n8n v2.x",
5
5
  "keywords": [
6
6
  "n8n",
7
7
  "n8n-community-node-package"
@@ -27,10 +27,12 @@
27
27
  },
28
28
  "files": [
29
29
  "dist",
30
- "README.md"
30
+ "index.ts",
31
+ "nodes",
32
+ "credentials"
31
33
  ],
32
34
  "n8n": {
33
- "n8nNodesApiVersion": 1,
35
+ "n8nNodesApiVersion": 2,
34
36
  "credentials": [
35
37
  "dist/credentials/DigitalsacApi.credentials.js"
36
38
  ],
@@ -39,8 +41,8 @@
39
41
  ]
40
42
  },
41
43
  "peerDependencies": {
42
- "n8n-core": "^1.0.0",
43
- "n8n-workflow": "^1.0.0"
44
+ "n8n-core": "^2.0.0",
45
+ "n8n-workflow": "^2.0.0"
44
46
  },
45
47
  "devDependencies": {
46
48
  "@types/express": "^4.17.21",
@@ -48,8 +50,8 @@
48
50
  "@types/request-promise-native": "~1.0.15",
49
51
  "@typescript-eslint/parser": "~5.45",
50
52
  "eslint-plugin-n8n-nodes-base": "^1.16.3",
51
- "n8n-core": "^1.0.0",
52
- "n8n-workflow": "^1.0.0",
53
+ "n8n-core": "^2.0.0",
54
+ "n8n-workflow": "^2.0.0",
53
55
  "prettier": "^2.8.8",
54
56
  "typescript": "^5.9.2"
55
57
  },
@@ -57,6 +59,6 @@
57
59
  "axios": "^1.9.0"
58
60
  },
59
61
  "engines": {
60
- "n8n": "^1.0.0"
62
+ "n8n": "^2.0.0"
61
63
  }
62
64
  }
package/README.md DELETED
@@ -1,835 +0,0 @@
1
- # n8n-nodes-digitalsac
2
-
3
- Este pacote adiciona um nó personalizado ao n8n para interagir com a API do Digitalsac Izing Pro.
4
-
5
- ## ✅ Versão para n8n v1.x
6
-
7
- **Esta é a versão 0.6.1, compatível com n8n v1.x**
8
-
9
- Se você usa **n8n v2.x**, instale a versão correta:
10
- ```bash
11
- npm install n8n-nodes-digitalsac@next
12
- ```
13
-
14
- ---
15
-
16
- ## Funcionalidades
17
-
18
- - Validar número de WhatsApp
19
- - Validar CPF
20
- - Validar Data
21
- - Listar Filas
22
- - Listar Atendentes
23
- - Transferir para Fila
24
- - Transferir para Atendente
25
- - Fechar Ticket
26
- - Enviar Mensagem (texto e arquivos)
27
- - **Enviar Botões Interativos**
28
- - **Enviar Listas**
29
- - **Enviar Mídia com Caption**
30
- - **Enviar Arquivo Base64**
31
- - Listar Tags
32
- - Vincular Tag
33
- - Criar Tag
34
- - Listar Kanbans
35
- - Vincular Kanban
36
- - Listar Carteiras
37
- - Vincular Carteira
38
- - **Agendamento:**
39
- - Listar Serviços
40
- - Listar Usuários Disponíveis
41
- - Listar Horários Disponíveis
42
- - Criar Agendamento
43
- - Cancelar Agendamento
44
- - Gerar Link do Calendário (.ics)
45
- - **Templates WABA:**
46
- - Listar Templates WABA
47
- - Enviar Template WABA
48
-
49
- ## Instalação
50
-
51
- ### Via interface do n8n
52
- 1. Vá para **Configurações > Community Nodes**
53
- 2. Digite `n8n-nodes-digitalsac` na caixa de pesquisa
54
- 3. Clique em **Instalar**
55
-
56
- ### Via linha de comando
57
- ```bash
58
- npm install -g n8n-nodes-digitalsac
59
- ```
60
-
61
- Ou se você estiver usando o n8n com um diretório específico:
62
- ```bash
63
- cd ~/.n8n
64
- npm install n8n-nodes-digitalsac
65
- ```
66
-
67
- ## ✨ Novas Funcionalidades (v0.5.6)
68
-
69
- ### 📱 Templates WABA
70
- Envie templates pré-aprovados do WhatsApp Business API:
71
- - **Listar Templates WABA**: Busca todos os templates disponíveis na conta WABA
72
- - **Enviar Template WABA**: Envia template com variáveis dinâmicas para contatos
73
-
74
- **Benefícios:**
75
- - ✅ Templates aprovados pelo Meta/Facebook
76
- - ✅ Baixo custo de envio
77
- - ✅ Alta taxa de entrega
78
- - ✅ Suporte a variáveis personalizadas
79
- - ✅ Ideais para notificações transacionais
80
-
81
- ## ✨ Funcionalidades Anteriores (v0.5.1)
82
-
83
- ### 🔘 Enviar Botões Interativos
84
- Envie mensagens com botões clicáveis:
85
- - **Resposta Rápida**: Botão que responde instantaneamente
86
- - **URL**: Botão que abre links
87
- - **Copiar**: Botão que copia texto
88
- - **Ligar**: Botão que inicia chamada
89
-
90
- ### 📋 Enviar Listas
91
- Crie menus organizados com:
92
- - Múltiplas seções
93
- - Opções clicáveis
94
- - Descrições detalhadas
95
-
96
- ### 🖼️ Enviar Mídia com Caption
97
- Envie arquivos com legendas personalizadas:
98
- - Upload direto de arquivos
99
- - Caption obrigatório
100
- - Suporte a imagens, PDFs, vídeos
101
-
102
- ### 📁 Enviar Base64
103
- Envie arquivos via base64:
104
- - Sem necessidade de upload
105
- - Caption opcional
106
- - Ideal para integração com APIs
107
-
108
- ## Autenticação
109
-
110
- Configure as credenciais Digitalsac com a URL base e seu Bearer Token:
111
- 1. Vá para **Credenciais > Criar Nova Credencial**
112
- 2. Selecione **Izing Pro Digitalsac API**
113
- 3. Preencha:
114
- - **API Base URL**: URL da sua instalação do Digitalsac (ex: https://seudominio.digitalsac.com.br)
115
- - **Bearer Token**: Seu token de autenticação
116
-
117
- ## Como Usar
118
-
119
- ### Validar WhatsApp
120
- 1. Selecione a operação **Validar WhatsApp**
121
- 2. No campo **Parâmetro**, insira o número de telefone a ser validado
122
-
123
- ### Validar CPF
124
- 1. Selecione a operação **Validar CPF**
125
- 2. No campo **Parâmetro**, insira o CPF a ser validado
126
-
127
- ### Validar Data
128
- 1. Selecione a operação **Validar Data**
129
- 2. No campo **Dados (JSON)**, insira os dados no formato:
130
- ```json
131
- {
132
- "data": "string com a data a ser validada"
133
- }
134
- ```
135
-
136
- ### Listar Filas/Atendentes
137
- 1. Selecione a operação **Listar Filas** ou **Listar Atendentes**
138
- 2. Não é necessário configurar parâmetros adicionais
139
-
140
- ### Transferir para Fila
141
- 1. Selecione a operação **Transferir para Fila**
142
- 2. No campo **Dados (JSON)**, insira os dados no formato:
143
- ```json
144
- {
145
- "ticketId": 0,
146
- "queueId": 0
147
- }
148
- ```
149
- Onde:
150
- - `ticketId`: ID do ticket a ser transferido
151
- - `queueId`: ID da fila de destino
152
-
153
- ### Transferir para Atendente
154
- 1. Selecione a operação **Transferir para Atendente**
155
- 2. No campo **Dados (JSON)**, insira os dados no formato:
156
- ```json
157
- {
158
- "ticketId": 0,
159
- "userId": 0
160
- }
161
- ```
162
- Onde:
163
- - `ticketId`: ID do ticket a ser transferido
164
- - `userId`: ID do atendente de destino
165
-
166
- ### Fechar Ticket
167
- 1. Selecione a operação **Fechar Ticket**
168
- 2. No campo **Dados (JSON)**, insira os dados no formato:
169
- ```json
170
- {
171
- "ticketId": 0
172
- }
173
- ```
174
- Onde:
175
- - `ticketId`: ID do ticket a ser fechado
176
-
177
- ### Enviar Mensagem de Texto
178
- 1. Selecione a operação **Enviar Mensagem**
179
- 2. No campo **Parâmetro**, insira o UUID da conexão (ex: 999ab3a2-9f1f-4ffb-969a-bfb72234ece1)
180
- 3. No campo **Corpo da Mensagem**, insira o texto da mensagem
181
- 4. No campo **Número de Telefone**, insira o número no formato DDI+DDD+Número (ex: 5511999999999)
182
- 5. No campo **Chave Externa**, insira um identificador único opcional
183
-
184
- ### Enviar Arquivo
185
- 1. Conecte um nó que forneça dados binários (ex: **HTTP Request**, **Read Binary File**, **Google Drive**)
186
- 2. Conecte ao nó **Digitalsac**
187
- 3. Selecione a operação **Enviar Mensagem**
188
- 4. No campo **Parâmetro**, insira o UUID da conexão
189
- 5. Preencha os demais campos normalmente
190
- 6. O nó detectará automaticamente o arquivo binário e enviará via FormData
191
-
192
- **Nota**: O nó detecta automaticamente se há dados binários conectados e escolhe o método correto:
193
- - **Sem arquivo**: Envia como JSON (texto)
194
- - **Com arquivo**: Envia como FormData (arquivo + texto)
195
-
196
- ### 🔘 Enviar Botões Interativos
197
- 1. Selecione a operação **Enviar Botões**
198
- 2. No campo **Parâmetro**, insira o UUID da conexão
199
- 3. Preencha os campos básicos:
200
- - **Título**: "Escolha uma opção"
201
- - **Corpo da Mensagem**: "Clique em uma das opções abaixo:"
202
- - **Número de Telefone**: "5511999999999"
203
- - **Chave Externa**: "btn_001"
204
- 4. No campo **Botões (JSON)**, configure os botões:
205
-
206
- ```json
207
- [
208
- {
209
- "tipo": {"label": "Resposta Rápida", "value": "quick_reply"},
210
- "display_text": "✅ Sim",
211
- "conteudo": "sim"
212
- },
213
- {
214
- "tipo": {"label": "Resposta Rápida", "value": "quick_reply"},
215
- "display_text": "❌ Não",
216
- "conteudo": "nao"
217
- },
218
- {
219
- "tipo": {"label": "URL", "value": "url"},
220
- "display_text": "🌐 Visitar Site",
221
- "conteudo": "https://www.digitalsac.com.br"
222
- },
223
- {
224
- "tipo": {"label": "Copiar", "value": "copy"},
225
- "display_text": "📋 Copiar Código",
226
- "conteudo": "PROMO2024"
227
- },
228
- {
229
- "tipo": {"label": "Ligar", "value": "call"},
230
- "display_text": "📞 Ligar Agora",
231
- "conteudo": "5511999999999"
232
- }
233
- ]
234
- ```
235
-
236
- **Tipos de botão disponíveis:**
237
- - `quick_reply`: Resposta rápida (o texto vai para o chat)
238
- - `url`: Abre um link no navegador
239
- - `copy`: Copia texto para área de transferência
240
- - `call`: Inicia uma chamada telefônica
241
-
242
- ### 📋 Enviar Lista
243
- 1. Selecione a operação **Enviar Lista**
244
- 2. No campo **Parâmetro**, insira o UUID da conexão
245
- 3. Preencha os campos básicos:
246
- - **Título**: "Menu de Opções"
247
- - **Texto**: "Escolha uma categoria:"
248
- - **Texto do Botão**: "Ver Opções"
249
- - **Rodapé**: "Powered by DigitalSac"
250
- - **Número de Telefone**: "5511999999999"
251
- - **Chave Externa**: "list_001"
252
- 4. No campo **Seções (JSON)**, configure as seções:
253
-
254
- ```json
255
- [
256
- {
257
- "title": "🛍️ Produtos",
258
- "lines": [
259
- {
260
- "title": "Smartphone Premium",
261
- "description": "iPhone 15 Pro Max 256GB",
262
- "rowId": 1
263
- },
264
- {
265
- "title": "Notebook Gamer",
266
- "description": "Dell Alienware com RTX 4090",
267
- "rowId": 2
268
- }
269
- ]
270
- },
271
- {
272
- "title": "🛠️ Serviços",
273
- "lines": [
274
- {
275
- "title": "Suporte Técnico",
276
- "description": "Assistência técnica especializada",
277
- "rowId": 3
278
- },
279
- {
280
- "title": "Consultoria",
281
- "description": "Consultoria personalizada",
282
- "rowId": 4
283
- }
284
- ]
285
- },
286
- {
287
- "title": "📞 Contato",
288
- "lines": [
289
- {
290
- "title": "Falar com Vendedor",
291
- "description": "Atendimento comercial",
292
- "rowId": 5
293
- }
294
- ]
295
- }
296
- ]
297
- ```
298
-
299
- ### 🖼️ Enviar Mídia com Caption
300
- 1. **Conecte um nó com arquivo** (ex: HTTP Request, Read Binary File, Google Drive)
301
- 2. Conecte ao nó **Digitalsac**
302
- 3. Selecione a operação **Enviar Mídia com Caption**
303
- 4. No campo **Parâmetro**, insira o UUID da conexão
304
- 5. Preencha os campos:
305
- - **Caption**: "Esta é uma imagem importante do produto"
306
- - **Número de Telefone**: "5511999999999"
307
- - **Chave Externa**: "media_001"
308
-
309
- **Tipos de arquivo suportados:**
310
- - 🖼️ Imagens: JPG, PNG, GIF
311
- - 📄 Documentos: PDF, DOC, DOCX
312
- - 🎥 Vídeos: MP4, AVI
313
- - 🎵 Áudio: MP3, WAV
314
-
315
- ### 📁 Enviar Base64
316
- 1. Selecione a operação **Enviar Base64**
317
- 2. No campo **Parâmetro**, insira o UUID da conexão
318
- 3. Preencha os campos:
319
- - **Caption (Opcional)**: "Documento enviado via API"
320
- - **Número de Telefone**: "5511999999999"
321
- - **Arquivo Base64**: Cole o arquivo codificado em base64
322
- - **Tipo MIME**: "application/pdf" (ou conforme o arquivo)
323
- - **Nome do Arquivo**: "documento.pdf"
324
- - **Chave Externa**: "base64_001"
325
-
326
- **Exemplo de uso com código base64:**
327
- ```json
328
- {
329
- "caption": "Relatório mensal de vendas",
330
- "mediaBase64": "JVBERi0xLjQKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQo+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmCjAwMDAwMDAwMDkgMDAwMDAgbgowMDAwMDAwMDc0IDAwMDAwIG4KMDAwMDAwMDEyMCAwMDAwMCBuCnRyYWlsZXIKPDwKL1NpemUgNAovUm9vdCAxIDAgUgo+PgpzdGFydHhyZWYKMTc5CiUlRU9G",
331
- "mimeType": "application/pdf",
332
- "fileName": "relatorio.pdf"
333
- }
334
- ```
335
-
336
- **Dica**: Para converter arquivo para base64:
337
- - **Linux/Mac**: `base64 arquivo.pdf`
338
- - **Windows**: Use PowerShell: `[Convert]::ToBase64String([IO.File]::ReadAllBytes("arquivo.pdf"))`
339
- - **Online**: Use conversores como base64encode.org
340
-
341
- ### Listar Tags
342
- 1. Selecione a operação **Listar Tags**
343
- 2. Não é necessário configurar parâmetros adicionais
344
-
345
- ### Vincular Tag
346
- 1. Selecione a operação **Vincular Tag**
347
- 2. No campo **Dados (JSON)**, insira os dados no formato:
348
- ```json
349
- {
350
- "ticketId": 123,
351
- "tagId": 456
352
- }
353
- ```
354
- Onde:
355
- - `ticketId`: ID do ticket
356
- - `tagId`: ID da tag a ser vinculada
357
-
358
- ### Criar Tag
359
- 1. Selecione a operação **Criar Tag**
360
- 2. No campo **Nome da Tag**, insira o nome da tag
361
- 3. No campo **Cor da Tag**, insira a cor em formato hexadecimal (ex: #FF5733, #2196F3, #4CAF50)
362
-
363
- ### Listar Kanbans
364
- 1. Selecione a operação **Listar Kanbans**
365
- 2. No campo **User ID**, insira o ID do usuário
366
-
367
- ### Vincular Kanban
368
- 1. Selecione a operação **Vincular Kanban**
369
- 2. No campo **Dados (JSON)**, insira os dados no formato:
370
- ```json
371
- {
372
- "ticketId": 123,
373
- "kanbanId": 456,
374
- "userId": 789
375
- }
376
- ```
377
- Onde:
378
- - `ticketId`: ID do ticket
379
- - `kanbanId`: ID do kanban a ser vinculado
380
- - `userId`: ID do usuário
381
-
382
- ### Listar Carteiras
383
- 1. Selecione a operação **Listar Carteiras**
384
- 2. Não é necessário configurar parâmetros adicionais
385
-
386
- ### Vincular Carteira
387
- 1. Selecione a operação **Vincular Carteira**
388
- 2. No campo **Dados (JSON)**, insira os dados no formato:
389
- ```json
390
- {
391
- "ticketId": 123,
392
- "userId": 456
393
- }
394
- ```
395
- Onde:
396
- - `ticketId`: ID do ticket
397
- - `userId`: ID do usuário da carteira
398
-
399
- ## Exemplos de Respostas da API
400
-
401
- ### Transferir para Fila
402
- **Resposta de sucesso:**
403
- ```json
404
- {
405
- "status": 0
406
- }
407
- ```
408
-
409
- ### Transferir para Atendente
410
- **Resposta de sucesso:**
411
- ```json
412
- {
413
- "status": 0
414
- }
415
- ```
416
-
417
- ### Fechar Ticket
418
- **Resposta de sucesso:**
419
- ```json
420
- "string"
421
- ```
422
-
423
- ### Validar Data
424
- **Resposta de sucesso:**
425
- ```json
426
- {
427
- "status": 0
428
- }
429
- ```
430
-
431
- ### Criar Tag
432
- **Resposta de sucesso (tag criada):**
433
- ```json
434
- {
435
- "status": 1,
436
- "tagId": 456
437
- }
438
- ```
439
-
440
- **Resposta quando tag já existe:**
441
- ```json
442
- {
443
- "status": 2
444
- }
445
- ```
446
-
447
- **Resposta de erro:**
448
- ```json
449
- {
450
- "status": 0
451
- }
452
- ```
453
-
454
- ### Vincular Tag/Kanban/Carteira
455
- **Resposta de sucesso:**
456
- ```json
457
- {
458
- "status": 0
459
- }
460
- ```
461
-
462
- ## Exemplo de Fluxo
463
-
464
- ### Enviar PDF para um contato
465
- 1. Adicione um nó **Read Binary File**
466
- - Configure para ler um arquivo PDF
467
- 2. Conecte ao nó **Digitalsac**
468
- - Operação: **Enviar Mensagem**
469
- - Parâmetro: `999ab3a2-9f1f-4ffb-969a-bfb72234ece1` (seu UUID de conexão)
470
- - Corpo da Mensagem: `Segue o PDF solicitado`
471
- - Número de Telefone: `5511999999999`
472
- - Chave Externa: `pdf_documento_123`
473
-
474
- ### Transferir ticket para uma fila específica
475
- 1. Adicione um nó **Digitalsac**
476
- - Operação: **Transferir para Fila**
477
- - Dados (JSON):
478
- ```json
479
- {
480
- "ticketId": 123,
481
- "queueId": 5
482
- }
483
- ```
484
-
485
- ### Transferir ticket para um atendente específico
486
- 1. Adicione um nó **Digitalsac**
487
- - Operação: **Transferir para Atendente**
488
- - Dados (JSON):
489
- ```json
490
- {
491
- "ticketId": 123,
492
- "userId": 10
493
- }
494
- ```
495
-
496
- ### Criar uma tag e vincular a um ticket
497
- 1. Adicione um nó **Digitalsac**
498
- - Operação: **Criar Tag**
499
- - Nome da Tag: `Suporte Técnico`
500
- - Cor da Tag: `#2196F3`
501
- 2. Conecte a outro nó **Digitalsac**
502
- - Operação: **Vincular Tag**
503
- - Dados (JSON):
504
- ```json
505
- {
506
- "ticketId": 123,
507
- "tagId": "{{$json.tagId}}"
508
- }
509
- ```
510
-
511
- ### Listar kanbans de um usuário e vincular a um ticket
512
- 1. Adicione um nó **Digitalsac**
513
- - Operação: **Listar Kanbans**
514
- - User ID: `10`
515
- 2. Conecte a outro nó **Digitalsac**
516
- - Operação: **Vincular Kanban**
517
- - Dados (JSON):
518
- ```json
519
- {
520
- "ticketId": 123,
521
- "kanbanId": 5,
522
- "userId": 10
523
- }
524
- ```
525
-
526
- ### Vincular carteira a um ticket
527
- 1. Adicione um nó **Digitalsac**
528
- - Operação: **Vincular Carteira**
529
- - Dados (JSON):
530
- ```json
531
- {
532
- "ticketId": 123,
533
- "userId": 15
534
- }
535
- ```
536
-
537
- ### Gerar link de calendário para um agendamento
538
- 1. Adicione um nó **Digitalsac**
539
- - Operação: **Gerar Link do Calendário (.ics)**
540
- - ID do Agendamento: `123`
541
- 2. O retorno pode ser usado para:
542
- - Enviar o link direto para o cliente
543
- - Fazer download automático do arquivo .ics
544
- - Integrar com outros sistemas de calendário
545
-
546
- ## Funcionalidades de Agendamento
547
-
548
- ### Listar Serviços
549
- Lista todos os serviços disponíveis para agendamento.
550
- 1. Selecione a operação **Listar Serviços**
551
- 2. (Opcional) No campo **ID do Usuário**, insira o ID do usuário para filtrar apenas os serviços que ele atende
552
-
553
- **Retorno exemplo:**
554
- ```json
555
- {
556
- "servicos": "*1* - Consulta (30min - R$ 100,00)\n*2* - Retorno (15min - R$ 50,00)"
557
- }
558
- ```
559
-
560
- ### Listar Usuários Disponíveis
561
- Lista os usuários/atendentes disponíveis para um serviço em uma data específica.
562
- 1. Selecione a operação **Listar Usuários Disponíveis**
563
- 2. Preencha:
564
- - **ID do Serviço**: ID do serviço desejado
565
- - **Data**: Data no formato YYYY-MM-DD (ex: 2025-08-07)
566
- - **Horário** (opcional): Horário específico no formato HH:mm (ex: 09:00)
567
-
568
- **Retorno exemplo:**
569
- ```json
570
- {
571
- "usuarios": "*28* - João Silva\n*29* - Maria Santos"
572
- }
573
- ```
574
-
575
- ### Listar Horários Disponíveis
576
- Lista os horários disponíveis para um serviço e usuário em uma data específica.
577
- 1. Selecione a operação **Listar Horários Disponíveis**
578
- 2. Preencha:
579
- - **ID do Serviço**: ID do serviço desejado
580
- - **ID do Usuário**: ID do atendente/usuário
581
- - **Data**: Data no formato YYYY-MM-DD
582
-
583
- **Retorno exemplo:**
584
- ```json
585
- {
586
- "horarios": "*1* - 09:00\n*2* - 09:30\n*3* - 10:00\n*4* - 10:30"
587
- }
588
- ```
589
-
590
- ### Criar Agendamento
591
- Cria um novo agendamento no sistema.
592
- 1. Selecione a operação **Criar Agendamento**
593
- 2. Preencha:
594
- - **ID do Serviço**: ID do serviço
595
- - **ID do Usuário**: ID do atendente/usuário
596
- - **Data**: Data do agendamento (YYYY-MM-DD)
597
- - **Horário**: Horário do agendamento (HH:mm)
598
- - **Nome do Contato**: Nome do cliente
599
- - **Telefone do Contato**: Telefone do cliente (formato: 5511999999999)
600
- - **Observações** (opcional): Notas sobre o agendamento
601
- - **ID da Conexão WhatsApp** (opcional): ID da conexão WhatsApp (usa primeira disponível se não informado)
602
- - **Mensagem Personalizada** (opcional): Mensagem personalizada do agendamento
603
- - **Lembretes (minutos)**: Lembretes em minutos antes do agendamento (separados por vírgula, ex: 60,240,1440)
604
- - **Duração do Intervalo (minutos)**: Duração do intervalo em minutos (padrão: 30)
605
- - **Fechar Ticket**: Se deve fechar o ticket após criar agendamento
606
-
607
- **Observações importantes:**
608
- - Se o contato não existir no sistema, ele será criado automaticamente
609
- - Se não informar conexão WhatsApp, será usada a primeira disponível
610
- - Os lembretes são em minutos (60 = 1 hora, 240 = 4 horas, 1440 = 1 dia)
611
-
612
- **Retorno exemplo:**
613
- ```json
614
- {
615
- "status": 1,
616
- "mensagem": "Agendamento criado com sucesso",
617
- "scheduleId": 123,
618
- "contactId": 456,
619
- "whatsappId": 789
620
- }
621
- ```
622
-
623
- ### Cancelar Agendamento
624
- Cancela um agendamento existente.
625
- 1. Selecione a operação **Cancelar Agendamento**
626
- 2. Preencha:
627
- - **ID do Agendamento**: ID do agendamento a ser cancelado
628
-
629
- **Retorno exemplo:**
630
- ```json
631
- {
632
- "status": 0,
633
- "mensagem": "Agendamento cancelado com sucesso"
634
- }
635
- ```
636
-
637
- ### Gerar Link do Calendário (.ics)
638
- Gera um link para download do arquivo .ics (calendário) de um agendamento específico.
639
- 1. Selecione a operação **Gerar Link do Calendário (.ics)**
640
- 2. Preencha:
641
- - **ID do Agendamento**: ID do agendamento para gerar o link do calendário
642
-
643
- **Retorno exemplo:**
644
- ```json
645
- {
646
- "status": 1,
647
- "link": "https://seudominio.com/schedules/123/ics",
648
- "scheduleId": 123,
649
- "info": {
650
- "cliente": "João Silva",
651
- "servico": "Consulta Médica",
652
- "data": "2025-01-15T14:30:00.000Z",
653
- "funcionario": "Dr. Pedro Santos"
654
- }
655
- }
656
- ```
657
-
658
- **Uso do link:**
659
- - O link gerado pode ser usado diretamente para download do arquivo .ics
660
- - O arquivo .ics contém todas as informações do agendamento
661
- - Pode ser importado em qualquer aplicativo de calendário (Google Calendar, Outlook, Apple Calendar, etc.)
662
- - É útil para integração com sistemas externos ou envio para clientes
663
-
664
- ### 📱 Listar Templates WABA
665
- Lista todos os templates disponíveis na conta WABA (WhatsApp Business API).
666
- 1. Selecione a operação **Listar Templates WABA**
667
- 2. Preencha:
668
- - **WhatsApp ID**: ID da conexão WhatsApp WABA
669
-
670
- **Retorno exemplo:**
671
- ```json
672
- [
673
- {
674
- "id": "123456789",
675
- "name": "boas_vindas",
676
- "language": "pt_BR",
677
- "category": "MARKETING",
678
- "status": "APPROVED",
679
- "alreadyImported": true
680
- },
681
- {
682
- "id": "987654321",
683
- "name": "confirmacao_pedido",
684
- "language": "pt_BR",
685
- "category": "UTILITY",
686
- "status": "APPROVED",
687
- "alreadyImported": false
688
- }
689
- ]
690
- ```
691
-
692
- **Campos retornados:**
693
- - `id`: ID do template no Facebook Graph API
694
- - `name`: Nome do template
695
- - `language`: Idioma do template
696
- - `category`: Categoria (MARKETING, UTILITY, AUTHENTICATION)
697
- - `status`: Status (APPROVED, PENDING, REJECTED)
698
- - `alreadyImported`: Indica se o template já foi importado no sistema
699
-
700
- ### 📤 Enviar Template WABA
701
- Envia um template WABA pré-aprovado para um número de WhatsApp.
702
- 1. Selecione a operação **Enviar Template WABA**
703
- 2. Preencha:
704
- - **WhatsApp ID**: ID da conexão WhatsApp WABA
705
- - **Template ID**: ID do template no sistema (obtido após importação)
706
- - **Número de Telefone**: Número do destinatário com DDI (ex: 5511999999999)
707
- - **Parâmetros do Template**: JSON com variáveis para substituir no template (opcional)
708
-
709
- **Exemplo de parâmetros:**
710
- ```json
711
- {
712
- "nome_cliente": "João Silva",
713
- "numero_pedido": "12345",
714
- "data_entrega": "15/01/2025"
715
- }
716
- ```
717
-
718
- **Retorno exemplo:**
719
- ```json
720
- {
721
- "success": true,
722
- "message": "Template enviado com sucesso",
723
- "messageId": "wamid.HBgNNTUxMTk4NzY1NDMyMRUCABIYIDNBNjdFRjg5RjY4OTRDNTA5MDk5",
724
- "templateName": "boas_vindas",
725
- "recipient": "5511999999999",
726
- "whatsappId": 3
727
- }
728
- ```
729
-
730
- **Observações importantes:**
731
- - Templates WABA precisam ser pré-aprovados pelo Meta/Facebook
732
- - O template deve estar importado no sistema para ser enviado
733
- - Use `listWabaTemplates` para ver quais templates estão disponíveis
734
- - Os parâmetros devem corresponder às variáveis definidas no template
735
- - Templates WABA são ideais para notificações, confirmações e mensagens de marketing
736
-
737
- ## 💡 Casos de Uso Práticos
738
-
739
- ### 🤖 Bot de Atendimento Interativo
740
- Combine as novas operações para criar um fluxo completo:
741
-
742
- 1. **Enviar Botões** → Menu inicial com opções
743
- 2. **Enviar Lista** → Catálogo de produtos/serviços
744
- 3. **Enviar Mídia** → Imagens dos produtos
745
- 4. **Enviar Base64** → Contratos/documentos
746
-
747
- ### 🛒 E-commerce Automation
748
- ```
749
- Trigger (Webhook)
750
-
751
- Enviar Botões (Confirmar pedido?)
752
-
753
- Enviar Lista (Formas de pagamento)
754
-
755
- Enviar Base64 (Contrato PDF)
756
-
757
- Enviar Mídia (Comprovante)
758
- ```
759
-
760
- ### 📊 Relatórios Automatizados
761
- ```
762
- Scheduler (Diário)
763
-
764
- HTTP Request (Buscar dados)
765
-
766
- Code (Gerar gráfico base64)
767
-
768
- Enviar Base64 (Relatório visual)
769
- ```
770
-
771
- ### 🎯 Marketing Campaigns
772
- ```
773
- Database (Lista clientes)
774
-
775
- Loop (Para cada cliente)
776
-
777
- Enviar Botões (CTA personalizado)
778
-
779
- Webhook (Capturar resposta)
780
- ```
781
-
782
- ### 🔄 Workflow Exemplo Completo
783
- **Cenário**: Venda de produto com confirmação interativa
784
-
785
- ```
786
- 1. Webhook (Novo lead)
787
-
788
- 2. Enviar Botões ("Interesse em comprar?")
789
-
790
- 3. IF (Resposta = "Sim")
791
-
792
- 4. Enviar Lista (Catálogo produtos)
793
-
794
- 5. HTTP Request (Buscar detalhes do produto)
795
-
796
- 6. Enviar Mídia (Foto do produto)
797
-
798
- 7. Enviar Botões ("Fechar pedido?")
799
-
800
- 8. Enviar Base64 (Contrato PDF)
801
-
802
- 9. Webhook (Notificar vendedor)
803
- ```
804
-
805
- ### 📱 Templates WABA
806
- **Cenário**: Notificação de pedido aprovado
807
-
808
- ```
809
- 1. Webhook (Pedido aprovado)
810
-
811
- 2. Listar Templates WABA (Buscar template de confirmação)
812
-
813
- 3. Enviar Template WABA (Notificar cliente)
814
-
815
- Parâmetros: {
816
- "nome_cliente": "{{$json.customer_name}}",
817
- "numero_pedido": "{{$json.order_id}}",
818
- "valor_total": "{{$json.total}}",
819
- "data_entrega": "{{$json.delivery_date}}"
820
- }
821
-
822
- 4. Database (Registrar envio)
823
- ```
824
-
825
- **Vantagens dos Templates WABA:**
826
- - ✅ Aprovação prévia do Meta/Facebook
827
- - ✅ Baixo custo de envio
828
- - ✅ Alta taxa de entrega
829
- - ✅ Ideais para notificações transacionais
830
- - ✅ Suporte a variáveis dinâmicas
831
- - ✅ Podem incluir botões e mídia
832
-
833
- ## Suporte
834
-
835
- Para suporte, entre em contato com [contato@digitalsac.io](mailto:contato@digitalsac.io).