@lionchat/mcp-server 1.9.0 → 1.10.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 +12 -2
- package/dist/docs/resources/api-conventions.md +14 -4
- package/dist/docs/resources/best-practices.md +82 -10
- package/dist/docs/resources/conversation-flows.md +73 -12
- package/dist/docs/resources/data-model.md +12 -4
- package/dist/docs/resources/flowbuilder-design-guide.md +45 -12
- package/dist/docs/resources/glossary.md +22 -8
- package/dist/docs/resources/kanban-deep-dive.md +35 -3
- package/dist/docs/resources/reports-guide.md +117 -16
- package/dist/tools.js +32 -8
- package/dist/tools.js.map +1 -1
- package/endpoints.json +216 -118
- package/package.json +1 -1
|
@@ -21,17 +21,45 @@ Quando o usuário disser "o relatório está errado / não bate", quase sempre
|
|
|
21
21
|
CRIADAS no período; resolutions_count = eventos de resolução OCORRIDOS no período (a conversa pode
|
|
22
22
|
ter sido criada antes). Um atendente pode "resolver mais do que recebeu" — correto, não é bug.
|
|
23
23
|
2. **"Resolvidas" conta EVENTOS, não conversas.** Resolver → reabrir → resolver = 2. Pode passar do
|
|
24
|
-
total de conversas.
|
|
24
|
+
total de conversas. **NUNCA divida `resolutions_count` por `conversations_count` para apresentar
|
|
25
|
+
"taxa de resolução".** São universos diferentes (evento ocorrido na janela ÷ conversa nascida na
|
|
26
|
+
janela) e o resultado passa de 100%: medido em 7 dias, 678%, 325%, 207%, 140% em quatro contas
|
|
27
|
+
reais. Esse cartão foi REMOVIDO do produto em 29/07/2026 justamente por isso — o painel hoje
|
|
28
|
+
mostra "Resoluções no período" em contagem. Se o usuário pedir taxa, explique que não existe e
|
|
29
|
+
entregue os dois números separados.
|
|
25
30
|
3. **Recorte por ATENDENTE só enxerga conversas ATRIBUÍDAS.** Conversa sem responsável (auto-atribuição
|
|
26
31
|
desligada, disparo em massa) não aparece em NENHUM atendente — a soma dos atendentes pode ser uma
|
|
27
32
|
fração minúscula do total da conta (caso real: 202 de 4001). Sempre diga quantas estão sem atendente.
|
|
33
|
+
**Desde 29/07/2026 esse balde é visível:** o resumo por agente (`lionchat_reports_list`) devolve
|
|
34
|
+
também uma linha com `id: null` = "Sem atendente", e a planilha de agentes (`lionchat_reports_list_7`,
|
|
35
|
+
CSV) traz a linha **"Sem atendente"** no FIM da lista. Ela **não é um atendente** — nunca inclua no
|
|
36
|
+
ranking nem cruze o `id: null` com `lionchat_agents_list`. Antes disso o balde era descartado do CSV:
|
|
37
|
+
na conta 19 ficavam de fora 4.222 conversas e 580 resoluções.
|
|
28
38
|
4. **A contagem de conversas por atendente usa o responsável ATUAL** — reatribuir conversa antiga move
|
|
29
39
|
o histórico de um atendente pro outro. Já resoluções/tempos usam quem era o dono NA HORA do evento.
|
|
30
40
|
Os dois cards podem divergir legitimamente em conta que reatribui.
|
|
31
41
|
5. **timezone_offset NÃO altera totais** de summary — só o agrupamento dos pontos da série temporal.
|
|
32
42
|
Diferenças de ~1% entre relatório e lista filtrada são borda de janela/fuso, não defeito.
|
|
33
|
-
6. **since/until são unix SEGUNDOS**
|
|
34
|
-
|
|
43
|
+
6. **since/until são unix SEGUNDOS** na família `reports_*`, no CSAT e no SLA. Data por extenso
|
|
44
|
+
(`"2026-07-01"`) é lida como epoch: o `"2026"` vira 01/01/1970 e a janela some. Na conta 19 havia
|
|
45
|
+
4.396 conversas no período e a resposta veio ZERO, com HTTP 200.
|
|
46
|
+
**Desde 29/07/2026 a maioria dos relatórios RECUSA o formato errado** com HTTP **400** e a mensagem
|
|
47
|
+
"since e until devem ser timestamp Unix em segundos (ex.: 1751328000), não data por extenso".
|
|
48
|
+
Se receber esse 400, converta a data e repita — não é permissão, não é instabilidade, não é plano.
|
|
49
|
+
- **Recusa com 400 (erro visível):** `reports_summary`, `reports_list` (agente), `_1` (time),
|
|
50
|
+
`_2` (caixa), `_3` (etiqueta), `_4` (canal), `_5` (série temporal), `_6` (bot), `_7`–`_10`
|
|
51
|
+
(CSVs), `_11` (lista de conversas), `_12`, `_13` (tráfego), `_14` (bot detalhado) — mais as
|
|
52
|
+
rotas de matriz caixa×etiqueta, distribuição de primeira resposta e contagem de mensagens
|
|
53
|
+
enviadas. A guarda é um `before_action` sem restrição de ação nos dois controladores, então
|
|
54
|
+
vale para toda a família. Nos CSVs (`_7`–`_10` e `_12`) as DUAS pontas são obrigatórias, em
|
|
55
|
+
segundos — faltando uma, também é 400.
|
|
56
|
+
- **AINDA quebra em SILÊNCIO (HTTP 200 com número errado):** `csat_metrics`, `csat_list`,
|
|
57
|
+
`csat_download`, `sla_metrics`, `sla_list`, `sla_download`. Nesses seis, confira você mesmo
|
|
58
|
+
que está mandando segundos — não existe erro para te avisar.
|
|
59
|
+
- **Funil de jornada e Origem dos Leads usam OUTRO formato:** ali o período é **ISO 8601**
|
|
60
|
+
(`2026-07-01T00:00:00-03:00`), não Unix. Também não têm guarda: mandar segundos ali é o erro
|
|
61
|
+
equivalente, e volta o padrão (30 dias) rotulado como o período pedido.
|
|
62
|
+
- Tempo real (`_16`/`_17`) fica de fora da conversa: não aceita período nenhum.
|
|
35
63
|
7. **Mande SEMPRE as DUAS pontas do período.** Mandar só `since` (ou só `until`) fazia o filtro de
|
|
36
64
|
data ser ignorado por inteiro, em silêncio: vinham os números da vida toda rotulados como do
|
|
37
65
|
período pedido. Corrigido em 2026-07-25 (meia janela virou período aberto de um lado), mas a
|
|
@@ -45,7 +73,7 @@ Quando o usuário disser "o relatório está errado / não bate", quase sempre
|
|
|
45
73
|
conta, inclusive conversa de caixa apagada, e não checa permissão; o `meta` exclui caixa apagada,
|
|
46
74
|
exige contato vivo e respeita as caixas que o usuário enxerga. Podem divergir com razão.
|
|
47
75
|
|
|
48
|
-
###
|
|
76
|
+
### Números que estavam ERRADOS — corrigidos nas atualizações de 26/07 e 29/07/2026
|
|
49
77
|
|
|
50
78
|
Achados numa validação de cada resposta contra o banco de produção. **A correção é do sistema, não
|
|
51
79
|
do conector: se a instalação do cliente ainda não recebeu essa atualização, o comportamento ANTIGO
|
|
@@ -60,6 +88,8 @@ um número errado com confiança.
|
|
|
60
88
|
| Receita/ganhos do KANBAN | Venda fechada no período de card criado ANTES dele não contava (numa conta: metade dos ganhos e R$ 3.750 fora) | Conta tudo |
|
|
61
89
|
| "Pendentes" do relatório ao vivo | **Sempre 0**, por condição impossível | Número real |
|
|
62
90
|
| Cumprimento de prazo (SLA) | "100%" para conta com ZERO prazo aplicado — escondia "o SLA não está rodando" | Vazio = sem dados |
|
|
91
|
+
| Por CANAL — conversa de caixa EXCLUÍDA (29/07) | Sumia do relatório: excluir a caixa deixa a conversa sem caixa, e o join descartava essas linhas em silêncio. 512 conversas órfãs de 10 contas em 30 dias; a **conta 60 perdia 76%** do total, a 40 perdia 38%, a 38 perdia 24% | Entram sob a chave **`Channel::None`** ("Caixa excluída"). Some essa chave também — se ignorar, você subconta de novo |
|
|
92
|
+
| Horário de PICO do mapa de calor (29/07) | Dias e horas saíam em **UTC** mesmo mandando `timezone_offset`: no Brasil, o pico aparecia **3 horas adiantado** (o movimento das 11:00 de Brasília era rotulado como 14:00). O cabeçalho do CSV escrevia "(GMT-03:00) Brasília", o que dava aparência de certo | Balde de dia/hora sai do fuso pedido |
|
|
63
93
|
|
|
64
94
|
**Como reconhecer instalação antiga:** soma dos canais menor que o total do resumo; tempo médio por
|
|
65
95
|
etiqueta absurdamente baixo perto do tempo por atendente; "pendentes" zerado no ao vivo tendo
|
|
@@ -135,14 +165,24 @@ conversa pendente na lista; "100%" de prazo com nenhum prazo aplicado.
|
|
|
135
165
|
"conversations_count": 142,
|
|
136
166
|
"incoming_messages_count": 1250,
|
|
137
167
|
"outgoing_messages_count": 980,
|
|
138
|
-
"avg_first_response_time": 245, // segundos
|
|
139
|
-
"avg_resolution_time": 7200, // segundos
|
|
168
|
+
"avg_first_response_time": 245, // segundos — MÉDIA
|
|
169
|
+
"avg_resolution_time": 7200, // segundos — MÉDIA
|
|
170
|
+
"median_first_response_time": 180, // segundos — MEDIANA (novo em 29/07/2026)
|
|
171
|
+
"median_resolution_time": 5400, // segundos — MEDIANA (novo em 29/07/2026)
|
|
140
172
|
"resolutions_count": 98,
|
|
141
173
|
"reply_time": 320, // segundos
|
|
142
174
|
"previous": { ...mesma estrutura para comparativo... }
|
|
143
175
|
}
|
|
144
176
|
```
|
|
145
177
|
|
|
178
|
+
> ⚠️ **Use a MEDIANA para os dois tempos — é o que o painel mostra.** A média é distorcida pela IDADE
|
|
179
|
+
> da conversa: responder hoje uma conversa de 40 dias entra no cálculo com 40 dias. Medido na conta 38
|
|
180
|
+
> em 28-29/07: 78 eventos de primeira resposta deram média de **164,6 horas** contra mediana de
|
|
181
|
+
> **1,1 hora**. Se você reportar a média, o usuário compara com a tela e diz que o relatório está errado.
|
|
182
|
+
> As duas vêm no mesmo payload; a média continua publicada e não foi removida.
|
|
183
|
+
> **Só o resumo geral tem mediana.** Os resumos por agente/time/caixa/etiqueta/canal e a série temporal
|
|
184
|
+
> (`_5`) devolvem SOMENTE média — ali, reporte com a ressalva de outlier.
|
|
185
|
+
|
|
146
186
|
**Parâmetros principais:**
|
|
147
187
|
- `type`: `account` (padrão), `agent`, `inbox`, `label`, `team`
|
|
148
188
|
- `since` / `until`: Unix timestamp (segundos) — período
|
|
@@ -152,7 +192,8 @@ conversa pendente na lista; "100%" de prazo com nenhum prazo aplicado.
|
|
|
152
192
|
### `lionchat_reports_list` — Por agente
|
|
153
193
|
**Use quando:** "produtividade por atendente", "ranking de agentes"
|
|
154
194
|
|
|
155
|
-
Retorna array de métricas, **uma por usuário da conta
|
|
195
|
+
Retorna array de métricas, **uma por usuário da conta** — mais, desde 29/07/2026, **uma linha extra
|
|
196
|
+
com `id: null`** quando existem conversas sem responsável no período. Campos confirmados (e SÓ esses):
|
|
156
197
|
```json
|
|
157
198
|
{
|
|
158
199
|
"id": 6,
|
|
@@ -166,6 +207,8 @@ Retorna array de métricas, **uma por usuário da conta**. Campos confirmados (e
|
|
|
166
207
|
|
|
167
208
|
> ⚠️ **Não existe `name`, `csat_score_average` nem `online_at_total` neste retorno.**
|
|
168
209
|
> - O campo é só `id` (id do agente). Para o nome, cruze com `lionchat_agents_list`.
|
|
210
|
+
> - **`id: null` NÃO é um agente** — é o balde "Sem atendente". Não cruze com `agents_list` (não vai
|
|
211
|
+
> achar), não coloque no ranking, e cite o número dele separado ao apresentar o total.
|
|
169
212
|
> - **CSAT por agente:** use `lionchat_csat_list` com filtro `user_ids=<id>` e calcule a média.
|
|
170
213
|
> - **Tempo online / status:** use `lionchat_agent_availability` ou os live_reports (`_16`/`_17`).
|
|
171
214
|
|
|
@@ -205,12 +248,32 @@ Retorna SOMENTE estes dois campos (não existe taxa pronta):
|
|
|
205
248
|
|
|
206
249
|
Heatmap de volume por hora. Aceita SÓ `timezone_offset` (sem ele o pico sai em UTC). ATENÇÃO: janela FIXA a partir de hoje — NÃO aceita `since`/`until`.
|
|
207
250
|
|
|
251
|
+
> ⚠️ **Instalação anterior a 29/07/2026: o pico sai em UTC MESMO mandando `timezone_offset`.** O fuso
|
|
252
|
+
> era resolvido por nome (`"-3"` não é nome de zona), caía em UTC e o horário vinha **3 horas adiantado**
|
|
253
|
+
> no Brasil — o movimento das 11:00 aparecia como 14:00. O cabeçalho do CSV mostrava "(GMT-03:00)
|
|
254
|
+
> Brasília" mesmo assim, então o erro não se anunciava. Como reconhecer: pico deslocado exatamente 3h
|
|
255
|
+
> para frente do que o cliente sabe da operação dele. Corrigido — hoje o balde de dia/hora usa o fuso
|
|
256
|
+
> pedido.
|
|
257
|
+
|
|
208
258
|
### `lionchat_reports_list_16` / `_17` — Tempo real (live)
|
|
209
259
|
**Use quando:** "quem tá online agora", "carga atual", "conversas abertas no momento"
|
|
210
260
|
|
|
211
261
|
São os live_reports (`conversation_metrics` e a versão agrupada). Use estes — e não os resumos
|
|
212
262
|
históricos — quando o usuário quiser o agora.
|
|
213
263
|
|
|
264
|
+
`_16` retorna (campo `snoozed` novo em 29/07/2026):
|
|
265
|
+
```json
|
|
266
|
+
{ "open": 105, "unattended": 12, "unassigned": 4, "pending": 3777, "snoozed": 1 }
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
> ⚠️ **A FILA REAL é `open + pending + snoozed`.** Só `open` esconde quem está esperando: na conta 19
|
|
270
|
+
> davam 105 abertas havendo **3.883 conversas sem resolução** (3.777 pendentes + 1 adiada) — o gestor
|
|
271
|
+
> lê que está tranquilo com a fila cheia. Ao responder "quantas estão esperando agora?", some os três
|
|
272
|
+
> e diga a quebra. `unattended` e `unassigned` são recortes de `open`, **não some com os outros**.
|
|
273
|
+
>
|
|
274
|
+
> `_17` (agrupado por time/atendente) NÃO tem `snoozed` nem `pending` — só `open`, `unattended` e
|
|
275
|
+
> `unassigned`. Para a fila real por atendente não há campo pronto; avise em vez de somar o que não veio.
|
|
276
|
+
|
|
214
277
|
**Filtros aceitos (expostos na tool desde 2026-07-24):** `inbox_id`, `assignee_id` e `team_id`,
|
|
215
278
|
todos opcionais e combináveis — é o mesmo recorte da tela Visão Geral. Em `_17` o `group_by`
|
|
216
279
|
(`team_id` ou `assignee_id`) continua obrigatório e os filtros recortam a base ANTES de agrupar.
|
|
@@ -218,7 +281,7 @@ todos opcionais e combináveis — é o mesmo recorte da tela Visão Geral. Em `
|
|
|
218
281
|
### `lionchat_csat_metrics` — CSAT agregado
|
|
219
282
|
**Use quando:** "satisfação", "nota média dos clientes", "CSAT"
|
|
220
283
|
|
|
221
|
-
Retorna SOMENTE estes campos (nem média, nem taxa de resposta vêm prontas):
|
|
284
|
+
Retorna SOMENTE estes campos (nem satisfação, nem média, nem taxa de resposta vêm prontas):
|
|
222
285
|
```json
|
|
223
286
|
{
|
|
224
287
|
"total_count": 80, // total de respostas respondidas
|
|
@@ -226,9 +289,21 @@ Retorna SOMENTE estes campos (nem média, nem taxa de resposta vêm prontas):
|
|
|
226
289
|
"total_sent_messages_count": 210 // pesquisas CSAT enviadas no período
|
|
227
290
|
}
|
|
228
291
|
```
|
|
292
|
+
> ⚠️ **"Satisfação (CSAT)" no LionChat é o PERCENTUAL de notas 4 e 5 — não é a nota média.**
|
|
293
|
+
> Sempre foi assim (`store/modules/csat.js`, cartão da tela e cálculo do painel).
|
|
294
|
+
>
|
|
295
|
+
> **Satisfação** = `(ratings_count[4] + ratings_count[5]) / total_count`.
|
|
296
|
+
> No exemplo: (18 + 50) / 80 = **85%**.
|
|
297
|
+
>
|
|
229
298
|
> **Nota média** = `Σ(nota × ratings_count[nota]) / total_count`.
|
|
230
299
|
> No exemplo: (5×50 + 4×18 + 3×8 + 2×2 + 1×2) / 80 = 352/80 = **4,4**.
|
|
231
300
|
>
|
|
301
|
+
> Os dois números são legítimos, mas **têm nomes diferentes e não podem ser trocados**: 85% e 4,4
|
|
302
|
+
> descrevem a mesma conta. Se o usuário pediu "satisfação"/"CSAT", entregue o percentual e diga
|
|
303
|
+
> "percentual de notas 4 e 5". Se você apresentar a média, rotule **"nota média"** — nunca
|
|
304
|
+
> "satisfação", nunca "CSAT de 4,4". Apresentar a média como satisfação faz o número não bater com o
|
|
305
|
+
> painel e o usuário conclui que o relatório está quebrado.
|
|
306
|
+
>
|
|
232
307
|
> **Taxa de resposta** = `total_count / total_sent_messages_count`.
|
|
233
308
|
> No exemplo: 80/210 = **38%**.
|
|
234
309
|
|
|
@@ -270,15 +345,34 @@ Semana anterior: 120 conversas
|
|
|
270
345
|
|
|
271
346
|
### Business hours
|
|
272
347
|
- Sem `business_hours: true`: tempos médios incluem madrugada/feriado (puxa pra cima)
|
|
273
|
-
- Com `business_hours: true`:
|
|
274
|
-
|
|
275
|
-
|
|
348
|
+
- Com `business_hours: true`: conta SÓ o tempo dentro do expediente **das caixas que têm expediente
|
|
349
|
+
configurado** (`working_hours_enabled`)
|
|
350
|
+
|
|
351
|
+
> ⚠️ **NÃO ligue `business_hours: true` por padrão.** O tempo em horário comercial só é gravado para
|
|
352
|
+
> caixa com expediente configurado — e a maioria das contas não configura nenhuma (medido em produção:
|
|
353
|
+
> **nenhuma das 105 caixas** tinha expediente ligado). Três estados possíveis, e você precisa saber
|
|
354
|
+
> reconhecer qual está vendo:
|
|
355
|
+
> 1. **Registros antigos (anteriores a 29/07/2026):** foram gravados com **0** quando não havia
|
|
356
|
+
> expediente. Ligar o filtro devolve "tempo médio de primeira resposta: 0 segundos" — número
|
|
357
|
+
> FABRICADO, lido como atendimento instantâneo. Esse histórico não foi migrado, então continua
|
|
358
|
+
> puxando a média para baixo mesmo hoje.
|
|
359
|
+
> 2. **Registros novos, sem expediente configurado:** vêm vazios/nulos e o cálculo os ignora. O
|
|
360
|
+
> relatório volta **sem dado** (traço), que é honesto — não é bug, não é falta de conversa.
|
|
361
|
+
> 3. **Janela que atravessa 29/07/2026:** mistura os dois. Número não confiável — não use.
|
|
362
|
+
>
|
|
363
|
+
> **Regra prática:** só use `business_hours: true` se o usuário confirmar que as caixas dele têm
|
|
364
|
+
> horário de atendimento configurado. Recebeu 0 ou vazio com o filtro ligado? Refaça SEM o filtro e
|
|
365
|
+
> explique o motivo, em vez de reportar "0 segundos" ou "sem atendimento no período".
|
|
276
366
|
|
|
277
367
|
### CSAT
|
|
278
368
|
- Score: 1-5 estrelas
|
|
279
|
-
-
|
|
280
|
-
|
|
281
|
-
|
|
369
|
+
- **"Satisfação"/"CSAT" da plataforma = percentual de notas 4 e 5** (`(4+5) / total`), NÃO a média.
|
|
370
|
+
Não há faixa de referência oficial no produto para esse percentual — para dar contexto, compare com
|
|
371
|
+
o período anterior da própria conta
|
|
372
|
+
- A **nota média** é outro número: 4.0+ é bom, 3.5-4.0 é OK, abaixo de 3.5 é alerta. Se apresentar,
|
|
373
|
+
rotule "nota média" — nunca "satisfação"
|
|
374
|
+
- Satisfação, média e taxa de resposta NÃO vêm prontas — calcule a partir de `ratings_count`,
|
|
375
|
+
`total_count` e `total_sent_messages_count` (fórmulas na seção do `lionchat_csat_metrics`)
|
|
282
376
|
- Taxa de resposta = `total_count / total_sent_messages_count` (baixa = pouco feedback)
|
|
283
377
|
|
|
284
378
|
### SLA (Enterprise-only)
|
|
@@ -328,9 +422,16 @@ reports_list_5 com group_by=month, metric=conversations_count, since=12 meses at
|
|
|
328
422
|
- Para **status/tempo online**: `lionchat_agent_availability` ou live_reports (`_16`/`_17`).
|
|
329
423
|
- Para o **nome** do agente: cruze o `id` com `lionchat_agents_list`.
|
|
330
424
|
|
|
331
|
-
### ⚠️ Avg time pode ser enganador
|
|
425
|
+
### ⚠️ Avg time pode ser enganador — e há mediana no resumo geral
|
|
332
426
|
Mediana é mais representativa que média (1 conversa que durou 5 dias puxa tudo).
|
|
333
|
-
|
|
427
|
+
|
|
428
|
+
**Desde 29/07/2026 o `lionchat_reports_summary` devolve `median_first_response_time` e
|
|
429
|
+
`median_resolution_time`** (segundos), ao lado das médias. **É a mediana que o painel mostra nos dois
|
|
430
|
+
cartões de tempo** — use ela. Conta 38, 28-29/07: média de 164,6 horas contra mediana de 1,1 hora,
|
|
431
|
+
porque 6 conversas antigas respondidas no dia entram com a idade inteira.
|
|
432
|
+
|
|
433
|
+
Nos demais (por agente/time/caixa/etiqueta/canal e série temporal `_5`) **só há média** — aí sim
|
|
434
|
+
reporte com ressalva: "Tempo MÉDIO de X — pode ter outliers."
|
|
334
435
|
|
|
335
436
|
### ⚠️ Reports não pegam conversas em tempo real
|
|
336
437
|
A maioria dos endpoints é eventually consistent (cache 5min). Pra info real-time use `conversations_meta`.
|
package/dist/tools.js
CHANGED
|
@@ -307,7 +307,7 @@ function registerListCategoriesTool(server, allEndpoints) {
|
|
|
307
307
|
// Helps LLMs build correct flow_data without hitting trial-and-error on
|
|
308
308
|
// node types, action keys, source handles, etc.
|
|
309
309
|
function registerFlowsSchemaReferenceTool(server) {
|
|
310
|
-
const reference = `LIONCHAT FLOW BUILDER — SCHEMA REFERENCE (atualizado 2026-07-
|
|
310
|
+
const reference = `LIONCHAT FLOW BUILDER — SCHEMA REFERENCE (atualizado 2026-07-30)
|
|
311
311
|
|
|
312
312
|
flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
313
313
|
|
|
@@ -571,12 +571,24 @@ flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
|
571
571
|
+ waitDateMode/waitTimeMode ("fixed"|"variable"). Em "variable" o campo contem {{contact.custom_attribute.X}}
|
|
572
572
|
(Data SO aceita atributo tipo date; Horario SO tipo time). Resolve UMA vez na entrada do node.
|
|
573
573
|
Variavel invalida -> saida "error" (invalid_variable_datetime). Data no passado -> segue por "success".
|
|
574
|
-
weekday: waitWeekday (0=dom..6=sab) + waitWeekdayTime ("HH:MM"
|
|
574
|
+
weekday: waitWeekday (0=dom..6=sab) + waitWeekdayTime ("HH:MM" 24h) + waitWeekdayTimeMode
|
|
575
|
+
("fixed" default | "variable") + waitTimezone. O Horario ACEITA VARIAVEL desde 29/07
|
|
576
|
+
(antes era sempre fixo por decisao de produto — o dono reverteu). Mesmo contrato do modo
|
|
577
|
+
date: em "variable" o waitWeekdayTime contem {{...}} (atributo tipo time), resolve UMA vez
|
|
578
|
+
na entrada do node, aceita "14:30"/"9:30"/"14h30", variavel invalida -> saida "error".
|
|
579
|
+
waitWeekdayTimeMode e OBRIGATORIO ao usar variavel: sem ele (ou em "fixed") o motor trata o
|
|
580
|
+
campo como TEXTO FIXO e o calculo recebe a chave literal {{...}} — como o MCP grava o JSON
|
|
581
|
+
do flow direto, sem passar pela tela, nada preenche esse campo por voce.
|
|
575
582
|
(NAO existem waitUnit:"weekday", targetWeekday nem targetHour — erro de doc antiga)
|
|
576
|
-
Handles: "success" (+ "error"
|
|
583
|
+
Handles: "success" (+ "error" quando a variavel de data/hora nao resolve — vale nos DOIS modos
|
|
584
|
+
com variavel, date e weekday, erro invalid_variable_datetime; no modo fixo nunca ha "error")
|
|
577
585
|
|
|
578
586
|
▸ randomizer
|
|
579
|
-
data: { label, mode:"branches", branches:[{id,label,
|
|
587
|
+
data: { label, mode:"branches", branches:[{id,label,percent}] }
|
|
588
|
+
O campo e "percent", NAO "weight" (30/07): a tela sempre gravou percent e o motor lia so weight —
|
|
589
|
+
todo node configurado pela tela quebrava. Hoje o motor le percent e aceita weight so como dado
|
|
590
|
+
antigo. Escreva SEMPRE percent: com weight o node roda, mas abre com as porcentagens EM BRANCO
|
|
591
|
+
na tela do cliente.
|
|
580
592
|
mode "distribute_agents" (SORTEIO ponderado): data.agents:[{agent_id, percent}] (percentuais somando
|
|
581
593
|
100) — sorteia 1 agente por probabilidade e atribui; handle unico "success". E SORTEIO, nao rodizio
|
|
582
594
|
(pode cair no mesmo agente varias vezes seguidas). Pra RODIZIO exato use a ACAO distribute_agents.
|
|
@@ -615,15 +627,27 @@ condicao bater, o lead sai do flow NA HORA. Cada item tem "type":
|
|
|
615
627
|
contact.name, contact.email, contact.phone, contact.custom_attribute.X (SINGULAR — plural resolve vazio)
|
|
616
628
|
CADASTRAL forma curta (canonica): contact.cpf, contact.cnpj, contact.rg, contact.address.street,
|
|
617
629
|
contact.address.number, ... (NAO e custom_attribute!)
|
|
618
|
-
conversation.id
|
|
619
|
-
link de conversa
|
|
620
|
-
conversation.
|
|
621
|
-
|
|
630
|
+
conversation.id — JA E o numero que aparece no app (o motor devolve o display_id). Use ESTE pra
|
|
631
|
+
montar link de conversa. NAO existe um "id interno do banco" separado nas variaveis.
|
|
632
|
+
conversation.display_id e so um APELIDO, aceito desde 29/07, que devolve o mesmo numero — antes
|
|
633
|
+
disso resolvia VAZIO, e todo link de conversa montado por flow saiu quebrado.
|
|
634
|
+
conversation.status, conversation.team_id, conversation.custom_attribute.X
|
|
635
|
+
conversation.label (SINGULAR — etiquetas da conversa em texto separado por virgula).
|
|
636
|
+
{{conversation.labels}} NAO EXISTE: some do texto sem erro nenhum.
|
|
637
|
+
agent.* = o RESPONSAVEL da conversa: agent.name, agent.first_name, agent.last_name,
|
|
638
|
+
agent.id (USE ESTE pro id do responsavel — conversation.agent_id resolvia VAZIO ate 29/07, quando
|
|
639
|
+
virou apelido de agent.id; escreva a forma canonica), agent.email (email NOVO 23/07)
|
|
622
640
|
inbox.id, inbox.name (antes resolviam vazio fora do Enviar Mensagem — corrigido 23/07)
|
|
623
641
|
account.name, account.id (id NOVO 23/07), account.custom_attribute.X (inclui variaveis de conta e
|
|
624
642
|
segredos — NAO existe env.X), {{var_criada_no_set_variable}}, {{ai_intent}}, {{api_response_var}}
|
|
625
643
|
DESDE 23/07 essas variaveis padrao funcionam em TODOS os nodes (Chamada API, Condicoes, IA, Definir
|
|
626
644
|
Variavel) — antes so no Enviar Mensagem. Campo vazio resolve pra string vazia (nunca trava o flow).
|
|
645
|
+
REGRA-MAE: variavel FORA da lista acima SOME do texto, sem erro em lugar nenhum — nao quebra o save,
|
|
646
|
+
nao quebra a execucao, nao aparece no historico do node. So o buraco no texto denuncia. Por isso
|
|
647
|
+
escreva exatamente as chaves desta lista e nunca invente plural/sinonimo. Em caixa WhatsApp
|
|
648
|
+
OFICIAL o preco e maior: parametro de template que chega vazio faz a META RECUSAR o envio
|
|
649
|
+
(#132000) e o cliente NAO RECEBE NADA — foi assim que um aviso de medicacao deixou de ser
|
|
650
|
+
entregue (conta 56, 29/07, {{conversation.assignee.name}} resolvendo vazio).
|
|
627
651
|
|
|
628
652
|
═══ ANTI-LOOP ═══
|
|
629
653
|
Cadeias automacao<->flow tem profundidade maxima 5 hand-offs (MAX_CHAIN_DEPTH). No 5o a cadeia e
|
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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"}
|