@lionchat/mcp-server 1.21.0 → 1.23.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/dist/docs/instructions.md +2 -0
- package/dist/docs/resources/agenda-multiplas-unidades.md +210 -0
- package/dist/docs/resources/assinatura-eletronica.md +4 -2
- package/dist/docs/resources/best-practices.md +30 -1
- package/dist/docs/resources/conversation-flows.md +1 -1
- package/dist/docs/resources/data-model.md +63 -2
- package/dist/docs/resources/flowbuilder-design-guide.md +65 -14
- package/dist/docs/resources/flowbuilder-patterns.md +9 -1
- package/dist/docs/resources/formularios-publicos.md +4 -2
- package/dist/docs/resources/glossary.md +14 -2
- package/dist/docs/resources/reports-guide.md +33 -5
- package/dist/docs/resources/troubleshooting.md +92 -0
- package/dist/resources.js +6 -0
- package/dist/resources.js.map +1 -1
- package/dist/tools.js +84 -12
- package/dist/tools.js.map +1 -1
- package/endpoints.json +1227 -63
- package/package.json +1 -1
|
@@ -721,6 +721,9 @@ Colunas: Ligações · Atendidas · Não atendidas · **Não concluídas** · Te
|
|
|
721
721
|
- **Ligação sem atendente tem linha própria** e pode ser boa parte do volume (23% numa conta real).
|
|
722
722
|
Não a esconda ao resumir por pessoa.
|
|
723
723
|
- A tabela lista só quem teve ligação no período — atendente ausente da tabela fez zero.
|
|
724
|
+
- **VTCall (11/09/2026):** "Feitas" conta também a ligação discada direto no aparelho de ramal cadastrado. No botão a
|
|
725
|
+
central marca "atendida" sempre; no aparelho, só quando o cliente atende — não compare a taxa de atendidas de quem
|
|
726
|
+
liga pelo botão com a de quem liga pelo aparelho.
|
|
724
727
|
|
|
725
728
|
### Agendamentos (`lionchat_booking_reports`) — 2026-08-19
|
|
726
729
|
|
|
@@ -728,11 +731,36 @@ Colunas: Ligações · Atendidas · Não atendidas · **Não concluídas** · Te
|
|
|
728
731
|
AGENDAMENTO (Booking). Params: `since`/`until` (datas; padrão 30 dias pra trás E 30 pra frente,
|
|
729
732
|
porque agenda tem futuro), `event_type_id`, `user_id` (responsável da tarefa), `status`
|
|
730
733
|
(`pending` | `completed` | `cancelled` | `snoozed`), `group_by` (`day` | `week` | `month`).
|
|
731
|
-
Resposta: `totals` (`total`, `pending`, `completed`, `cancelled`, `snoozed`, `
|
|
732
|
-
`timeline`, `by_event_type`, `by_agent`, `by_origin
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
734
|
+
Resposta: `totals` (`total`, `pending`, `completed`, `cancelled`, `snoozed`, `attended`, `no_show`,
|
|
735
|
+
`attendance_rate`, `attendance_basis`), `timeline`, `by_event_type`, `by_agent`, `by_origin` e
|
|
736
|
+
`treatments`.
|
|
737
|
+
|
|
738
|
+
- **`attended` / `no_show`** (15/09) são as marcas Compareceu/Faltou do compromisso
|
|
739
|
+
(`account_tasks.attendance`), um eixo próprio: **não mudam a situação** — compromisso "faltou"
|
|
740
|
+
continua `pending` até alguém concluir ou cancelar, igual a Agenda mostra.
|
|
741
|
+
- **`attendance_rate` (regra de 15/09) = compareceram / (compareceram + faltaram)**, em %. Período em
|
|
742
|
+
que NINGUÉM marcou presença (dado anterior a 14/09, equipe que só conclui/cancela) cai na regra
|
|
743
|
+
antiga — concluídos / (concluídos + cancelados), pendentes FORA — e `attendance_basis` diz qual
|
|
744
|
+
valeu: `attendance` ou `status`. Não recalcule com o total; diga qual base valeu.
|
|
745
|
+
- **`treatments`** (refeito em 15/09 à noite) é o bloco "Programas" da tela. **O período
|
|
746
|
+
(`since`/`until`) VALE** — decisão do dono; `event_type_id` recorta; `user_id` e `status` NÃO recortam
|
|
747
|
+
(são da tarefa, não do programa). Três andares:
|
|
748
|
+
1. **Programas**: `em_andamento` (não tinha terminado no FIM do período), `atrasados` (medido no fim do
|
|
749
|
+
período, nunca em "hoje"), `comecaram`, `concluidos` e `encerrados` — esses três só contam se a data
|
|
750
|
+
cair DENTRO do período ("concluído" não tem data no banco: vale a data da última sessão usada).
|
|
751
|
+
`sessoes_planejadas`, `sessoes_usadas` e `percentual` são **só dos em andamento** (somar os concluídos
|
|
752
|
+
puxaria para 100).
|
|
753
|
+
2. **Sessões do período**: `previstas` = `marcadas` + `nao_marcadas`; `aconteceram`, `faltaram` e `taxa`
|
|
754
|
+
= aconteceram / (aconteceram + faltaram), em %. `nao_marcadas` é a sessão que o plano previa e
|
|
755
|
+
ninguém agendou — é PREVISÃO, não existe no banco.
|
|
756
|
+
3. **`parados`** `{programas, sessoes_restantes}`: em andamento sem nenhuma sessão futura marcada.
|
|
757
|
+
Vêm também `duracao` `{programas, dias_reais, dias_previstos}` (médias dos que concluíram no período;
|
|
758
|
+
`null` sem dado), `linha[]` e `por_tipo[]` (mesmos campos por `tipo`, ordenado pelos em andamento).
|
|
759
|
+
Cada ponto de `linha[]` traz `period`, `previstas`, `aconteceram`, `faltaram`, `aguardando` (marcada e
|
|
760
|
+
ainda sem Compareceu/Faltou — campo de 16/09) e `nao_marcadas`; as quatro últimas somam `previstas`. O
|
|
761
|
+
período inteiro vira ponto, com zero nos dias vazios; lista vazia = nenhum programa no período.
|
|
762
|
+
"Usada" = compareceu OU faltou (a falta consome). **Não há valor em reais** (o programa não guarda
|
|
763
|
+
preço). Ver `lionchat://docs/agenda-multiplas-unidades` §7.
|
|
736
764
|
- A SITUAÇÃO vem da tarefa da Agenda (`account_tasks.status`), não de `bookings.status` — quem
|
|
737
765
|
conclui/cancela pela Agenda deixa o booking parado em "confirmado". Ler `bookings_*` direto pra
|
|
738
766
|
contar "concluídos" dá zero.
|
|
@@ -292,6 +292,20 @@ Desde 2026-09-02 há uma rede a mais: quando o WhatsApp recusa o endereço grava
|
|
|
292
292
|
chegaram e guarda a correção. Interruptor `WAHA_SEND_PROVEN_ADDRESS` (Super Admin > App Config >
|
|
293
293
|
WAHA). Não cobre campanha de WhatsApp QR nem convivência, que montam o endereço por conta própria.
|
|
294
294
|
|
|
295
|
+
### "Balao vermelho no WhatsApp oficial com `(#131000) Something went wrong`"
|
|
296
|
+
Erro GENERICO da Meta: sem subcodigo e sem motivo. **Nao e bloqueio, nao e pagamento, nao e limite e
|
|
297
|
+
nao e defeito nosso** — a mensagem saiu daqui e a Meta recusou. Costuma ser uma janela de alguns
|
|
298
|
+
minutos: medido em producao, a mesma mensagem para o mesmo contato foi entregue 15 minutos depois.
|
|
299
|
+
|
|
300
|
+
Desde 2026-09-16 o sistema **tenta de novo sozinho** 4 vezes (1, 4, 10 e 20 minutos depois da
|
|
301
|
+
recusa). O balao fica vermelho o tempo todo e so vira verde quando a Meta aceitar de verdade. A
|
|
302
|
+
escada desiste se o atendente ja mandou por outra via (painel ou celular), se a janela de 24 h
|
|
303
|
+
fechar, ou se as 4 tentativas acabarem. Interruptor `WHATSAPP_AUTO_RETRY_TRANSIENT` (Super Admin >
|
|
304
|
+
App Config > WhatsApp oficial). Campanha fica de fora.
|
|
305
|
+
|
|
306
|
+
Se o cliente perguntar: pedir para **esperar uns 10 a 15 minutos antes de clicar Reenviar** —
|
|
307
|
+
reenviar na hora cai na mesma janela e falha de novo.
|
|
308
|
+
|
|
295
309
|
### "Cliente mandou um contato (vCard) e não apareceu nada"
|
|
296
310
|
Corrigido em 2026-06-09: vCard agora vira anexo `file_type: "contact"` na mensagem (nome +
|
|
297
311
|
telefone extraídos). Em versões antigas a mensagem era descartada.
|
|
@@ -708,3 +722,81 @@ sai. Confira `last_incoming_message_at` na conversa: vazio ou antigo = janela fe
|
|
|
708
722
|
Desde 02/09 a mensagem que chega ADOTA essa conversa (não abre outra). Se um fluxo/automação/IA
|
|
709
723
|
dependia do gatilho **"conversa criada"** para acordar nesse caso, ele não roda mais na adoção —
|
|
710
724
|
troque para **"Conversa reaberta"**.
|
|
725
|
+
|
|
726
|
+
## "A mensagem aparece como 'Mensagem de tipo não suportado'" — 17/09/2026
|
|
727
|
+
|
|
728
|
+
O que significa depende do canal.
|
|
729
|
+
|
|
730
|
+
**WhatsApp oficial (Cloud API).** A Meta entrega a mensagem com `type: unsupported` e o erro 131051,
|
|
731
|
+
e **não manda o conteúdo em caso nenhum** — nem texto, nem o vínculo com a mensagem original. O que
|
|
732
|
+
ela manda é o SUBTIPO (`unsupported.type`), e desde 17/09 o aviso na conversa diz o que era: "Convite
|
|
733
|
+
para entrar em um grupo", "Mensagem com botões", "Menu de opções", "Enquete", "Foto ou vídeo de
|
|
734
|
+
visualização única", "O contato apagou uma mensagem", "O contato editou uma mensagem". Quando a
|
|
735
|
+
própria Meta não sabe (`unknown`, a maioria dos casos) o texto continua sendo
|
|
736
|
+
"Mensagem de tipo não suportado.".
|
|
737
|
+
|
|
738
|
+
Consequência prática: nessa caixa **não existe API que recupere o conteúdo**. Se o cliente perguntar
|
|
739
|
+
o que a pessoa mandou, a resposta honesta é o tipo, não o conteúdo. Não prometa recuperar.
|
|
740
|
+
|
|
741
|
+
**WhatsApp QR Code.** Aqui o conteúdo chega inteiro e desde 17/09 aparece como mensagem normal:
|
|
742
|
+
convite de grupo (com nome do grupo e link), disparo de marketing de outra empresa (texto + botões,
|
|
743
|
+
cada um como `[Botão: X]`), menu em lista, enquete, pergunta de canal, cartão de cobrança, e a
|
|
744
|
+
RESPOSTA do cliente a um menu de botões — que antes sumia inteira. Se ainda aparecer o aviso curto
|
|
745
|
+
("Enquete", "Convite para entrar em um grupo") é porque aquele formato específico não tem leitor
|
|
746
|
+
ainda; o texto diz o tipo.
|
|
747
|
+
|
|
748
|
+
**Mensagens que continuam invisíveis, de propósito:** avisos internos do WhatsApp (chave de
|
|
749
|
+
criptografia de grupo, aviso de protocolo, cabeçalho de álbum). Não são mensagem de ninguém. O
|
|
750
|
+
cabeçalho de álbum some porque as fotos chegam logo em seguida como mensagens próprias — se o
|
|
751
|
+
cliente reclamar que "faltou uma mensagem antes das fotos", era isso.
|
|
752
|
+
|
|
753
|
+
## "O paciente tem duas consultas no dia e recebeu um lembrete só" (e-Clínica) — 17/09/2026
|
|
754
|
+
|
|
755
|
+
**Como é desde 17/09:** um lembrete por CONSULTA. Duas consultas no mesmo dia, ou duas pessoas no mesmo
|
|
756
|
+
celular (mãe e filho), recebem um lembrete para cada consulta — cada um com o nome do paciente, o
|
|
757
|
+
horário, o profissional e o link daquela consulta. A regra antiga ("um lembrete por dia", de 09/09)
|
|
758
|
+
saiu do sistema; linhas antigas do histórico com `skip_reason = outra_consulta_no_mesmo_dia` são dela.
|
|
759
|
+
|
|
760
|
+
**Eles não saem juntos.** Sai o da consulta mais cedo e, ~10 minutos depois, o da seguinte (três
|
|
761
|
+
consultas = três rodadas). Ao consultar `lionchat_eclinica_reminder_history_list`:
|
|
762
|
+
- `pending` com `fire_at` já no passado, há poucos minutos, e um irmão do mesmo contato/dia `fired` =
|
|
763
|
+
está esperando a vez. **Normal — não reprocessar, não reportar como erro.**
|
|
764
|
+
- `failed` com `fail_reason = fluxo_ainda_em_andamento_com_este_contato` = o fluxo do aviso anterior
|
|
765
|
+
ainda estava rodando com aquele contato. É o esperado quando o fluxo do lembrete **aguarda o paciente
|
|
766
|
+
clicar num botão**: o segundo aviso só consegue sair depois que ele responder o primeiro. Pode ser
|
|
767
|
+
reenviado com `lionchat_eclinica_reminder_history_reprocess` (se o paciente ainda não respondeu, falha
|
|
768
|
+
de novo — sem mensagem e sem custo).
|
|
769
|
+
- `failed` com `fail_reason = nao_disparou` continua sendo outra coisa; a causa mais comum é o contato
|
|
770
|
+
**sem telefone** (o cadastro do paciente na e-Clínica está sem celular, ou com número incompleto).
|
|
771
|
+
|
|
772
|
+
**O cliente quer só um lembrete por dia?** Não é mais regra do sistema: monta-se no próprio fluxo do
|
|
773
|
+
lembrete — condição comparando um atributo da conversa com `{{data_consulta}}` (se igual, encerra) e,
|
|
774
|
+
depois do envio, ação que grava `{{data_consulta}}` nesse atributo.
|
|
775
|
+
|
|
776
|
+
**Fluxo de lembrete que consulta a agenda do paciente:** use `{{cliente_id}}` (vem no próprio lembrete,
|
|
777
|
+
é o paciente DAQUELA consulta) e não `contact.custom_attribute.eclinica_cliente_id` — a ficha do
|
|
778
|
+
contato é uma por TELEFONE e guarda só o último paciente; com mãe e filho no mesmo celular o fluxo
|
|
779
|
+
olharia a agenda da pessoa errada e poderia concluir que a consulta foi desmarcada. Lembretes criados
|
|
780
|
+
antes de 17/09 podem não ter `{{cliente_id}}`: use a ficha só como reserva
|
|
781
|
+
(`{{ cliente_id | default: contact.custom_attribute.eclinica_cliente_id }}`).
|
|
782
|
+
|
|
783
|
+
---
|
|
784
|
+
|
|
785
|
+
## "Marquei Faltou (ou Compareceu) e a tarefa continua pendente" — 17/09/2026
|
|
786
|
+
|
|
787
|
+
**Não é defeito.** Presença (`attendance`) e situação (`status`) são campos separados de propósito: marcar
|
|
788
|
+
Faltou/Compareceu não conclui a tarefa. Concluir um compromisso de Booking encerra os lembretes e o
|
|
789
|
+
pós-atendimento dele e dispara o gatilho de fluxo "agendamento concluído" — inclusive para quem faltou.
|
|
790
|
+
|
|
791
|
+
- O que o painel mostra ao lado da tarefa é o campo **`selo`** (só leitura): `no_show`, `attended`,
|
|
792
|
+
`rescheduled`, `completed`, `snoozed`, `cancelled` ou `pending`. Use ele para descrever o compromisso.
|
|
793
|
+
- A tarefa marcada com presença continua nas pendências até alguém clicar em Concluir (ou a API mandar
|
|
794
|
+
concluir). Só conclua se o usuário pedir.
|
|
795
|
+
- Antes de 17/09 o painel mostrava "Pendente" (e "Atrasada" na ficha do contato) mesmo com Faltou marcado —
|
|
796
|
+
era só a etiqueta; o dado sempre esteve gravado certo.
|
|
797
|
+
|
|
798
|
+
## "Troquei o responsável de um agendamento e ele não mudou" — 17/09/2026
|
|
799
|
+
|
|
800
|
+
Compromisso nascido de Booking (`booking_id` presente) tem responsável fixo: o profissional do tipo de
|
|
801
|
+
evento. `assignee_ids` no update é ignorado (a resposta é 200 e o resto da edição vale). Para mudar quem
|
|
802
|
+
atende, edite o tipo de evento — ou cancele e marque de novo em outro Booking.
|
package/dist/resources.js
CHANGED
|
@@ -41,6 +41,12 @@ export const RESOURCES = [
|
|
|
41
41
|
description: 'Ciclo de vida de uma conversa: criacao, greeting, auto-assignment, Captain IA, resolucao, snooze. Use pra diagnosticar comportamento de conversas.',
|
|
42
42
|
filename: 'conversation-flows.md',
|
|
43
43
|
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Agenda — Unidades, Tipos e Google',
|
|
46
|
+
uri: 'lionchat://docs/agenda-multiplas-unidades',
|
|
47
|
+
description: 'Agenda por UNIDADE (matriz, filial, consultorio): o que agenda_id NULO significa, tipos de compromisso criados pela conta, Booking ligado a unidade, regras da pagina publica (cancelar/remarcar/confirmar presenca) e conexao Google UMA POR AGENDA. Leia antes de mexer em agenda, tipo de compromisso ou Booking.',
|
|
48
|
+
filename: 'agenda-multiplas-unidades.md',
|
|
49
|
+
},
|
|
44
50
|
{
|
|
45
51
|
name: 'Kanban Detalhado',
|
|
46
52
|
uri: 'lionchat://docs/kanban-deep-dive',
|
package/dist/resources.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -346,11 +346,11 @@ function registerListCategoriesTool(server, allEndpoints) {
|
|
|
346
346
|
// Helps LLMs build correct flow_data without hitting trial-and-error on
|
|
347
347
|
// node types, action keys, source handles, etc.
|
|
348
348
|
function registerFlowsSchemaReferenceTool(server) {
|
|
349
|
-
const reference = `LIONCHAT FLOW BUILDER — SCHEMA REFERENCE (atualizado 2026-09-
|
|
349
|
+
const reference = `LIONCHAT FLOW BUILDER — SCHEMA REFERENCE (atualizado 2026-09-17)
|
|
350
350
|
|
|
351
351
|
flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
352
352
|
|
|
353
|
-
═══
|
|
353
|
+
═══ TRES TIPOS DE FLOW (e o modo do conversation) ═══
|
|
354
354
|
- conversation (default): dispara por evento de inbox. Criar via lionchat_flows_create.
|
|
355
355
|
conversation_mode: 'individual' (1-a-1, default) ou 'group' (grupo WhatsApp). IMUTAVEL apos criar.
|
|
356
356
|
O node update_group (Gestao de Grupos, 17 operacoes) roda em fluxo de QUALQUER modo/canal desde que a
|
|
@@ -363,6 +363,19 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
363
363
|
send_message, note (SEM wait, wait_response, update_group). No action de ai_tool NAO use keys da
|
|
364
364
|
aba Sistema (send_webhook/start_flow/send_conversion). Vincular ao assistente: POST /flow_tools/{id}/assistants.
|
|
365
365
|
Testar: POST /flow_tools/{id}/run.
|
|
366
|
+
- action (Fluxo de Acoes, 17/09/2026): NAO pertence a caixa nenhuma e roda em QUALQUER conversa de
|
|
367
|
+
QUALQUER caixa — inclusive grupo. So executa acoes: NAO pode ter send_message, wait_response,
|
|
368
|
+
update_group nem end (a validacao recusa o save inteiro com "contains node types not allowed in
|
|
369
|
+
action flow"). Nodes permitidos: start, action, condition, wait, randomizer, api, ai,
|
|
370
|
+
set_variable, note. Criar via lionchat_flows_create com flow_type:'action', SEM inbox_ids e SEM
|
|
371
|
+
conversation_mode (o backend fixa 'individual'). Aceita os MESMOS gatilhos do conversation e roda
|
|
372
|
+
LADO A LADO com ele (nao entra no aviso de conflito de gatilho). Use quando a regra vale pra
|
|
373
|
+
empresa toda e nao depende da caixa (ex.: etiqueta 'urgente' -> atribui equipe de suporte).
|
|
374
|
+
Se precisa FALAR com a pessoa, o tipo e conversation.
|
|
375
|
+
AINDA NAO FUNCIONA: disparar flow 'action' por webhook de integracao (gateways de pagamento,
|
|
376
|
+
Webhook Universal, Meta Lead, e-Clinica) nem por gatilho de FORMULARIO — esses caminhos criam a
|
|
377
|
+
conversa usando a CAIXA do flow, que este tipo nao tem, e ele e descartado (no_inbox_linked).
|
|
378
|
+
Nao prometa isso ao cliente.
|
|
366
379
|
Aviso de espera (10/09/2026): enquanto a ferramenta roda, o cliente recebe "So um momento, estou
|
|
367
380
|
verificando isso pra voce...". Cada ferramenta escolhe o SEU no node start: data.toolWaitMessageEnabled
|
|
368
381
|
(false desliga; AUSENTE = ligado — so um false de verdade desliga, "" ou lixo mantem ligado) e
|
|
@@ -447,6 +460,17 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
447
460
|
Agenda — ADIAR conta como remarcado); completed = equipe concluiu na Agenda (exige a Agenda unificada
|
|
448
461
|
ligada na conta). Excluir a tarefa, reabrir cancelada e desfazer conclusao NAO disparam; cancelamento
|
|
449
462
|
vence remarcacao quando os dois mudam no mesmo save.
|
|
463
|
+
booking_treatment_completed / booking_treatment_late (NOVOS 2026-09-15 — os DOIS gatilhos do PROGRAMA de
|
|
464
|
+
sessoes; na tela o nome e "programa", na API o campo segue treatment). treatment_completed = a ULTIMA sessao
|
|
465
|
+
do pacote recebeu Compareceu ou Faltou, ou seja o programa fechou (nasce da PRESENCA, nao do status: concluir a
|
|
466
|
+
tarefa NAO conta; trocar a presenca depois NAO dispara de novo). treatment_late = varredura DIARIA (09:00 de
|
|
467
|
+
Brasilia) que cobra quando a proxima sessao ja passou da data prevista e nada esta marcado pra frente — UMA vez
|
|
468
|
+
por semana por sessao, e so em conta que tem um flow com esse gatilho. Os dois usam o MESMO painel de filtros do
|
|
469
|
+
booking_* (tipos + agente + criar conversa) e exigem a Agenda unificada. O assunto e a ULTIMA sessao existente:
|
|
470
|
+
programa sem nenhuma sessao marcada nao dispara o atraso (nao ha conversa a que se referir).
|
|
471
|
+
Alem de {{booking.*}}, os dois recebem {{programa.*}}: titulo, sessoes, usadas, restantes, percentual,
|
|
472
|
+
compareceu, faltou, proxima_sessao, proxima_prevista, dias_de_atraso, intervalo. {{programa.*}} NAO existe nos
|
|
473
|
+
outros booking_* (la o compromisso pode nem ser sessao de programa).
|
|
450
474
|
Item: {key:'booking_created', config:{booking_event_type_ids:['44'], agent_ids:[], create_conversation:false}}
|
|
451
475
|
— tudo opcional, vazio = todos: booking_event_type_ids = ids de tipo de agendamento (STRINGS — e o que
|
|
452
476
|
a tela grava; o disparo compara por texto, entao numero ate funciona, mas escreva string), agent_ids =
|
|
@@ -483,6 +507,14 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
483
507
|
todos assinaram (documento final gerado) / alguem recusou / o prazo terminou sem todas as
|
|
484
508
|
assinaturas. INERTES a evento de conversa (quem dispara e o SignatureEnvelopes::FlowTriggerDispatcher,
|
|
485
509
|
a partir do proprio registro da prova). Item: {key:'signature_signed_signer', config:{document_ids:[]}}
|
|
510
|
+
signature_delivered (NOVO 2026-09-14 — o UNICO gatilho de contrato POR PESSOA): dispara uma vez
|
|
511
|
+
para CADA participante que recebeu o link, na conversa DELE. O signature_sent nasce de evento com
|
|
512
|
+
participante NULO e cai na conversa do CONTRATO — contrato mandado pra cinco pessoas rende UM fluxo
|
|
513
|
+
e quatro nunca recebem lembrete; e ESTE o gatilho de lembrete de assinatura. Sai TAMBEM no botao
|
|
514
|
+
Reenviar (o link saiu pra pessoa outra vez). Participante que recebe por E-MAIL nao tem conversa e
|
|
515
|
+
NAO dispara — de proposito nao cai pra conversa do contrato, senao o lembrete da testemunha iria
|
|
516
|
+
pro WhatsApp do titular com as variaveis da outra pessoa.
|
|
517
|
+
Item: {key:'signature_delivered', config:{document_ids:[]}}
|
|
486
518
|
— document_ids = ids de MODELO de contrato (STRINGS; vazio = qualquer modelo). A sessao nasce na
|
|
487
519
|
conversa da PESSOA do acontecimento (a testemunha tem a dela); contrato so por e-mail (sem conversa)
|
|
488
520
|
nao dispara; o flow precisa estar ligado a caixa da conversa (ou a nenhuma). Sessao ativa do MESMO
|
|
@@ -519,7 +551,9 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
519
551
|
— os dois filtros se SOMAM (E logico), cada um vazio deixa passar: group_match/group_name filtra
|
|
520
552
|
pelo NOME do grupo; group_ids (so via API/MCP, compara por digitos) mira grupos exatos. Vale nos 2
|
|
521
553
|
tipos de flow: em flow de grupo roda na conversa do grupo; em flow individual roda na conversa da
|
|
522
|
-
PESSOA que entrou/saiu
|
|
554
|
+
PESSOA que entrou/saiu — SO se ela JA tem conversa naquela caixa (o gatilho nunca cria conversa;
|
|
555
|
+
quem entra pela 1a vez, ex. por link de convite, e PULADO). Para falar com quem nunca conversou:
|
|
556
|
+
flow de GRUPO + update_group groupOperation 'send_private_message' (16/09).
|
|
523
557
|
WEBHOOK EMBUTIDO (Webhook Universal): 1) criar flow; 2) POST /custom_webhook_integrations com
|
|
524
558
|
{custom_webhook_integration:{flow_id}} (idempotente, retorna URL unica); 3) flows_update com
|
|
525
559
|
item {key:'webhook_received', config:{integration_id}} no data.items do start. Remover o item
|
|
@@ -608,6 +642,8 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
608
642
|
vazio ('') = 60 (o que a tela exibe).
|
|
609
643
|
Respostas invalidas alem de maxRetries -> handle "retries_exhausted" (distinto do timeout de silencio;
|
|
610
644
|
se nao houver edge nele, cai no "timeout"; sem nenhum dos dois, encerra). maxRetries vazio/0 = 3.
|
|
645
|
+
maxRetries = QUANTAS VEZES o invalidMessage e enviado (desde 16/09/2026): com 1, a 1a resposta errada
|
|
646
|
+
recebe a mensagem e a 2a segue "retries_exhausted"; com 3, recebe 3 vezes e a 4a esgota.
|
|
611
647
|
Handles validation='options': "option_{val}" por opcao + "timeout"
|
|
612
648
|
Handles validation='varied_options': "option_{group_id}" por grupo (optionGroups) + "timeout"
|
|
613
649
|
Handles outros: "success" + "timeout"
|
|
@@ -675,6 +711,14 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
675
711
|
IANA ex. America/Sao_Paulo; outside_business_hours HERDA days/start_hour/end_hour/timezone da
|
|
676
712
|
business_hours ANTERIOR no array — pode deixar ausentes que o backend preenche),
|
|
677
713
|
can_reply/can_reply_closed, conversation_has_agent/no_agent,
|
|
714
|
+
CAIXA DA CONVERSA [17/09/2026]: field '{{inbox.id}}' com operator equal/not_equal e values
|
|
715
|
+
[id da caixa] — a condicao "Caixa da conversa" da tela. TIPO DE CAIXA: field
|
|
716
|
+
'{{inbox.channel_type}}' com values ['Channel::Waha'|'Channel::Whatsapp'|'Channel::Api'|
|
|
717
|
+
'Channel::Telegram'|'Channel::Email'|'Channel::WebWidget'|...] (valor TECNICO; a tela mostra
|
|
718
|
+
o rotulo). As duas nasceram pro Fluxo de Acoes, que roda em todas as caixas e precisa
|
|
719
|
+
perguntar onde esta antes de agir — mas valem em qualquer tipo de flow. valueType e
|
|
720
|
+
OBRIGATORIO: 'inbox' na primeira e 'channel_type' na segunda — e ele que faz a tela abrir o
|
|
721
|
+
seletor certo; sem ele a regra roda no motor e a tela nao desenha campo nenhum pra ela.
|
|
678
722
|
conversation_no_team (NOVO 2026-08-15: conversa SEM equipe atribuida — e o preset "Sem equipe"
|
|
679
723
|
da tela; operador dedicado, sem value), conversation_has_ai_agent/conversation_no_ai_agent
|
|
680
724
|
(IA ativa/inativa na conversa; not_ai_agent = sinonimo de no_ai_agent),
|
|
@@ -691,7 +735,18 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
691
735
|
Desde 20/08 as 4 condicoes kanban_* enxergam o card da conversa ATUAL ou o card cuja conversa de
|
|
692
736
|
ORIGEM e a atual (card religado pra conversa mais nova) — antes "nao tem card" na conversa velha.
|
|
693
737
|
sla_check (SO value, codigo fixo: frt_breached/frt_ok/nrt_breached/nrt_ok/rt_breached/rt_ok/has_sla/no_sla;
|
|
694
|
-
frt=primeira resp, nrt=proxima, rt=resolucao; _ok exige politica de SLA aplicada)
|
|
738
|
+
frt=primeira resp, nrt=proxima, rt=resolucao; _ok exige politica de SLA aplicada),
|
|
739
|
+
signature_status (NOVO 2026-09-14 — aba "Contrato" da tela; SO value, codigo fixo:
|
|
740
|
+
person_signed/person_not_signed/all_signed/pending/refused/expired/cancelled; escreva tambem
|
|
741
|
+
field:'_signature_status' e valueType:'signature_status'): RELE o contrato no BANCO na hora de
|
|
742
|
+
avaliar — as variaveis {{contrato.*}} sao RETRATO do disparo, e um fluxo que espera dias
|
|
743
|
+
responderia "nao assinou" pra quem JA assinou. Recorta o contrato que COMECOU o fluxo
|
|
744
|
+
(_trigger_context); sem contrato-gatilho responde FALSO, nunca verdadeiro por omissao. Regra sem
|
|
745
|
+
value cai no padrao person_signed em vez de ser pulada.
|
|
746
|
+
RECEITA DO LEMBRETE: UMA saida com logic:'and' e DUAS regras — person_not_signed + pending — e a
|
|
747
|
+
mensagem na saida cond_0. Sem a segunda regra, contrato cancelado, vencido ou recusado durante a
|
|
748
|
+
espera ainda cobra assinatura (a pessoa segue sem ter assinado, e a pergunta sobre a PESSOA
|
|
749
|
+
sozinha nao sabe que o contrato morreu).
|
|
695
750
|
greater_than/less_than: atributo numero (valor numerico) OU temporais (novo 2026-07-21) —
|
|
696
751
|
date (value ISO YYYY-MM-DD, compara por DIA), time (value "HH:MM", compara minutos-do-dia),
|
|
697
752
|
datetime (value "YYYY-MM-DDTHH:MM", compara HORARIO DE PAREDE — ignora fuso/offset).
|
|
@@ -757,9 +812,22 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
757
812
|
add_card_offer({offer_id, use_custom_value?, custom_value?, funnel_id?, card_source?}) — adiciona
|
|
758
813
|
oferta (produto/servico) ao card; offer_id de offers_list; use_custom_value:true + custom_value
|
|
759
814
|
grava valor personalizado, senao usa o valor cadastrado; total do card recalcula sozinho
|
|
760
|
-
|
|
815
|
+
Agenda (SO flow conversation, e SO em fluxo disparado por AGENDAMENTO):
|
|
816
|
+
set_booking_situation({situation: cancelled|completed|attended|no_show|confirmed}) — NOVO 14/09:
|
|
817
|
+
muda a situacao do agendamento QUE DISPAROU o fluxo (gatilho de agendamento do bloco Inicio ou fluxo
|
|
818
|
+
ligado na configuracao do tipo de agendamento). Disparado por outra coisa: NAO faz efeito e o passo fica
|
|
819
|
+
com ERRO visivel (nao ha como adivinhar o agendamento). Ja no estado pedido = PULADO sem escrita (sem
|
|
820
|
+
evento, sem laco). 'cancelled' cancela o AGENDAMENTO (desarma lembrete, mata o link de gerenciar).
|
|
821
|
+
Origem gravada = 'fluxo', ator = o proprio flow. Sem 'remarcado'/'adiado'/'nao confirmado': o bloco NAO
|
|
822
|
+
mexe em data.
|
|
823
|
+
Sistema (SO flow conversation e flow action): send_webhook({url,headers?,body?}), start_flow({flow_id}
|
|
761
824
|
— flow_id tem que ser de OUTRO flow: apontar pro proprio flow e aceito no save mas IGNORADO
|
|
762
|
-
EM SILENCIO na execucao, e o fluxo para ali [2026-08-18]
|
|
825
|
+
EM SILENCIO na execucao, e o fluxo para ali [2026-08-18].
|
|
826
|
+
CAIXA TEM QUE BATER [17/09/2026]: se o flow-alvo e do tipo conversation e NAO esta ligado a
|
|
827
|
+
caixa da conversa, a execucao e RECUSADA e o passo fica com ERRO no historico
|
|
828
|
+
(inbox_mismatch) — antes rodava no lugar errado em silencio. Flow-alvo do tipo 'action' e
|
|
829
|
+
SEMPRE aceito, de qualquer origem, porque nao pertence a caixa nenhuma.
|
|
830
|
+
Flow de IA (ai_tool) nunca pode ser alvo), deactivate_flow({}),
|
|
763
831
|
send_conversion({destinations:['meta'|'ga4'|'google_ads'], event_names:{meta?,google_ads?,ga4?},
|
|
764
832
|
messaging_event_names:{meta?}, event_name, value?}) — NOVO 01/09, evento POR DESTINO desde 02/09,
|
|
765
833
|
evento de ANUNCIO DE WHATSAPP desde 10/09: manda o evento de conversao pro
|
|
@@ -880,13 +948,13 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
880
948
|
Com pesos iguais os dois dao o mesmo resultado.
|
|
881
949
|
Handles: o id de cada branch (mode branches); "success" (mode distribute_agents).
|
|
882
950
|
|
|
883
|
-
▸ update_group (Gestao de Grupos WhatsApp — UMA operacao por bloco,
|
|
951
|
+
▸ update_group (Gestao de Grupos WhatsApp — UMA operacao por bloco, 18 operacoes)
|
|
884
952
|
Roda em fluxo de QUALQUER canal desde que a conta tenha caixa WhatsApp QR Code (Channel::Waha).
|
|
885
953
|
Em flow de GRUPO o campo de caixa e opcional (vazio = caixa da conversa); em flow NAO-grupo
|
|
886
954
|
data.groupInboxId e OBRIGATORIO (id de inbox Channel::Waha da conta — o save recusa caixa de outro tipo).
|
|
887
955
|
data comum:
|
|
888
|
-
groupOperation: <uma das
|
|
889
|
-
groupTargetId: "<id do grupo>" // vazio = grupo da conversa; aceita '1203..@g.us', so digitos ou {{var}}. Ignorado nas TARGETLESS (create, find_by_name)
|
|
956
|
+
groupOperation: <uma das 18 abaixo> // ausente/vazio = 'legacy' (comportamento antigo — NAO usar em node novo)
|
|
957
|
+
groupTargetId: "<id do grupo>" // vazio = grupo da conversa; aceita '1203..@g.us', so digitos ou {{var}}. Ignorado nas TARGETLESS (create, find_by_name, send_private_message)
|
|
890
958
|
groupInboxId: <id inbox QR Code> // OBRIGATORIO em flow nao-grupo
|
|
891
959
|
groupResponseVar: "grupo" // nome da variavel de resposta (default 'grupo'); leia depois {{grupo.CAMPO}}
|
|
892
960
|
groupInviteOnFailure: false // NOVO 21/08, so create/add_participants — ver CONVITE AUTOMATICO
|
|
@@ -912,7 +980,8 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
912
980
|
send_invite -> groupInviteTo(obrig, telefone), groupInviteMessage(opcional; {{link}} marca onde o link entra, sem o marcador vai no fim) -> id,invite_link,invite_sent_to
|
|
913
981
|
settings -> pelo menos UMA de: infoAdminOnly(bool), messagesAdminOnly(bool), membersCanAddNewMember(bool) -> id,settings_updated,settings_failed,settings_unsupported
|
|
914
982
|
DESDE 20/08 cada permissao e aplicada SOZINHA: settings_updated[] sempre vem; settings_failed[{setting,reason}] = falhou de verdade; settings_unsupported[] = o servidor WAHA nao tem o recurso (ex.: quem-pode-adicionar em servidor antigo). Sucesso SO se aplicou ao menos uma E nenhuma falhou; senao sai por "error" (codigo settings_failed ou settings_unsupported) com o que aplicou visivel na variavel
|
|
915
|
-
send_message -> messageItems (MESMO contrato do node send_message: text/delay/attachment/audio/url_media...; botoes/template nao fazem sentido em grupo) + groupTargetId opcional -> manda os baloes NA CONVERSA DO GRUPO (vazio = grupo da conversa atual; grupo inexistente = "error"). NAO grava {{grupo.*}} (
|
|
983
|
+
send_message -> messageItems (MESMO contrato do node send_message: text/delay/attachment/audio/url_media...; botoes/template nao fazem sentido em grupo) + groupTargetId opcional -> manda os baloes NA CONVERSA DO GRUPO (vazio = grupo da conversa atual; grupo inexistente = "error"). NAO grava {{grupo.*}} (com send_private_message, as unicas sem variavel de resposta). E a 17a operacao (08/08): serve pra "dei ganho no lead -> aviso o grupo da equipe" em fluxo de qualquer canal. Em flow de GRUPO a tela NAO oferece esta (o node send_message comum ja escreve no grupo)
|
|
984
|
+
send_private_message -> groupPrivateTo(obrig, telefone com codigo do pais; aceita {{var}}, ex. {{trigger.participant.phone}}; o motor tira nao-digitos e exige 10 a 15) + messageItems (mesmo contrato do send_message) -> manda os baloes no PRIVADO desse telefone pela caixa do bloco. Pessoa que nunca conversou: CRIA contato (nome provisorio = telefone, trocado pelo nome do WhatsApp quando ela responder) + conversa (initiated_by 'agent') — dispara os ouvintes de conversation_created. NAO grava {{grupo.*}}; sem groupTargetId [TARGETLESS]; sem teto diario (decisao do dono 16/09) [risco de banimento: 1a mensagem de numero QR a desconhecido]. NOVO 16/09, pensado pra flow de GRUPO com gatilho group_participant_joined. LIMITE: o flow de grupo tem UMA sessao ativa por vez na conversa do grupo — quem entrar enquanto os baloes da pessoa anterior saem nao dispara; prefira mensagem de 1 balao
|
|
916
985
|
ATENCAO settings: membersCanAddNewMember tem semantica INVERTIDA (true = TODOS podem adicionar);
|
|
917
986
|
infoAdminOnly/messagesAdminOnly seguem o padrao (true = SO admin).
|
|
918
987
|
CONVITE AUTOMATICO (NOVO 21/08, so create/add_participants): groupInviteOnFailure:true manda
|
|
@@ -924,7 +993,7 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
924
993
|
job reconfere se a pessoa ja entrou. invite_status = 'convite_enviado' (invited = lista) ou
|
|
925
994
|
'sem_mensagem'. EFEITO COLATERAL: cada convite entregue vira contato + conversa NOVOS no painel e
|
|
926
995
|
dispara os ouvintes de conversation_created (automacao, outros flows, webhook do cliente, Kanban).
|
|
927
|
-
Toda operacao (menos send_message) tambem devolve {{grupo.ok}} (bool) e {{grupo.error.message}}.
|
|
996
|
+
Toda operacao (menos send_message e send_private_message) tambem devolve {{grupo.ok}} (bool) e {{grupo.error.message}}.
|
|
928
997
|
Handles: "success", "error" + "partial" em create/add_participants/remove_participants (a operacao
|
|
929
998
|
rodou mas nem todo mundo entrou/saiu — listas not_added/not_removed dizem quem). "partial" sem fio
|
|
930
999
|
segue pelo fio "success" (unica saida com esse fallback no motor).
|
|
@@ -964,6 +1033,8 @@ conversation.id — JA E o numero que aparece no app (o motor devolve o display_
|
|
|
964
1033
|
conversation.display_id e so um APELIDO, aceito desde 29/07, que devolve o mesmo numero — antes
|
|
965
1034
|
disso resolvia VAZIO, e todo link de conversa montado por flow saiu quebrado.
|
|
966
1035
|
conversation.status, conversation.team_id, conversation.custom_attribute.X
|
|
1036
|
+
inbox.id, inbox.name, inbox.channel_type (o TIPO do canal: Channel::Waha, Channel::Whatsapp,
|
|
1037
|
+
Channel::Api...; NOVO 17/09/2026 — usado pela condicao "Tipo de caixa")
|
|
967
1038
|
conversation.label (SINGULAR — etiquetas da conversa em texto separado por virgula).
|
|
968
1039
|
{{conversation.labels}} NAO EXISTE: some do texto sem erro nenhum.
|
|
969
1040
|
agent.* = o RESPONSAVEL da conversa: agent.name, agent.first_name, agent.last_name,
|
|
@@ -1010,7 +1081,8 @@ trigger.* (variaveis do GATILHO que iniciou o flow — no autocomplete de TODO b
|
|
|
1010
1081
|
card_won/card_lost: trigger.kanban.status (won/lost); label_added/label_removed: trigger.label.name;
|
|
1011
1082
|
assignee_changed: trigger.assignee.name (vazio = responsavel removido); team_changed: trigger.team.name;
|
|
1012
1083
|
sla_missed: trigger.sla.policy_name/type (frt/nrt/rt); group_participant_joined/left:
|
|
1013
|
-
trigger.group.name/id.
|
|
1084
|
+
trigger.group.name/id, trigger.participant.phone/name (16/09 — QUEM entrou/saiu, telefone com +;
|
|
1085
|
+
nome so se a pessoa ja e contato; evento com varias pessoas = a 1a). Resolvem mas ficam FORA do seletor (produtor unico): trigger.attribute.name/
|
|
1014
1086
|
current_value, trigger.form.name/milestone, trigger.payment.gateway/event/product/offer/method/status/
|
|
1015
1087
|
amount, trigger.eclinica.event/unit/date/time/compromisso/idagenda, trigger.lead.form/page/ad/adset/
|
|
1016
1088
|
campaign/platform, trigger.dtmf.key/campaign, trigger.reminder.date/time/compromisso/unit/days_before.
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|