@lionchat/mcp-server 1.29.0 → 1.30.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 -2
- package/dist/docs/resources/data-model.md +17 -0
- package/dist/docs/resources/filtros-e-relatorios.md +8 -6
- package/dist/docs/resources/flowbuilder-design-guide.md +15 -0
- package/dist/docs/resources/flowbuilder-patterns.md +17 -0
- package/dist/docs/resources/reports-guide.md +21 -5
- package/dist/docs/resources/troubleshooting.md +62 -0
- package/dist/tools.js +31 -18
- package/dist/tools.js.map +1 -1
- package/endpoints.json +193 -60
- package/package.json +1 -1
|
@@ -188,7 +188,7 @@ Muitos campos objeto/lista são **trocados inteiros** no update: o que não vier
|
|
|
188
188
|
|
|
189
189
|
| TROCA inteira (leia e reenvie tudo) | SOMA (só as chaves enviadas mudam) |
|
|
190
190
|
|---|---|
|
|
191
|
-
| `custom_attributes` da CONVERSA (`conversations_create_3` —
|
|
191
|
+
| `custom_attributes` da CONVERSA (`conversations_create_3` — troca os atributos DO CLIENTE; desde 06/10/2026 o dado do sistema fica FORA dessa troca: não é apagado e também não é gravado por aqui — ctwa/origin/UTM oficiais/cliques do Google/waha/captain e qualquer atributo marcado como do sistema. Atributo próprio do cliente segue normal, mesmo com nome parecido, ex.: `utm_loja_fisica`) | `custom_attributes` do CONTATO (`contacts_update`) |
|
|
192
192
|
| card: cada chave de `item_details` (a lista `custom_attributes` do card, `offers`, `notes`), `assigned_agents`, coluna `custom_attributes` | `item_details` do card no 1º nível (chave não enviada fica) |
|
|
193
193
|
| `funnel.settings`, `funnel.stages` (etapa ausente = removida), `kanban_config.global_custom_attributes` | `channel.additional_attributes` da caixa WhatsApp/Instagram/Facebook/TikTok |
|
|
194
194
|
| `flow_data` do fluxo, `actions` de macro/automação, `query` de filtro salvo, `audience` de campanha | `roles_layout` do modelo de contrato |
|
|
@@ -292,7 +292,7 @@ POST /api/v1/accounts/{account_id}/kanban_items
|
|
|
292
292
|
2. lionchat_reports_list (por agente — passa since/until em Unix EM SEGUNDOS)
|
|
293
293
|
3. Comparar avg_first_response_time entre agentes
|
|
294
294
|
```
|
|
295
|
-
**`since`/`until` dos relatórios
|
|
295
|
+
**`since`/`until` dos relatórios: prefira número Unix em SEGUNDOS** (desde 05/10/2026 também aceitam `aaaa-mm-dd` = dia inteiro no fuso da conta, ISO 8601 com fuso e milissegundos) (`1782864000` = 01/07/2026 00:00
|
|
296
296
|
UTC), nunca ISO 8601 nem data por extenso — o formato ISO do resto da plataforma (seção 3) NÃO vale
|
|
297
297
|
aqui. Desde 29/07/2026 a API recusa com HTTP 400 (`invalid_date_params`); antes disso o relatório
|
|
298
298
|
voltava ZERADO com HTTP 200 (a conta 19 tinha 4.396 conversas no período e a resposta vinha zero).
|
|
@@ -627,6 +627,14 @@ Atributos de sistema no CONTATO (prefixo `eclinica_`, protegidos, usáveis como
|
|
|
627
627
|
| `eclinica_ultima_cobranca_vencimento` | date | Vencimento da última cobrança |
|
|
628
628
|
| `eclinica_ultima_cobranca_descricao` | text | Descrição da última cobrança |
|
|
629
629
|
|
|
630
|
+
**O cadastro do paciente pode mudar de contato (07/10/2026).** Todos os atributos `eclinica_*` desta
|
|
631
|
+
tabela (e `endereco_unidade` / `unidade_de_atendimento`) acompanham o paciente: quando a clínica troca o
|
|
632
|
+
celular para um número que já é de OUTRO contato da conta, eles saem do contato antigo e passam para o
|
|
633
|
+
contato do número novo, junto com os lembretes pendentes. O contato antigo fica com
|
|
634
|
+
`additional_attributes.eclinica_vinculo_cedido` (para onde foi) e o novo pode ter
|
|
635
|
+
`additional_attributes.eclinica_vinculo_recebido` (de onde veio) — chaves do sistema, só leitura. Ver o
|
|
636
|
+
`troubleshooting` ("A clínica trocou o celular do paciente...").
|
|
637
|
+
|
|
630
638
|
**Regras de atualização que enganam na leitura (2026-08-20/21):**
|
|
631
639
|
|
|
632
640
|
- `eclinica_situacao` e `eclinica_cor` são **esparsas**: evento de agenda que vem SEM o campo
|
|
@@ -807,6 +815,15 @@ ContactDocument (aba Documentos do contato, 2026-06-11)
|
|
|
807
815
|
└── ações: preview, download, renomear, favoritar, excluir (conversas são só-leitura)
|
|
808
816
|
```
|
|
809
817
|
|
|
818
|
+
**Paginação opcional da aba Documentos (2026-10-06):** `lionchat_contacts_documents_list` e
|
|
819
|
+
`lionchat_companies_documents_list` aceitam `page` (50 por página, `per_page` até 100) e, junto com ele, os filtros
|
|
820
|
+
`source` (contact/kanban/conversation/agenda/lead_form/esignature), `type` (images/pdf/sheets/docs/other), `favorite`
|
|
821
|
+
e `q` (nome); a empresa aceita também `owner_id` (dono do arquivo). Com `page` a resposta é `{payload, meta: {total,
|
|
822
|
+
page, per_page, total_pages, contacts, truncated}}`, o `total` já vem filtrado e uma página que não existe mais vira
|
|
823
|
+
a última. **Sem `page` nada mudou: a lista inteira, como sempre.** Para quem tem muitos arquivos prefira paginar —
|
|
824
|
+
só os itens da página trazem os links assinados (`open_url`/`download_url`/`preview_url`), então a resposta é bem
|
|
825
|
+
menor (medido: 255 arquivos, 304 KB -> 59 KB por página).
|
|
826
|
+
|
|
810
827
|
**Histórico de preenchimentos por CONTATO (2026-08-21 — entra com o próximo deploy do app depois
|
|
811
828
|
de 21/08/2026):** `GET /contacts/{id}/form_entries` (aba "Preenchimentos" da ficha; tools
|
|
812
829
|
`lionchat_contacts_form_entries_list` / `_show`) junta, em ordem de data, o que a pessoa preencheu
|
|
@@ -245,10 +245,11 @@ payload=[
|
|
|
245
245
|
**R3 — Ganhos do mês por agente/time:**
|
|
246
246
|
`kanban_items_list_3 funnel_id=37 from=2026-07-01 to=2026-07-31 user_ids=[6,12]` (ou `team_id=3`)
|
|
247
247
|
|
|
248
|
-
> ⚠️ **`from`/`to` deste relatório
|
|
249
|
-
> só é aceita a partir da atualização de 26/07/2026; antes dela o
|
|
250
|
-
> sem erro nenhum** (vira 1970 por dentro).
|
|
251
|
-
>
|
|
248
|
+
> ⚠️ **`from`/`to` deste relatório:** timestamp UNIX funciona em QUALQUER versão e é o mais seguro.
|
|
249
|
+
> Data por extenso (`2026-07-01`) só é aceita a partir da atualização de 26/07/2026; antes dela o
|
|
250
|
+
> relatório volta **inteiro zerado, sem erro nenhum** (vira 1970 por dentro). Desde 05/10/2026 a data
|
|
251
|
+
> pura cobre o **dia inteiro no fuso da CONTA** (00:00:00 até 23:59:59) e ISO 8601 também é aceito
|
|
252
|
+
> (sem offset vale a hora da conta). Se vier tudo zero e o funil tem cards, repita com timestamp.
|
|
252
253
|
|
|
253
254
|
**R4 — Conversas de uma campanha que FALHARAM/entregaram:** filtre por
|
|
254
255
|
`campaign_id equal_to <id>`; o status da MENSAGEM de template (sent/delivered/read/failed) está
|
|
@@ -307,11 +308,12 @@ custom_dashboards_preview_widget
|
|
|
307
308
|
columns=[
|
|
308
309
|
{"metric":"leads"}, {"metric":"atendidos"},
|
|
309
310
|
{"metric":"primeira_resposta"}, {"metric":"tempo_resposta"},
|
|
310
|
-
{"metric":"ligacoes_feitas"}, {"metric":"
|
|
311
|
+
{"metric":"ligacoes_feitas"}, {"metric":"ligacoes_recebidas"},
|
|
312
|
+
{"metric":"tempo_falado"}, {"metric":"taxa_ligacao"}
|
|
311
313
|
]
|
|
312
314
|
```
|
|
313
315
|
> ⚠️ `primeira_resposta`/`tempo_resposta` vêm em **segundos**, contados só no horário comercial da conta.
|
|
314
|
-
> `taxa_ligacao` = ligações feitas ÷ leads (ou `"denominator":"atendidos"`). Essas
|
|
316
|
+
> `taxa_ligacao` = ligações feitas ÷ leads (ou `"denominator":"atendidos"`). Essas colunas só valem com
|
|
315
317
|
> `dimension: agent` — em tabela por equipe/caixa o salvamento volta 422 com o motivo.
|
|
316
318
|
|
|
317
319
|
**R9 — Salvar isso como relatório na tela do cliente:** teste com o R8, mostre o número, confirme
|
|
@@ -99,6 +99,21 @@ Todo node tem essa estrutura base:
|
|
|
99
99
|
Regras: `attr_key` é **obrigatório**. `trigger_uuid` é preenchido pelo backend no save (NÃO envie; se enviar é preservado). 29/02 em ano não-bissexto colapsa p/ 28/02. Disparo vencido tem tolerância de 24h. Se `inbox_mode` for `fixed` e a caixa for desvinculada do flow depois, os envios daquele gatilho são **pulados** (visíveis em `flows_executions_list`). Caixa oficial WhatsApp exige template na 1ª mensagem se a conversa for criada nova (senão pula). Ativar o flow agenda automaticamente os contatos que já têm a data preenchida.
|
|
100
100
|
- **`attr_source: 'conversation'` (novo 2026-07-18):** a data vem de um atributo de DATA da CONVERSA (não do contato). Dispara NAQUELA conversa (reabre se resolvida). `attr_key` = chave de atributo de conversa tipo Data; o horário-por-atributo lê da conversa. NÃO tem seletor de caixa (a conversa já é conhecida) — não envie `inbox_mode`/`inbox_id`. NÃO use `repeat_yearly` (conversa é evento pontual — vetado com keep_both). SEM agendamento retroativo: só agenda o que for escrito/alterado APÓS ativar (100% forward). Ausente = `'contact'` (comportamento legado).
|
|
101
101
|
- **`overwrite_mode` (novo 2026-07-18):** `'replace'` (default) = trocar a data cancela o agendamento anterior (correção de data errada não dispara em dobro). `'keep_both'` = acumula (cada data seu próprio disparo) — **SÓ com `attr_source: 'conversation'`** (vetado no contato) e **incompatível com `repeat_yearly`**. Os disparos futuros pendentes ficam visíveis/canceláveis na aba "Agendados" do editor.
|
|
102
|
+
- **QUANDO a mensagem sai de verdade (mudou em 2026-10-02):** o horário configurado passou a ser
|
|
103
|
+
**respeitado exatamente**. Até 02/10 o motor somava `id do contato % 180` **MINUTOS** ao horário
|
|
104
|
+
escolhido (espalhamento anti-banimento): quem configurava 18:00 podia receber às 20:50, e isso
|
|
105
|
+
nunca esteve documentado aqui. Caso real: Villa Eyá, 18:00 configurado, 19:50 entregue.
|
|
106
|
+
O que espaça agora é a **fila por caixa**, no momento do envio, e só quando há fila de verdade:
|
|
107
|
+
- **1 pessoa na data** → sai no horário configurado, nos dois canais.
|
|
108
|
+
- **Caixa QR Code (WAHA)**, várias pessoas na mesma data → **20 a 40 segundos entre cada**
|
|
109
|
+
(sorteado — intervalo exato é padrão de robô). 50 aniversariantes ≈ 25 min; 500 ≈ 4 h.
|
|
110
|
+
**Ao montar aniversário em massa no QR Code, avise o cliente disso** — não é atraso, é a
|
|
111
|
+
proteção que impede o número de ser bloqueado. A mesma fila atende os lembretes da e-Clínica:
|
|
112
|
+
se as duas coisas saem pela MESMA caixa, elas dividem a vaga.
|
|
113
|
+
- **Caixa oficial (Cloud)** → **10 mensagens por segundo** por número da Meta, com recuo
|
|
114
|
+
automático se a Meta reclamar (o mesmo freio da campanha). 5.000 aniversariantes ≈ 8 min.
|
|
115
|
+
- **Atraso maior que 24 h não sai**: aviso parado por queda do sistema é marcado `vencida_expirada`
|
|
116
|
+
no histórico em vez de ser entregue atrasado. O aniversário do ano seguinte continua agendado.
|
|
102
117
|
- **Ver/cancelar os agendamentos (novo 2026-07-20):** `flows_scheduled_firings_list` (flow_id) lista os disparos FUTUROS pendentes do Gatilho de Data (quando vai disparar, atributo/valor que gerou, fonte contato/conversa, contato/conversa alvo). `flows_scheduled_firings_cancel` (flow_id, id) cancela um — se já disparou responde 409 `ja_disparado` e nada muda. Só flows com Gatilho de Data; ADMIN + flowbuilder_manage.
|
|
103
118
|
|
|
104
119
|
**Trigger `campaign_trigger` — Gatilho "Campanha" (novo 2026-07-28):** LIBERA o flow para ser disparado
|
|
@@ -549,6 +549,23 @@
|
|
|
549
549
|
|
|
550
550
|
**Lembretes:** `attr_key` é obrigatório; `_date_of_birth` é o Aniversário nativo. `trigger_uuid` é preenchido pelo backend (não envie). Ativar o flow já agenda os contatos que têm a data. Pulos (contato sem telefone, caixa desvinculada, etc.) aparecem em `flows_executions_list`.
|
|
551
551
|
|
|
552
|
+
**Quanto tempo leva, com muita gente na mesma data (mudou em 2026-10-02):** o horário configurado é
|
|
553
|
+
respeitado — a primeira mensagem sai às 09:00 em ponto. As demais saem no ritmo da caixa, que existe
|
|
554
|
+
para o número não ser bloqueado:
|
|
555
|
+
|
|
556
|
+
| Caixa | Ritmo | 50 pessoas | 500 pessoas |
|
|
557
|
+
|---|---|---|---|
|
|
558
|
+
| QR Code (WAHA) | 20-40 s entre cada | ~25 min | ~4 h |
|
|
559
|
+
| Oficial (Cloud) | 10 por segundo | 5 s | ~50 s |
|
|
560
|
+
|
|
561
|
+
**Ao montar aniversário para uma base grande em QR Code, diga isso ao cliente antes** — ele vai ver as
|
|
562
|
+
mensagens pingando e achar que travou. Não é atraso: é a trava anti-banimento. Se precisar sair rápido
|
|
563
|
+
em volume, o caminho é caixa oficial ou Campanha de Fluxo (que tem agendamento por dias).
|
|
564
|
+
|
|
565
|
+
Até 02/10/2026 o motor somava `id do contato % 180` MINUTOS ao horário escolhido — 18:00 podia virar
|
|
566
|
+
20:50, sem nada na tela explicando. Isso acabou; se encontrar documentação antiga dizendo que o
|
|
567
|
+
Gatilho de Data "espalha em até 3 horas", está desatualizada.
|
|
568
|
+
|
|
552
569
|
---
|
|
553
570
|
|
|
554
571
|
## 17. Gestão de Grupos WhatsApp por fluxo (`update_group`)
|
|
@@ -40,7 +40,7 @@ Quando o usuário disser "o relatório está errado / não bate", quase sempre
|
|
|
40
40
|
Os dois cards podem divergir legitimamente em conta que reatribui.
|
|
41
41
|
5. **timezone_offset NÃO altera totais** de summary — só o agrupamento dos pontos da série temporal.
|
|
42
42
|
Diferenças de ~1% entre relatório e lista filtrada são borda de janela/fuso, não defeito.
|
|
43
|
-
6. **since/until
|
|
43
|
+
6. **since/until: prefira unix SEGUNDOS** (desde 05/10/2026 a API também aceita `aaaa-mm-dd` = dia inteiro no fuso da conta, ISO 8601 com fuso e milissegundos; formato ilegível dá 400) na família `reports_*`, no CSAT e no SLA. Data por extenso
|
|
44
44
|
(`"2026-07-01"`) é lida como epoch: o `"2026"` vira 01/01/1970 e a janela some. Na conta 19 havia
|
|
45
45
|
4.396 conversas no período e a resposta veio ZERO, com HTTP 200.
|
|
46
46
|
**Desde 29/07/2026 a maioria dos relatórios RECUSA o formato errado** com HTTP **400** e a mensagem
|
|
@@ -280,7 +280,7 @@ Retorna SOMENTE estes dois campos (não existe taxa pronta):
|
|
|
280
280
|
### `lionchat_reports_list_13` — Conversation Traffic (tráfego)
|
|
281
281
|
**Use quando:** "horário de pico", "quando tem mais demanda"
|
|
282
282
|
|
|
283
|
-
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`.
|
|
283
|
+
Heatmap de volume por hora. Aceita SÓ `timezone_offset` (desde 05/10/2026, sem ele o pico sai no FUSO DA CONTA; antes saía em UTC). ATENÇÃO: janela FIXA a partir de hoje — NÃO aceita `since`/`until`.
|
|
284
284
|
|
|
285
285
|
> ⚠️ **Instalação anterior a 29/07/2026: o pico sai em UTC MESMO mandando `timezone_offset`.** O fuso
|
|
286
286
|
> era resolvido por nome (`"-3"` não é nome de zona), caía em UTC e o horário vinha **3 horas adiantado**
|
|
@@ -508,13 +508,22 @@ ONDE vieram os leads, cruzando os campos `origin_*` das conversas com os leads
|
|
|
508
508
|
viraram conversa). É um relatório de LEITURA puro — não cria nem altera nada.
|
|
509
509
|
|
|
510
510
|
**Filtros (query, todos opcionais):** `since` / `until` (ISO 8601; default = 30 dias atrás → agora),
|
|
511
|
-
`funnel_id`, `platform`, `kind`, `campaign`, `adset`, `group_by`.
|
|
511
|
+
`funnel_id`, `platform`, `kind`, `campaign`, `adset`, `inbox_id`, `assignee_id`, `group_by`.
|
|
512
|
+
`campaign`/`adset` aceitam `__none__` para filtrar so os leads SEM aquele nome (campanha/conjunto vazio).
|
|
513
|
+
|
|
514
|
+
**`inbox_id` e `assignee_id` (06/10/2026)** — recortam por caixa de entrada e por responsável da conversa.
|
|
515
|
+
**Em conta com mais de uma loja/unidade, SEM `inbox_id` o relatório soma TODAS as caixas** — foi o que fez a
|
|
516
|
+
mesma conta misturar duas lojas e não bater com o relatório da Meta. Com qualquer um dos dois ligado, os
|
|
517
|
+
**leads órfãos saem da contagem** (contato sem conversa nenhuma não pertence a caixa nem a responsável), então
|
|
518
|
+
`orphan_leads` vai a zero e `unique_leads` cai — é esperado, não é perda de dado.
|
|
512
519
|
|
|
513
520
|
**Retorno:**
|
|
514
521
|
- `period` — janela efetiva considerada.
|
|
515
522
|
- `totals` — `conversations`, `classified` (com origem identificada), `unclassified` (sem origem),
|
|
516
523
|
`orphan_leads` (leads sem conversa ainda), `unique_leads` (deduplicados por TELEFONE),
|
|
517
524
|
`won_leads` (leads em cards de estágio de Ganho) e `conversion_rate`.
|
|
525
|
+
- `unclassified` — `{conversations, won, conversion_rate}` das conversas SEM origem (entram em `totals` mas nao em `by_platform`;
|
|
526
|
+
a venda de uma conversa iniciada pela propria empresa mora aqui).
|
|
518
527
|
- Arrays de quebra: `by_platform`, `by_kind`, `by_campaign`, `by_adset`, `by_creative`. Cada linha
|
|
519
528
|
tem `{value, conversations, won, conversion_rate}`.
|
|
520
529
|
|
|
@@ -576,6 +585,10 @@ quebra. Aconteceu em produção com quem seguiu a versão anterior da tela.
|
|
|
576
585
|
como público de campanha (antes apareciam no painel e eram invisíveis para tudo isso): `google_keyword`
|
|
577
586
|
(Palavra-chave), `google_match_type`, `google_device`, `google_network`, `google_placement`,
|
|
578
587
|
`google_ad_position`, `google_campaign_id`, `google_adgroup_id`, `google_creative_id`.
|
|
588
|
+
Desde 06/10/2026 são 12: entraram `google_feed_item_id` (a extensão do anúncio que foi clicada),
|
|
589
|
+
`google_loc_physical` (o lugar onde a pessoa estava ao clicar) e `google_loc_interest` (o lugar que ela
|
|
590
|
+
pesquisou). **Os três são CÓDIGOS numéricos do Google, não nomes** (ex.: `1001773`) — servem para filtrar por
|
|
591
|
+
igualdade ou por "preenchido", não para ler o nome da cidade.
|
|
579
592
|
|
|
580
593
|
**A palavra-chave só existe em campanha de BUSCA.** Medido na produção em 29/09: 39% dos cliques são
|
|
581
594
|
Performance Max, onde o Google não informa palavra-chave, conjunto nem anúncio — nesses a linha vem vazia,
|
|
@@ -721,7 +734,7 @@ funil sem nome chegam indistinguíveis pra quem lê depois.
|
|
|
721
734
|
`label_count` (exige `label_id`) e `conversao` (exige `denominator` e `numerator`, que é **lista de
|
|
722
735
|
IDs de etiqueta**, nunca nome de métrica).
|
|
723
736
|
|
|
724
|
-
**
|
|
737
|
+
**Seis colunas por PESSOA (novas, 02/10 e 03/10/2026 — só com `dimension: agent`; em tabela por equipe ou
|
|
725
738
|
caixa o salvamento é RECUSADO com o motivo):**
|
|
726
739
|
|
|
727
740
|
| `metric` | O que mostra | Cuidado |
|
|
@@ -729,12 +742,15 @@ caixa o salvamento é RECUSADO com o motivo):**
|
|
|
729
742
|
| `primeira_resposta` | Tempo **médio** da 1ª resposta do atendente | Conta **só o horário comercial da conta** (o do SLA). Sem horário ligado na conta, cai no relógio corrido. O início é quando a IA passou a conversa (ou a reabertura/criação), não o instante da atribuição — pode divergir do SLA por alguns minutos. Vem em segundos; quem não respondeu nada no período vem vazio (travessão), nunca "0s" |
|
|
730
743
|
| `tempo_resposta` | Tempo médio entre respostas, depois da 1ª | Mesma regra de horário. Registro de `reply_time` |
|
|
731
744
|
| `ligacoes_feitas` | Ligações que a pessoa **fez** (`outbound`), atendidas ou não | Recebidas não entram. Acompanha o recorte por caixa; VTCall e Zenvia quase não gravam caixa |
|
|
745
|
+
| `ligacoes_recebidas` | Ligações **recebidas** ligadas à pessoa (`inbound`) | No VTCall o atendente só é gravado quando atende: na prática são as que ela **atendeu**. A que ninguém atendeu não tem dono — fica na linha "Sem responsável" do `calls_report` |
|
|
746
|
+
| `tempo_falado` | Tempo total em ligação da pessoa (feitas + recebidas), em segundos | Mesma definição do "Tempo falado" do `calls_report`. Sem ligação = 0 (a tela e o aviso mostram travessão) |
|
|
732
747
|
| `taxa_ligacao` | Ligações feitas ÷ leads, em % | `denominator` opcional: `leads` (padrão, a definição do Wesley — "100 leads, 10 ligações = 10%") ou `atendidos`; outro valor é recusado. Pessoa sem lead dá 0,0%, nunca erro |
|
|
733
748
|
|
|
734
749
|
O `as` dessas colunas é honrado (diferente das métricas núcleo). Exemplo de bloco do Instituto Homem:
|
|
735
750
|
`{"widget_type":"agent_report","chart_type":"table","dimension":"agent","scope_type":"team","scope_id":142,
|
|
736
751
|
"columns":[{"metric":"leads"},{"metric":"atendidos"},{"metric":"primeira_resposta"},
|
|
737
|
-
{"metric":"tempo_resposta"},{"metric":"ligacoes_feitas"},{"metric":"
|
|
752
|
+
{"metric":"tempo_resposta"},{"metric":"ligacoes_feitas"},{"metric":"ligacoes_recebidas"},
|
|
753
|
+
{"metric":"tempo_falado"},{"metric":"taxa_ligacao"}]}`.
|
|
738
754
|
|
|
739
755
|
### Como ler a resposta (campo `shape`)
|
|
740
756
|
|
|
@@ -795,6 +795,33 @@ criptografia de grupo, aviso de protocolo, cabeçalho de álbum). Não são mens
|
|
|
795
795
|
cabeçalho de álbum some porque as fotos chegam logo em seguida como mensagens próprias — se o
|
|
796
796
|
cliente reclamar que "faltou uma mensagem antes das fotos", era isso.
|
|
797
797
|
|
|
798
|
+
## "O aniversário saiu fora do horário que eu configurei" (Gatilho de Data) — 02/10/2026
|
|
799
|
+
|
|
800
|
+
**Antes de 02/10/2026 isso era um defeito real:** o motor somava `id do contato % 180` **MINUTOS** ao
|
|
801
|
+
horário escolhido (espalhamento anti-banimento). Quem configurava 18:00 podia receber às 20:50 — caso
|
|
802
|
+
relatado: Villa Eyá, 18:00 configurado, 19:50 entregue. **Consertado.** O horário agora é respeitado.
|
|
803
|
+
|
|
804
|
+
**Depois de 02/10, se a mensagem sair depois do horário, é a FILA — e é normal.** O que espaça agora é
|
|
805
|
+
a fila por caixa, e só quando há mais de uma pessoa na mesma data:
|
|
806
|
+
|
|
807
|
+
| Caixa | Ritmo | Efeito com 50 pessoas |
|
|
808
|
+
|---|---|---|
|
|
809
|
+
| QR Code (WAHA) | 20-40 s entre cada (sorteado) | a última sai ~25 min depois |
|
|
810
|
+
| Oficial (Cloud) | 10 por segundo | a última sai ~5 s depois |
|
|
811
|
+
|
|
812
|
+
A primeira sempre sai no horário configurado. **Uma pessoa sozinha nunca atrasa.**
|
|
813
|
+
|
|
814
|
+
Ao consultar `lionchat_flows_scheduled_firings_list`:
|
|
815
|
+
- `fire_at` **diferente do horário configurado** = a fila já reservou a vaga real daquele envio.
|
|
816
|
+
É o horário em que vai sair mesmo. **Normal — não é o defeito antigo, não reporte como erro.**
|
|
817
|
+
- `skip_reason = vencida_expirada` = o aviso ficou mais de 24 h atrasado (queda do sistema) e foi
|
|
818
|
+
**descartado de propósito**, para não entregar "feliz aniversário" dias depois. O do ano seguinte
|
|
819
|
+
continua agendado. Não reprocessar.
|
|
820
|
+
|
|
821
|
+
**Quando o cliente reclamar que "está demorando" numa base grande em QR Code:** não é lentidão, é a
|
|
822
|
+
trava que impede o número de ser bloqueado — a mesma que a campanha usa. Se precisa de volume rápido,
|
|
823
|
+
o caminho é caixa oficial ou Campanha de Fluxo (que tem agendamento por dias).
|
|
824
|
+
|
|
798
825
|
## "O paciente tem duas consultas no dia e recebeu um lembrete só" (e-Clínica) — 17/09/2026
|
|
799
826
|
|
|
800
827
|
**Como é desde 17/09:** um lembrete por CONSULTA. Duas consultas no mesmo dia, ou duas pessoas no mesmo
|
|
@@ -827,6 +854,41 @@ antes de 17/09 podem não ter `{{cliente_id}}`: use a ficha só como reserva
|
|
|
827
854
|
|
|
828
855
|
---
|
|
829
856
|
|
|
857
|
+
## "A clínica trocou o celular do paciente e os dados da e-Clínica mudaram de contato" — 07/10/2026
|
|
858
|
+
|
|
859
|
+
**Não é defeito.** Quando o celular novo informado pela e-Clínica **já é de outro contato** da conta (o
|
|
860
|
+
paciente já conversava pelo número novo, por exemplo), os avisos da e-Clínica passam para o contato do
|
|
861
|
+
número novo: os atributos `eclinica_*` (mais `endereco_unidade` e `unidade_de_atendimento`) saem do
|
|
862
|
+
contato antigo e os lembretes pendentes do paciente trocam de contato. **Nenhum telefone é trocado e
|
|
863
|
+
nenhuma ficha é juntada** — juntar continua sendo decisão da equipe (`lionchat_contact_merge_preview`
|
|
864
|
+
antes de qualquer junção).
|
|
865
|
+
|
|
866
|
+
**Como reconhecer:**
|
|
867
|
+
- as duas conversas têm um aviso em cinza ("Os avisos da e-Clínica passam a sair por lá" / "Este contato
|
|
868
|
+
passou a receber os avisos da e-Clínica do paciente ...");
|
|
869
|
+
- o contato antigo tem `additional_attributes.eclinica_vinculo_cedido` — um mapa
|
|
870
|
+
`"<unidade>:<paciente>" => { para, em, prova }` dizendo para qual contato o cadastro foi;
|
|
871
|
+
- o contato novo pode ter `additional_attributes.eclinica_vinculo_recebido` (`{ de, em }`), só quando a
|
|
872
|
+
passagem foi sem prova de que é a mesma pessoa.
|
|
873
|
+
|
|
874
|
+
**Não escreva nem apague essas duas chaves** (são do sistema) e **não regrave `eclinica_cliente_id` /
|
|
875
|
+
`eclinica_unit_id` no contato antigo**: a busca do paciente prefere o contato que NÃO cedeu o cadastro, e
|
|
876
|
+
o par regravado à mão só gera confusão.
|
|
877
|
+
|
|
878
|
+
**Quando os avisos NÃO passam** (a conversa diz "Nada foi alterado. Confira o celular no cadastro da
|
|
879
|
+
clínica."): o contato dono do número novo já é de OUTRO paciente da clínica, ou os dois contatos têm CPFs
|
|
880
|
+
diferentes.
|
|
881
|
+
|
|
882
|
+
**Número digitado errado na recepção:** se o número errado for de outro contato, os avisos vão para lá
|
|
883
|
+
até a clínica corrigir; na correção eles voltam sozinhos para o contato do paciente (as duas conversas
|
|
884
|
+
ganham novo aviso). Para mover à mão é com o suporte — não existe ferramenta do MCP para isso.
|
|
885
|
+
|
|
886
|
+
**Lembrete "pendente" que aparece em nome de outro contato** em `lionchat_eclinica_reminder_history_list`:
|
|
887
|
+
é o mesmo paciente, depois da passagem. Na hora de sair, o lembrete confere de novo qual contato tem o
|
|
888
|
+
cadastro e sai por ele.
|
|
889
|
+
|
|
890
|
+
---
|
|
891
|
+
|
|
830
892
|
## "Marquei Faltou (ou Compareceu) e a tarefa continua pendente" — 17/09/2026
|
|
831
893
|
|
|
832
894
|
**Não é defeito.** Presença (`attendance`) e situação (`status`) são campos separados de propósito: marcar
|
package/dist/tools.js
CHANGED
|
@@ -188,9 +188,17 @@ function buildZodSchema(params, toolId, confirmRequired = false) {
|
|
|
188
188
|
}
|
|
189
189
|
return z.object(shape);
|
|
190
190
|
}
|
|
191
|
-
// AIDEV-NOTE: Check if endpoint
|
|
191
|
+
// AIDEV-NOTE: Check if endpoint REQUIRES a file-type param (unsupported in MCP v1).
|
|
192
|
+
// AIDEV-NOTE: [arquivo-opcional 03/10] A pergunta e "EXIGE arquivo?", nunca "tem campo de arquivo?".
|
|
193
|
+
// O executor ja acertava (so recusa quando um VALOR de arquivo e enviado); quem errava era este
|
|
194
|
+
// aviso, que e a PRIMEIRA linha que o modelo le na descricao. Com `.some(type === 'file')` quatro
|
|
195
|
+
// ferramentas que funcionam hoje se anunciavam quebradas e a IA desistia antes de tentar:
|
|
196
|
+
// contacts_update (a foto e opcional), account_update (o logotipo), upload_create (aceita
|
|
197
|
+
// external_url) e captain_documents_create (a base de conhecimento da IA, aceita external_link —
|
|
198
|
+
// e a nossa propria best-practices.md ensina a usar o link enquanto esta linha dizia que nao da).
|
|
199
|
+
// Achado nas auditorias de 03/10. NUNCA voltar a ignorar `required`.
|
|
192
200
|
function hasFileParam(params) {
|
|
193
|
-
return params.some((p) => p.type === 'file');
|
|
201
|
+
return params.some((p) => p.type === 'file' && p.required);
|
|
194
202
|
}
|
|
195
203
|
// AIDEV-NOTE: Register a single API endpoint as an MCP tool
|
|
196
204
|
function registerSingleTool(server, config, client, endpoint) {
|
|
@@ -207,22 +215,27 @@ function registerSingleTool(server, config, client, endpoint) {
|
|
|
207
215
|
server.tool(endpoint.id, description, schema.shape, annotations, async (params) => {
|
|
208
216
|
try {
|
|
209
217
|
// AIDEV-NOTE: Block execution if file param was actually provided
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
218
|
+
// AIDEV-NOTE: [arquivo-opcional 03/10] A recusa roda SEMPRE, nunca mais dentro de
|
|
219
|
+
// `if (hasFile)`. Desde que `hasFileParam` passou a exigir `required`, o antigo `if`
|
|
220
|
+
// deixava as 4 ferramentas de arquivo OPCIONAL (contacts_update, account_update,
|
|
221
|
+
// upload_create, captain_documents_create) sem defesa nenhuma — e o conector REMOTO
|
|
222
|
+
// sempre recusou incondicionalmente (`runner.ts`), entao os dois tinham passado a
|
|
223
|
+
// divergir. Hoje o param `type: file` nem entra no schema (`continue` acima), logo isto
|
|
224
|
+
// e defesa em profundidade; e e exatamente por ser defesa que nao pode depender do aviso.
|
|
225
|
+
const fileParams = endpoint.params.filter((p) => p.type === 'file');
|
|
226
|
+
for (const fp of fileParams) {
|
|
227
|
+
// AIDEV-NOTE: B10 (2026-06-02) — trata "" como "não fornecido" (igual ao remoto
|
|
228
|
+
// runner.ts), pra os dois conectores terem o mesmo guard de file vazio.
|
|
229
|
+
if (params[fp.name] !== undefined && params[fp.name] !== null && params[fp.name] !== '') {
|
|
230
|
+
return {
|
|
231
|
+
content: [
|
|
232
|
+
{
|
|
233
|
+
type: 'text',
|
|
234
|
+
text: 'File upload is not supported via MCP. Use the LionChat web interface or direct API calls.',
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
isError: true,
|
|
238
|
+
};
|
|
226
239
|
}
|
|
227
240
|
}
|
|
228
241
|
// AIDEV-NOTE: [auditoria adversus A3] trava de confirmacao, ANTES de qualquer trabalho —
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mFAAmF;AAEnF,OAAO,EAAE,CAAC,EAAc,MAAM,KAAK,CAAC;AAIpC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAsCtD,yEAAyE;AACzE,SAAS,kBAAkB,CAAC,MAAc;IACxC,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC9E,KAAK,MAAM;YACT,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAChF,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC/E,KAAK,QAAQ;YACX,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC9E;YACE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAClF,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,8EAA8E;AAC9E,iFAAiF;AACjF,MAAM,iBAAiB,GAA2B;IAChD,OAAO,EAAE,SAAS;IAClB,mBAAmB,EAAE,kBAAkB;IACvC,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,eAAe;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,wBAAwB,EAAE,gBAAgB;IAC1C,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,eAAe;IAC/B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,OAAO;IAC3B,oBAAoB,EAAE,mBAAmB;IACzC,qBAAqB,EAAE,oBAAoB;IAC3C,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,cAAc;IACvB,oBAAoB,EAAE,aAAa;IACnC,kBAAkB,EAAE,eAAe;IACnC,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,cAAc;IACvB,oBAAoB,EAAE,iBAAiB;IACvC,qBAAqB,EAAE,sBAAsB;IAC7C,qBAAqB,EAAE,iBAAiB;IACxC,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,eAAe;IAC1B,iBAAiB,EAAE,qBAAqB;IACxC,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,oBAAoB;IACnC,sBAAsB,EAAE,mBAAmB;IAC3C,qBAAqB,EAAE,kBAAkB;IACzC,sBAAsB,EAAE,cAAc;IACtC,yBAAyB,EAAE,mBAAmB;IAC9C,KAAK,EAAE,KAAK;IACZ,mBAAmB,EAAE,gBAAgB;IACrC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,aAAa;IAChC,oBAAoB,EAAE,oBAAoB;IAC1C,eAAe,EAAE,eAAe;IAChC,mBAAmB,EAAE,iBAAiB;IACtC,iBAAiB,EAAE,iBAAiB;IACpC,yBAAyB,EAAE,qBAAqB;IAChD,UAAU,EAAE,UAAU;IACtB,wBAAwB,EAAE,oBAAoB;IAC9C,eAAe,EAAE,WAAW;IAC5B,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,WAAW;IACxB,SAAS,EAAE,SAAS;IACpB,uBAAuB,EAAE,uBAAuB;IAChD,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,iBAAiB;IACnC,kBAAkB,EAAE,eAAe;IACnC,iBAAiB,EAAE,oBAAoB;IACvC,MAAM,EAAE,MAAM;IACd,0BAA0B,EAAE,mBAAmB;IAC/C,SAAS,EAAE,QAAQ;CACpB,CAAC;AAEF,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,UAAU,GAAG,IAAI;SACpB,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,WAAW,EAAE;SACb,IAAI,EAAE,CAAC;IACV,OAAO,iBAAiB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,KAAoB;IAC1C,IAAI,MAAkB,CAAC;IAEvB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CACP,wDAAwD,CACzD,CAAC;YACJ,MAAM;QACR,KAAK,QAAQ,CAAC;QACd;YACE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM;IACV,CAAC;IAED,gFAAgF;IAChF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,wFAAwF;AACxF,kFAAkF;AAClF,0FAA0F;AAC1F,yFAAyF;AACzF,mCAAmC;AACnC,SAAS,cAAc,CACrB,MAAuB,EACvB,MAAe,EACf,eAAe,GAAG,KAAK;IAEvB,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,kBAAkB,GAAG,IAAI,CAAC;YAC1B,oFAAoF;YACpF,yEAAyE;YACzE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,2HAA2H,CAC5H,CAAC;YACJ,SAAS;QACX,CAAC;QACD,uFAAuF;QACvF,uFAAuF;QACvF,yFAAyF;QACzF,sFAAsF;QACtF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,8FAA8F;IAC9F,6EAA6E;IAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;aACpB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2HAA2H,CAC5H,CAAC;IACN,CAAC;IAED,kFAAkF;IAClF,IAAI,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC;aAC3B,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,+FAA+F;IAC/F,iGAAiG;IACjG,sFAAsF;IACtF,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,iFAAiF;AACjF,SAAS,YAAY,CAAC,MAAuB;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,4DAA4D;AAC5D,SAAS,kBAAkB,CACzB,MAAiB,EACjB,MAAc,EACd,MAAsB,EACtB,QAAqB;IAErB,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9C,yFAAyF;IACzF,IAAI,WAAW,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW;YACT,+EAA+E;gBAC/E,WAAW,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,QAAQ,CAAC,EAAE,EACX,WAAW,EACX,MAAM,CAAC,KAAK,EACZ,WAAW,EACX,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,kEAAkE;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACpE,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;oBAC5B,gFAAgF;oBAChF,wEAAwE;oBACxE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;wBACxF,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,2FAA2F;iCAClG;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yFAAyF;YACzF,0FAA0F;YAC1F,yFAAyF;YACzF,iDAAiD;YACjD,IAAI,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EACF,IAAI,QAAQ,CAAC,EAAE,wCAAwC,QAAQ,CAAC,KAAK,KAAK;gCAC1E,4FAA4F;yBAC/F;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,+FAA+F;YAC/F,oFAAoF;YACpF,wDAAwD;YACxD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,kBAAkB,GACtB,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;gBACpF,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YACvB,MAAM,oBAAoB,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;YACpE,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAE1C,uFAAuF;YACvF,gFAAgF;YAChF,8EAA8E;YAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;YAC1D,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;YAEjD,wFAAwF;YACxF,wEAAwE;YACxE,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAE3C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,cAAc,CAC5D,oBAAoB,EACpB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,YAAY,CACtB,CAAC;YAEF,MAAM,IAAI,GAAG,cAAc,CACzB,QAAQ,CAAC,IAAI,EACb,kBAAkB,EAClB,UAAU,CACX,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAExD,gFAAgF;YAChF,4FAA4F;YAC5F,8DAA8D;YAC9D,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,QAAQ,CAAC,EAAE,EACX,UAAU,EACV,UAAU,CAAC,IAAI,CAAC,EAChB,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,oBAAoB,kBAAkB,mBAAmB;aAChE,CAAC,CACL,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;oBACzD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE;4BAC3B,IAAI,EAAE,CAAC,YAAY;4BACnB,MAAM,EAAE,QAAQ,CAAC,EAAE;yBACpB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gFAAgF;YAChF,uEAAuE;YACvE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,gBAAgB,CACvB,MAAiB,EACjB,MAAc,EACd,MAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,yFAAyF,EACzF,EAAE,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACpE,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,SAAS,0BAA0B,CACjC,MAAiB,EACjB,YAA2B;IAE3B,6EAA6E;IAC7E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;SACtD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,QAAQ,CAAC;SACjD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,sIAAsI,EACtI,EAAE,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACpE,KAAK,IAAI,EAAE;QACT,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,wEAAwE;AACxE,gDAAgD;AAChD,SAAS,gCAAgC,CAAC,MAAiB;IACzD,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAq0BlB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,iCAAiC,EACjC,2PAA2P,EAC3P,EAAE,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACpE,KAAK,IAAI,EAAE;QACT,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,aAAa,CAC3B,MAAiB,EACjB,MAAc,EACd,MAAsB;IAEtB,yFAAyF;IACzF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACjE,IAAI,SAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,aAAa,IAAI;YACvD,oDAAoD;YACpD,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,SAAS,CAAC;IAEzB,iFAAiF;IACjF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,6DAA6D;IAC7D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,wEAAwE;IACxE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uDAAuD;AACrF,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mFAAmF;AAEnF,OAAO,EAAE,CAAC,EAAc,MAAM,KAAK,CAAC;AAIpC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAsCtD,yEAAyE;AACzE,SAAS,kBAAkB,CAAC,MAAc;IACxC,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC9E,KAAK,MAAM;YACT,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAChF,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC/E,KAAK,QAAQ;YACX,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC9E;YACE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAClF,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,8EAA8E;AAC9E,iFAAiF;AACjF,MAAM,iBAAiB,GAA2B;IAChD,OAAO,EAAE,SAAS;IAClB,mBAAmB,EAAE,kBAAkB;IACvC,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,eAAe;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,wBAAwB,EAAE,gBAAgB;IAC1C,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,eAAe;IAC/B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,OAAO;IAC3B,oBAAoB,EAAE,mBAAmB;IACzC,qBAAqB,EAAE,oBAAoB;IAC3C,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,cAAc;IACvB,oBAAoB,EAAE,aAAa;IACnC,kBAAkB,EAAE,eAAe;IACnC,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,cAAc;IACvB,oBAAoB,EAAE,iBAAiB;IACvC,qBAAqB,EAAE,sBAAsB;IAC7C,qBAAqB,EAAE,iBAAiB;IACxC,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,eAAe;IAC1B,iBAAiB,EAAE,qBAAqB;IACxC,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,oBAAoB;IACnC,sBAAsB,EAAE,mBAAmB;IAC3C,qBAAqB,EAAE,kBAAkB;IACzC,sBAAsB,EAAE,cAAc;IACtC,yBAAyB,EAAE,mBAAmB;IAC9C,KAAK,EAAE,KAAK;IACZ,mBAAmB,EAAE,gBAAgB;IACrC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,aAAa;IAChC,oBAAoB,EAAE,oBAAoB;IAC1C,eAAe,EAAE,eAAe;IAChC,mBAAmB,EAAE,iBAAiB;IACtC,iBAAiB,EAAE,iBAAiB;IACpC,yBAAyB,EAAE,qBAAqB;IAChD,UAAU,EAAE,UAAU;IACtB,wBAAwB,EAAE,oBAAoB;IAC9C,eAAe,EAAE,WAAW;IAC5B,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,WAAW;IACxB,SAAS,EAAE,SAAS;IACpB,uBAAuB,EAAE,uBAAuB;IAChD,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,iBAAiB;IACnC,kBAAkB,EAAE,eAAe;IACnC,iBAAiB,EAAE,oBAAoB;IACvC,MAAM,EAAE,MAAM;IACd,0BAA0B,EAAE,mBAAmB;IAC/C,SAAS,EAAE,QAAQ;CACpB,CAAC;AAEF,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,UAAU,GAAG,IAAI;SACpB,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,WAAW,EAAE;SACb,IAAI,EAAE,CAAC;IACV,OAAO,iBAAiB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,KAAoB;IAC1C,IAAI,MAAkB,CAAC;IAEvB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CACP,wDAAwD,CACzD,CAAC;YACJ,MAAM;QACR,KAAK,QAAQ,CAAC;QACd;YACE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM;IACV,CAAC;IAED,gFAAgF;IAChF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,wFAAwF;AACxF,kFAAkF;AAClF,0FAA0F;AAC1F,yFAAyF;AACzF,mCAAmC;AACnC,SAAS,cAAc,CACrB,MAAuB,EACvB,MAAe,EACf,eAAe,GAAG,KAAK;IAEvB,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,kBAAkB,GAAG,IAAI,CAAC;YAC1B,oFAAoF;YACpF,yEAAyE;YACzE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,2HAA2H,CAC5H,CAAC;YACJ,SAAS;QACX,CAAC;QACD,uFAAuF;QACvF,uFAAuF;QACvF,yFAAyF;QACzF,sFAAsF;QACtF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,8FAA8F;IAC9F,6EAA6E;IAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;aACpB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2HAA2H,CAC5H,CAAC;IACN,CAAC;IAED,kFAAkF;IAClF,IAAI,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC;aAC3B,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,+FAA+F;IAC/F,iGAAiG;IACjG,sFAAsF;IACtF,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,oFAAoF;AACpF,qGAAqG;AACrG,kGAAkG;AAClG,oGAAoG;AACpG,4FAA4F;AAC5F,4FAA4F;AAC5F,mGAAmG;AACnG,oGAAoG;AACpG,uEAAuE;AACvE,SAAS,YAAY,CAAC,MAAuB;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,4DAA4D;AAC5D,SAAS,kBAAkB,CACzB,MAAiB,EACjB,MAAc,EACd,MAAsB,EACtB,QAAqB;IAErB,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9C,yFAAyF;IACzF,IAAI,WAAW,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW;YACT,+EAA+E;gBAC/E,WAAW,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,QAAQ,CAAC,EAAE,EACX,WAAW,EACX,MAAM,CAAC,KAAK,EACZ,WAAW,EACX,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,kEAAkE;YAClE,kFAAkF;YAClF,uFAAuF;YACvF,mFAAmF;YACnF,sFAAsF;YACtF,oFAAoF;YACpF,0FAA0F;YAC1F,4FAA4F;YAC5F,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACpE,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,gFAAgF;gBAChF,wEAAwE;gBACxE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBACxF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,2FAA2F;6BAClG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yFAAyF;YACzF,0FAA0F;YAC1F,yFAAyF;YACzF,iDAAiD;YACjD,IAAI,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EACF,IAAI,QAAQ,CAAC,EAAE,wCAAwC,QAAQ,CAAC,KAAK,KAAK;gCAC1E,4FAA4F;yBAC/F;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,+FAA+F;YAC/F,oFAAoF;YACpF,wDAAwD;YACxD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,kBAAkB,GACtB,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;gBACpF,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YACvB,MAAM,oBAAoB,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;YACpE,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAE1C,uFAAuF;YACvF,gFAAgF;YAChF,8EAA8E;YAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;YAC1D,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;YAEjD,wFAAwF;YACxF,wEAAwE;YACxE,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAE3C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,cAAc,CAC5D,oBAAoB,EACpB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,YAAY,CACtB,CAAC;YAEF,MAAM,IAAI,GAAG,cAAc,CACzB,QAAQ,CAAC,IAAI,EACb,kBAAkB,EAClB,UAAU,CACX,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAExD,gFAAgF;YAChF,4FAA4F;YAC5F,8DAA8D;YAC9D,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,QAAQ,CAAC,EAAE,EACX,UAAU,EACV,UAAU,CAAC,IAAI,CAAC,EAChB,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,oBAAoB,kBAAkB,mBAAmB;aAChE,CAAC,CACL,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;oBACzD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE;4BAC3B,IAAI,EAAE,CAAC,YAAY;4BACnB,MAAM,EAAE,QAAQ,CAAC,EAAE;yBACpB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gFAAgF;YAChF,uEAAuE;YACvE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,gBAAgB,CACvB,MAAiB,EACjB,MAAc,EACd,MAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,yFAAyF,EACzF,EAAE,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACpE,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,SAAS,0BAA0B,CACjC,MAAiB,EACjB,YAA2B;IAE3B,6EAA6E;IAC7E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;SACtD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,QAAQ,CAAC;SACjD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,sIAAsI,EACtI,EAAE,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACpE,KAAK,IAAI,EAAE;QACT,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,wEAAwE;AACxE,gDAAgD;AAChD,SAAS,gCAAgC,CAAC,MAAiB;IACzD,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAq0BlB,CAAC;IAED,MAAM,CAAC,IAAI,CACT,iCAAiC,EACjC,2PAA2P,EAC3P,EAAE,EACF,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,EACpE,KAAK,IAAI,EAAE;QACT,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,aAAa,CAC3B,MAAiB,EACjB,MAAc,EACd,MAAsB;IAEtB,yFAAyF;IACzF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACjE,IAAI,SAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,aAAa,IAAI;YACvD,oDAAoD;YACpD,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,SAAS,CAAC;IAEzB,iFAAiF;IACjF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,6DAA6D;IAC7D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,wEAAwE;IACxE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uDAAuD;AACrF,CAAC"}
|
package/endpoints.json
CHANGED
|
@@ -1608,7 +1608,7 @@
|
|
|
1608
1608
|
"method": "POST",
|
|
1609
1609
|
"path": "/api/v1/accounts/{account_id}/conversations/{id}/custom_attributes",
|
|
1610
1610
|
"title": "Custom Attributes",
|
|
1611
|
-
"description": "Atualiza atributos customizados da conversa. Obrigatorios: id, custom_attributes. O custom_attributes enviado SUBSTITUI
|
|
1611
|
+
"description": "Atualiza atributos customizados da conversa. Obrigatorios: id, custom_attributes. O custom_attributes enviado SUBSTITUI os atributos DO CLIENTE (o que nao vier no envio e apagado): leia antes com lionchat_conversations_show e reenvie os atributos do cliente com o alterado. O dado do SISTEMA fica FORA dessa troca — nao e apagado e tambem NAO e gravado por aqui: dados do anuncio (ctwa_*), origem (origin_*), UTM oficiais (utm_source, utm_medium, utm_campaign, utm_term, utm_content), cliques e dados do Google que o rastreio grava (gclid, gbraid, wbraid, google_keyword e demais), identificadores do WhatsApp (waha_*, whatsapp_*), campos da IA (captain_*) e todo atributo marcado como do sistema. Para marcar a origem a mao use lionchat_conversations_set_origin.",
|
|
1612
1612
|
"category": "Conversas",
|
|
1613
1613
|
"params": [
|
|
1614
1614
|
{
|
|
@@ -1623,7 +1623,7 @@
|
|
|
1623
1623
|
"type": "object",
|
|
1624
1624
|
"location": "body",
|
|
1625
1625
|
"required": true,
|
|
1626
|
-
"description": "Objeto {chave: valor}
|
|
1626
|
+
"description": "Objeto {chave: valor} com os atributos DO CLIENTE na conversa. SUBSTITUI o conjunto dos atributos do cliente: o que nao vier no envio e APAGADO — leia antes com lionchat_conversations_show e reenvie todos com o alterado. Chave do sistema (ctwa_*, origin_*, UTM oficiais como utm_source, gclid/gbraid/wbraid, os google_* do rastreio, waha_*, whatsapp_*, captain_* e atributo marcado como do sistema) e IGNORADA: nao apaga e nao grava. Atributo proprio com nome parecido (ex.: utm_loja_fisica) funciona normal. Ex.: {\"motivo_contato\": \"orcamento\", \"cidade\": \"Campinas\"}. Por tipo: data 'AAAA-MM-DD', numero como numero, lista = uma das opcoes cadastradas, sim/nao true/false."
|
|
1627
1627
|
}
|
|
1628
1628
|
],
|
|
1629
1629
|
"returns": "conversa atualizada",
|
|
@@ -4064,14 +4064,14 @@
|
|
|
4064
4064
|
"type": "string",
|
|
4065
4065
|
"location": "query",
|
|
4066
4066
|
"required": false,
|
|
4067
|
-
"description": "Inicio do periodo
|
|
4067
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Mande unix se quiser o instante exato; data SEM hora cobre o dia inteiro no fuso da conta."
|
|
4068
4068
|
},
|
|
4069
4069
|
{
|
|
4070
4070
|
"name": "to",
|
|
4071
4071
|
"type": "string",
|
|
4072
4072
|
"location": "query",
|
|
4073
4073
|
"required": false,
|
|
4074
|
-
"description": "Fim do periodo
|
|
4074
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Data SEM hora cobre o dia inteiro (ate 23:59:59 no fuso da conta)."
|
|
4075
4075
|
},
|
|
4076
4076
|
{
|
|
4077
4077
|
"name": "user_ids",
|
|
@@ -5320,14 +5320,14 @@
|
|
|
5320
5320
|
"type": "string",
|
|
5321
5321
|
"location": "query",
|
|
5322
5322
|
"required": false,
|
|
5323
|
-
"description": "Inicio do periodo
|
|
5323
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5324
5324
|
},
|
|
5325
5325
|
{
|
|
5326
5326
|
"name": "until",
|
|
5327
5327
|
"type": "string",
|
|
5328
5328
|
"location": "query",
|
|
5329
5329
|
"required": false,
|
|
5330
|
-
"description": "Fim do periodo
|
|
5330
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5331
5331
|
},
|
|
5332
5332
|
{
|
|
5333
5333
|
"name": "business_hours",
|
|
@@ -5369,14 +5369,14 @@
|
|
|
5369
5369
|
"type": "string",
|
|
5370
5370
|
"location": "query",
|
|
5371
5371
|
"required": false,
|
|
5372
|
-
"description": "Inicio do periodo
|
|
5372
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5373
5373
|
},
|
|
5374
5374
|
{
|
|
5375
5375
|
"name": "until",
|
|
5376
5376
|
"type": "string",
|
|
5377
5377
|
"location": "query",
|
|
5378
5378
|
"required": false,
|
|
5379
|
-
"description": "Fim do periodo
|
|
5379
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5380
5380
|
},
|
|
5381
5381
|
{
|
|
5382
5382
|
"name": "business_hours",
|
|
@@ -5411,14 +5411,14 @@
|
|
|
5411
5411
|
"type": "string",
|
|
5412
5412
|
"location": "query",
|
|
5413
5413
|
"required": false,
|
|
5414
|
-
"description": "Inicio do periodo
|
|
5414
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5415
5415
|
},
|
|
5416
5416
|
{
|
|
5417
5417
|
"name": "until",
|
|
5418
5418
|
"type": "string",
|
|
5419
5419
|
"location": "query",
|
|
5420
5420
|
"required": false,
|
|
5421
|
-
"description": "Fim do periodo
|
|
5421
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5422
5422
|
},
|
|
5423
5423
|
{
|
|
5424
5424
|
"name": "business_hours",
|
|
@@ -5453,14 +5453,14 @@
|
|
|
5453
5453
|
"type": "string",
|
|
5454
5454
|
"location": "query",
|
|
5455
5455
|
"required": false,
|
|
5456
|
-
"description": "Inicio do periodo
|
|
5456
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5457
5457
|
},
|
|
5458
5458
|
{
|
|
5459
5459
|
"name": "until",
|
|
5460
5460
|
"type": "string",
|
|
5461
5461
|
"location": "query",
|
|
5462
5462
|
"required": false,
|
|
5463
|
-
"description": "Fim do periodo
|
|
5463
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5464
5464
|
},
|
|
5465
5465
|
{
|
|
5466
5466
|
"name": "business_hours",
|
|
@@ -5495,14 +5495,14 @@
|
|
|
5495
5495
|
"type": "string",
|
|
5496
5496
|
"location": "query",
|
|
5497
5497
|
"required": false,
|
|
5498
|
-
"description": "Inicio do periodo
|
|
5498
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5499
5499
|
},
|
|
5500
5500
|
{
|
|
5501
5501
|
"name": "until",
|
|
5502
5502
|
"type": "string",
|
|
5503
5503
|
"location": "query",
|
|
5504
5504
|
"required": false,
|
|
5505
|
-
"description": "Fim do periodo
|
|
5505
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5506
5506
|
},
|
|
5507
5507
|
{
|
|
5508
5508
|
"name": "business_hours",
|
|
@@ -5551,14 +5551,14 @@
|
|
|
5551
5551
|
"type": "string",
|
|
5552
5552
|
"location": "query",
|
|
5553
5553
|
"required": false,
|
|
5554
|
-
"description": "Inicio do periodo
|
|
5554
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5555
5555
|
},
|
|
5556
5556
|
{
|
|
5557
5557
|
"name": "until",
|
|
5558
5558
|
"type": "string",
|
|
5559
5559
|
"location": "query",
|
|
5560
5560
|
"required": false,
|
|
5561
|
-
"description": "Fim do periodo
|
|
5561
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5562
5562
|
},
|
|
5563
5563
|
{
|
|
5564
5564
|
"name": "id",
|
|
@@ -5586,7 +5586,7 @@
|
|
|
5586
5586
|
"type": "string",
|
|
5587
5587
|
"location": "query",
|
|
5588
5588
|
"required": false,
|
|
5589
|
-
"description": "Deslocamento de fuso em horas (ex: -3 pra Brasilia) — afeta SO o agrupamento dos pontos do grafico (fronteira do dia/hora), NAO altera totais de summary."
|
|
5589
|
+
"description": "Deslocamento de fuso em horas (ex: -3 pra Brasilia) — afeta SO o agrupamento dos pontos do grafico (fronteira do dia/hora), NAO altera totais de summary. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3)."
|
|
5590
5590
|
}
|
|
5591
5591
|
],
|
|
5592
5592
|
"returns": "array de { value, timestamp[, count] } (sem meta)",
|
|
@@ -5664,7 +5664,7 @@
|
|
|
5664
5664
|
"type": "string",
|
|
5665
5665
|
"location": "query",
|
|
5666
5666
|
"required": false,
|
|
5667
|
-
"description": "Fuso em horas (ex: -3 pra Brasília). O MESMO da série — define a fronteira do dia/hora do ponto."
|
|
5667
|
+
"description": "Fuso em horas (ex: -3 pra Brasília). O MESMO da série — define a fronteira do dia/hora do ponto. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3)."
|
|
5668
5668
|
},
|
|
5669
5669
|
{
|
|
5670
5670
|
"name": "business_hours",
|
|
@@ -5706,14 +5706,14 @@
|
|
|
5706
5706
|
"type": "string",
|
|
5707
5707
|
"location": "query",
|
|
5708
5708
|
"required": false,
|
|
5709
|
-
"description": "Inicio do periodo
|
|
5709
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5710
5710
|
},
|
|
5711
5711
|
{
|
|
5712
5712
|
"name": "until",
|
|
5713
5713
|
"type": "string",
|
|
5714
5714
|
"location": "query",
|
|
5715
5715
|
"required": false,
|
|
5716
|
-
"description": "Fim do periodo
|
|
5716
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
5717
5717
|
},
|
|
5718
5718
|
{
|
|
5719
5719
|
"name": "type",
|
|
@@ -5741,7 +5741,7 @@
|
|
|
5741
5741
|
"type": "string",
|
|
5742
5742
|
"location": "query",
|
|
5743
5743
|
"required": false,
|
|
5744
|
-
"description": "Deslocamento de fuso em horas (ex: -3). NAO altera os totais do summary — so afeta agrupamento em endpoints de serie temporal."
|
|
5744
|
+
"description": "Deslocamento de fuso em horas (ex: -3). NAO altera os totais do summary — so afeta agrupamento em endpoints de serie temporal. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3)."
|
|
5745
5745
|
}
|
|
5746
5746
|
],
|
|
5747
5747
|
"returns": "{ conversations_count, incoming_messages_count, outgoing_messages_count, resolutions_count, avg_first_response_time (seg), avg_resolution_time (seg), median_first_response_time (seg), median_resolution_time (seg), reply_time (seg — tempo medio de resposta), previous: {...mesma estrutura...} }",
|
|
@@ -5800,7 +5800,7 @@
|
|
|
5800
5800
|
"type": "string",
|
|
5801
5801
|
"location": "query",
|
|
5802
5802
|
"required": false,
|
|
5803
|
-
"description": "Offset de timezone em horas"
|
|
5803
|
+
"description": "Offset de timezone em horas. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3)."
|
|
5804
5804
|
}
|
|
5805
5805
|
],
|
|
5806
5806
|
"returns": "{ bot_resolutions_count, bot_handoffs_count, previous: {...} }",
|
|
@@ -5985,7 +5985,7 @@
|
|
|
5985
5985
|
"type": "string",
|
|
5986
5986
|
"location": "query",
|
|
5987
5987
|
"required": false,
|
|
5988
|
-
"description": "Offset de timezone em horas"
|
|
5988
|
+
"description": "Offset de timezone em horas. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3)."
|
|
5989
5989
|
}
|
|
5990
5990
|
],
|
|
5991
5991
|
"returns": "arquivo CSV (conversation_traffic_reports.csv)",
|
|
@@ -8188,14 +8188,14 @@
|
|
|
8188
8188
|
"type": "string",
|
|
8189
8189
|
"location": "query",
|
|
8190
8190
|
"required": false,
|
|
8191
|
-
"description": "Inicio do periodo
|
|
8191
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para tras."
|
|
8192
8192
|
},
|
|
8193
8193
|
{
|
|
8194
8194
|
"name": "until",
|
|
8195
8195
|
"type": "string",
|
|
8196
8196
|
"location": "query",
|
|
8197
8197
|
"required": false,
|
|
8198
|
-
"description": "Fim do periodo
|
|
8198
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para frente."
|
|
8199
8199
|
},
|
|
8200
8200
|
{
|
|
8201
8201
|
"name": "page",
|
|
@@ -8224,6 +8224,13 @@
|
|
|
8224
8224
|
"location": "query",
|
|
8225
8225
|
"required": false,
|
|
8226
8226
|
"description": "Filtros estruturados aplicados aos resultados de CARDS. JSON-string de condicoes no formato do endpoint /filter correspondente (ex: [{\"attribute_key\":\"status\",\"filter_operator\":\"equal_to\",\"values\":[\"open\"]}]). Cap 10 condicoes; payload invalido = 422"
|
|
8227
|
+
},
|
|
8228
|
+
{
|
|
8229
|
+
"name": "date_basis",
|
|
8230
|
+
"type": "string",
|
|
8231
|
+
"location": "query",
|
|
8232
|
+
"required": false,
|
|
8233
|
+
"description": "OPCIONAL. Qual data o periodo (since/until) usa: `activity` (padrao e qualquer outro valor: conversas e contatos pela ULTIMA ATIVIDADE, artigos pela ultima atualizacao) ou `created` (pela data de CRIACAO). Mensagens ja sao por criacao e cards do Kanban nao tem periodo. Valor invalido nunca da erro."
|
|
8227
8234
|
}
|
|
8228
8235
|
],
|
|
8229
8236
|
"returns": "{ payload: { conversations, contacts, messages, articles, kanban_items } } — sem meta. [29/07] Cada conversa vem com `status` e `labels` (etiquetas da conversa) e cada contato vem com `labels` (etiquetas do contato), entao NAO e preciso uma chamada extra por resultado so pra saber a etiqueta. Cada mensagem inclui previous_message/next_message (contexto vizinho) e NAO traz labels.",
|
|
@@ -8268,14 +8275,14 @@
|
|
|
8268
8275
|
"type": "string",
|
|
8269
8276
|
"location": "query",
|
|
8270
8277
|
"required": false,
|
|
8271
|
-
"description": "Inicio do periodo
|
|
8278
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para tras."
|
|
8272
8279
|
},
|
|
8273
8280
|
{
|
|
8274
8281
|
"name": "until",
|
|
8275
8282
|
"type": "string",
|
|
8276
8283
|
"location": "query",
|
|
8277
8284
|
"required": false,
|
|
8278
|
-
"description": "Fim do periodo
|
|
8285
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para frente."
|
|
8279
8286
|
},
|
|
8280
8287
|
{
|
|
8281
8288
|
"name": "page",
|
|
@@ -8290,6 +8297,13 @@
|
|
|
8290
8297
|
"location": "query",
|
|
8291
8298
|
"required": false,
|
|
8292
8299
|
"description": "Filtros estruturados (mesmo formato de conversations_filter). JSON-string de condicoes no formato do endpoint /filter correspondente (ex: [{\"attribute_key\":\"status\",\"filter_operator\":\"equal_to\",\"values\":[\"open\"]}]). Cap 10 condicoes; payload invalido = 422"
|
|
8300
|
+
},
|
|
8301
|
+
{
|
|
8302
|
+
"name": "date_basis",
|
|
8303
|
+
"type": "string",
|
|
8304
|
+
"location": "query",
|
|
8305
|
+
"required": false,
|
|
8306
|
+
"description": "OPCIONAL. Qual data o periodo (since/until) usa: `activity` (padrao e qualquer outro valor: conversas e contatos pela ULTIMA ATIVIDADE, artigos pela ultima atualizacao) ou `created` (pela data de CRIACAO). Mensagens ja sao por criacao e cards do Kanban nao tem periodo. Valor invalido nunca da erro."
|
|
8293
8307
|
}
|
|
8294
8308
|
],
|
|
8295
8309
|
"returns": "{ payload: { conversations: [...] } } — sem meta. [29/07] Cada conversa traz `labels` (etiquetas da conversa) e `status`, alem de contato, caixa, responsavel e ultima mensagem — nao e preciso outra chamada so pra saber a etiqueta.",
|
|
@@ -8323,14 +8337,14 @@
|
|
|
8323
8337
|
"type": "string",
|
|
8324
8338
|
"location": "query",
|
|
8325
8339
|
"required": false,
|
|
8326
|
-
"description": "Inicio do periodo
|
|
8340
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para tras. Filtra pela ULTIMA ATIVIDADE do contato (last_activity_at)."
|
|
8327
8341
|
},
|
|
8328
8342
|
{
|
|
8329
8343
|
"name": "until",
|
|
8330
8344
|
"type": "string",
|
|
8331
8345
|
"location": "query",
|
|
8332
8346
|
"required": false,
|
|
8333
|
-
"description": "Fim do periodo
|
|
8347
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para frente. Filtra pela ULTIMA ATIVIDADE do contato (last_activity_at)."
|
|
8334
8348
|
},
|
|
8335
8349
|
{
|
|
8336
8350
|
"name": "page",
|
|
@@ -8345,6 +8359,13 @@
|
|
|
8345
8359
|
"location": "query",
|
|
8346
8360
|
"required": false,
|
|
8347
8361
|
"description": "Filtros estruturados (mesmo formato de contacts_filter). JSON-string de condicoes no formato do endpoint /filter correspondente (ex: [{\"attribute_key\":\"status\",\"filter_operator\":\"equal_to\",\"values\":[\"open\"]}]). Cap 10 condicoes; payload invalido = 422"
|
|
8362
|
+
},
|
|
8363
|
+
{
|
|
8364
|
+
"name": "date_basis",
|
|
8365
|
+
"type": "string",
|
|
8366
|
+
"location": "query",
|
|
8367
|
+
"required": false,
|
|
8368
|
+
"description": "OPCIONAL. Qual data o periodo (since/until) usa: `activity` (padrao e qualquer outro valor: conversas e contatos pela ULTIMA ATIVIDADE, artigos pela ultima atualizacao) ou `created` (pela data de CRIACAO). Mensagens ja sao por criacao e cards do Kanban nao tem periodo. Valor invalido nunca da erro."
|
|
8348
8369
|
}
|
|
8349
8370
|
],
|
|
8350
8371
|
"returns": "{ payload: { contacts: [...] } } — sem meta e sem total; 15 contatos por pagina, use `page` para as proximas, ordenados por atividade mais recente (last_activity_at desc). [29/07] Cada contato traz id, name, email, phone_number, identifier, `labels` (nomes das etiquetas do contato), `thumbnail` (foto), `last_activity_at` (unix) e `additional_attributes` — e dentro dele que ficam os dados cadastrais (`cadastral`: CPF/CNPJ/RG/endereco) e os atributos personalizados.",
|
|
@@ -8392,14 +8413,14 @@
|
|
|
8392
8413
|
"type": "string",
|
|
8393
8414
|
"location": "query",
|
|
8394
8415
|
"required": false,
|
|
8395
|
-
"description": "Inicio do periodo
|
|
8416
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para tras."
|
|
8396
8417
|
},
|
|
8397
8418
|
{
|
|
8398
8419
|
"name": "until",
|
|
8399
8420
|
"type": "string",
|
|
8400
8421
|
"location": "query",
|
|
8401
8422
|
"required": false,
|
|
8402
|
-
"description": "Fim do periodo
|
|
8423
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato. Depende da \"Busca avancada\" ligada na conta (nasce DESLIGADA — sem ela o filtro e ignorado em silencio). Cortado em SILENCIO a 90 dias para frente."
|
|
8403
8424
|
},
|
|
8404
8425
|
{
|
|
8405
8426
|
"name": "page",
|
|
@@ -13480,14 +13501,14 @@
|
|
|
13480
13501
|
"type": "string",
|
|
13481
13502
|
"location": "query",
|
|
13482
13503
|
"required": false,
|
|
13483
|
-
"description": "Data inicio (YYYY-MM-DD)"
|
|
13504
|
+
"description": "Data inicio (YYYY-MM-DD, dia inteiro no fuso da conta)"
|
|
13484
13505
|
},
|
|
13485
13506
|
{
|
|
13486
13507
|
"name": "date_to",
|
|
13487
13508
|
"type": "string",
|
|
13488
13509
|
"location": "query",
|
|
13489
13510
|
"required": false,
|
|
13490
|
-
"description": "Data fim (YYYY-MM-DD)"
|
|
13511
|
+
"description": "Data fim (YYYY-MM-DD, dia inteiro no fuso da conta)"
|
|
13491
13512
|
},
|
|
13492
13513
|
{
|
|
13493
13514
|
"name": "favorited",
|
|
@@ -15085,14 +15106,14 @@
|
|
|
15085
15106
|
"type": "string",
|
|
15086
15107
|
"location": "query",
|
|
15087
15108
|
"required": false,
|
|
15088
|
-
"description": "Inicio do periodo
|
|
15109
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
15089
15110
|
},
|
|
15090
15111
|
{
|
|
15091
15112
|
"name": "until",
|
|
15092
15113
|
"type": "string",
|
|
15093
15114
|
"location": "query",
|
|
15094
15115
|
"required": false,
|
|
15095
|
-
"description": "Fim do periodo
|
|
15116
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
15096
15117
|
},
|
|
15097
15118
|
{
|
|
15098
15119
|
"name": "inbox_id",
|
|
@@ -22288,14 +22309,14 @@
|
|
|
22288
22309
|
"type": "string",
|
|
22289
22310
|
"location": "query",
|
|
22290
22311
|
"required": false,
|
|
22291
|
-
"description": "
|
|
22312
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
22292
22313
|
},
|
|
22293
22314
|
{
|
|
22294
22315
|
"name": "until",
|
|
22295
22316
|
"type": "string",
|
|
22296
22317
|
"location": "query",
|
|
22297
22318
|
"required": false,
|
|
22298
|
-
"description": "
|
|
22319
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
22299
22320
|
},
|
|
22300
22321
|
{
|
|
22301
22322
|
"name": "user_ids",
|
|
@@ -22347,14 +22368,14 @@
|
|
|
22347
22368
|
"type": "string",
|
|
22348
22369
|
"location": "query",
|
|
22349
22370
|
"required": false,
|
|
22350
|
-
"description": "Inicio do periodo
|
|
22371
|
+
"description": "Inicio do periodo (ex: 1782864000 ou 2026-10-01). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
22351
22372
|
},
|
|
22352
22373
|
{
|
|
22353
22374
|
"name": "until",
|
|
22354
22375
|
"type": "string",
|
|
22355
22376
|
"location": "query",
|
|
22356
22377
|
"required": false,
|
|
22357
|
-
"description": "Fim do periodo
|
|
22378
|
+
"description": "Fim do periodo (ex: 1782864000 ou 2026-10-05). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
22358
22379
|
},
|
|
22359
22380
|
{
|
|
22360
22381
|
"name": "user_ids",
|
|
@@ -22407,14 +22428,14 @@
|
|
|
22407
22428
|
"type": "string",
|
|
22408
22429
|
"location": "query",
|
|
22409
22430
|
"required": false,
|
|
22410
|
-
"description": "
|
|
22431
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
22411
22432
|
},
|
|
22412
22433
|
{
|
|
22413
22434
|
"name": "until",
|
|
22414
22435
|
"type": "string",
|
|
22415
22436
|
"location": "query",
|
|
22416
22437
|
"required": false,
|
|
22417
|
-
"description": "
|
|
22438
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
22418
22439
|
}
|
|
22419
22440
|
],
|
|
22420
22441
|
"returns": "arquivo CSV (csat_report.csv)",
|
|
@@ -23869,14 +23890,14 @@
|
|
|
23869
23890
|
"type": "string",
|
|
23870
23891
|
"location": "query",
|
|
23871
23892
|
"required": false,
|
|
23872
|
-
"description": "Início ISO 8601"
|
|
23893
|
+
"description": "Início ISO 8601. Tambem aceita unix e AAAA-MM-DD (dia inteiro no fuso da conta)."
|
|
23873
23894
|
},
|
|
23874
23895
|
{
|
|
23875
23896
|
"name": "until",
|
|
23876
23897
|
"type": "string",
|
|
23877
23898
|
"location": "query",
|
|
23878
23899
|
"required": false,
|
|
23879
|
-
"description": "Fim ISO 8601 (máx 30 dias após since)"
|
|
23900
|
+
"description": "Fim ISO 8601 (máx 30 dias após since). Tambem aceita unix e AAAA-MM-DD (ate 23:59:59 no fuso da conta)."
|
|
23880
23901
|
},
|
|
23881
23902
|
{
|
|
23882
23903
|
"name": "utm_source",
|
|
@@ -26402,7 +26423,7 @@
|
|
|
26402
26423
|
"method": "GET",
|
|
26403
26424
|
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents",
|
|
26404
26425
|
"title": "Documentos do Contato",
|
|
26405
|
-
"description": "Central de arquivos do contato: uploads diretos + espelho dos anexos dos cards Kanban + das conversas (só imagem/documento). Dedup por arquivo. (25/09) O mesmo arquivo em varias origens vem UMA vez (representado pelo upload da ficha, se houver); cada item traz contacts [{id,name}]. Contrato assinado so aparece para quem pode ver contratos; arquivo de compromisso particular de outra pessoa nao aparece. mirror aceita tambem anexo de compromisso e de contrato.",
|
|
26426
|
+
"description": "Central de arquivos do contato: uploads diretos + espelho dos anexos dos cards Kanban + das conversas (só imagem/documento). Dedup por arquivo. (25/09) O mesmo arquivo em varias origens vem UMA vez (representado pelo upload da ficha, se houver); cada item traz contacts [{id,name}]. Contrato assinado so aparece para quem pode ver contratos; arquivo de compromisso particular de outra pessoa nao aparece. mirror aceita tambem anexo de compromisso e de contrato. (06/10) PAGINACAO OPCIONAL: com `page` (50 por pagina, ate 100) o servidor devolve so aquela pagina e ja aplica os filtros source/type/favorite/q — recomendado para quem tem muitos arquivos, porque so os itens da pagina trazem os links assinados (open_url/download_url/preview_url). Sem `page` continua a lista inteira.",
|
|
26406
26427
|
"category": "Documentos do Contato",
|
|
26407
26428
|
"params": [
|
|
26408
26429
|
{
|
|
@@ -26411,9 +26432,51 @@
|
|
|
26411
26432
|
"location": "path",
|
|
26412
26433
|
"required": true,
|
|
26413
26434
|
"description": "ID do contato"
|
|
26435
|
+
},
|
|
26436
|
+
{
|
|
26437
|
+
"name": "page",
|
|
26438
|
+
"type": "integer",
|
|
26439
|
+
"location": "query",
|
|
26440
|
+
"required": false,
|
|
26441
|
+
"description": "PAGINA (a partir de 1). Ativa a paginacao NO SERVIDOR: devolve so os itens da pagina e `meta`. Sem `page` a resposta e a lista inteira, como sempre. Pagina que nao existe mais vira a ultima."
|
|
26442
|
+
},
|
|
26443
|
+
{
|
|
26444
|
+
"name": "per_page",
|
|
26445
|
+
"type": "integer",
|
|
26446
|
+
"location": "query",
|
|
26447
|
+
"required": false,
|
|
26448
|
+
"description": "Itens por pagina (padrao 50, maximo 100). So vale com `page`."
|
|
26449
|
+
},
|
|
26450
|
+
{
|
|
26451
|
+
"name": "source",
|
|
26452
|
+
"type": "string",
|
|
26453
|
+
"location": "query",
|
|
26454
|
+
"required": false,
|
|
26455
|
+
"description": "Filtra pela origem: contact, kanban, conversation, agenda, lead_form ou esignature. So vale com `page`."
|
|
26456
|
+
},
|
|
26457
|
+
{
|
|
26458
|
+
"name": "type",
|
|
26459
|
+
"type": "string",
|
|
26460
|
+
"location": "query",
|
|
26461
|
+
"required": false,
|
|
26462
|
+
"description": "Filtra pelo tipo do arquivo: images, pdf, sheets, docs ou other. Valor desconhecido e ignorado. So vale com `page`."
|
|
26463
|
+
},
|
|
26464
|
+
{
|
|
26465
|
+
"name": "favorite",
|
|
26466
|
+
"type": "boolean",
|
|
26467
|
+
"location": "query",
|
|
26468
|
+
"required": false,
|
|
26469
|
+
"description": "true = so os favoritos. So vale com `page`."
|
|
26470
|
+
},
|
|
26471
|
+
{
|
|
26472
|
+
"name": "q",
|
|
26473
|
+
"type": "string",
|
|
26474
|
+
"location": "query",
|
|
26475
|
+
"required": false,
|
|
26476
|
+
"description": "Busca no nome do arquivo (sem diferenciar maiuscula). So vale com `page`."
|
|
26414
26477
|
}
|
|
26415
26478
|
],
|
|
26416
|
-
"returns": "{payload: [...]} ordenado por favorito e depois data. source tem 5 origens: contact, kanban, conversation, agenda e lead_form (NOVO 18/08 — arquivos que o lead enviou num formulario publico; itens trazem lead_form_id e lead_form_name; aparecem depois que a resposta e ligada ao contato). Anexo de lead_form aceita mirror (renomear/favoritar) mas NAO aceita destroy_mirror (422) — o arquivo pertence a resposta do formulario.",
|
|
26479
|
+
"returns": "{payload: [...]} ordenado por favorito e depois data. source tem 5 origens: contact, kanban, conversation, agenda e lead_form (NOVO 18/08 — arquivos que o lead enviou num formulario publico; itens trazem lead_form_id e lead_form_name; aparecem depois que a resposta e ligada ao contato). Anexo de lead_form aceita mirror (renomear/favoritar) mas NAO aceita destroy_mirror (422) — o arquivo pertence a resposta do formulario. Com `page`: {payload: [so a pagina], meta: {total (ja filtrado), page, per_page, total_pages, contacts, truncated}}; o payload mantem a mesma ordem (favoritos, depois data) e as paginas juntas dao a lista inteira.",
|
|
26417
26480
|
"common_use_cases": [
|
|
26418
26481
|
"Ver todos os arquivos de um cliente num lugar só"
|
|
26419
26482
|
],
|
|
@@ -26754,7 +26817,7 @@
|
|
|
26754
26817
|
"method": "GET",
|
|
26755
26818
|
"path": "/api/v2/accounts/{account_id}/lead_origin_reports",
|
|
26756
26819
|
"title": "Relatório de Origem dos Leads",
|
|
26757
|
-
"description": "SÓ LEITURA. Agregado de origem dos leads/conversas: de qual plataforma, tipo, campanha, conjunto de anúncios e criativo vieram, com totais e taxa de conversão. Janela padrão: últimos 30 dias. Cruza os atributos origin_* das conversas + leads órfãos (contatos sem conversa); 'won' = cards em estágios de ganho do Kanban; leads únicos deduplicados por telefone. Permite drill-down por níveis (plataforma → tipo → campanha → conjunto → criativo).",
|
|
26820
|
+
"description": "SÓ LEITURA. Agregado de origem dos leads/conversas: de qual plataforma, tipo, campanha, conjunto de anúncios e criativo vieram, com totais e taxa de conversão. Janela padrão: últimos 30 dias. Cruza os atributos origin_* das conversas + leads órfãos (contatos sem conversa); 'won' = cards em estágios de ganho do Kanban; leads únicos deduplicados por telefone. Permite drill-down por níveis (plataforma → tipo → campanha → conjunto → criativo). Filtra por caixa (inbox_id) e por responsável (assignee_id) — em conta com mais de uma loja, SEM inbox_id o relatório soma todas as caixas. campaign/adset aceitam o valor especial \"__none__\" = TODO lead sem nome de campanha/conjunto (diretos, orgânicos e também os de anúncio cujo nome a Meta não deixou ler); para isolar só os de anúncio sem nome, combine com kind=paid_ad.",
|
|
26758
26821
|
"category": "Relatorios",
|
|
26759
26822
|
"params": [
|
|
26760
26823
|
{
|
|
@@ -26762,14 +26825,14 @@
|
|
|
26762
26825
|
"type": "string",
|
|
26763
26826
|
"location": "query",
|
|
26764
26827
|
"required": false,
|
|
26765
|
-
"description": "Início ISO 8601 (padrão: 30 dias atrás)"
|
|
26828
|
+
"description": "Início ISO 8601 (padrão: 30 dias atrás). Tambem aceita unix e AAAA-MM-DD (dia inteiro no fuso da conta)."
|
|
26766
26829
|
},
|
|
26767
26830
|
{
|
|
26768
26831
|
"name": "until",
|
|
26769
26832
|
"type": "string",
|
|
26770
26833
|
"location": "query",
|
|
26771
26834
|
"required": false,
|
|
26772
|
-
"description": "Fim ISO 8601 (padrão: agora)"
|
|
26835
|
+
"description": "Fim ISO 8601 (padrão: agora). Tambem aceita unix e AAAA-MM-DD (ate 23:59:59 no fuso da conta)."
|
|
26773
26836
|
},
|
|
26774
26837
|
{
|
|
26775
26838
|
"name": "funnel_id",
|
|
@@ -26797,14 +26860,28 @@
|
|
|
26797
26860
|
"type": "string",
|
|
26798
26861
|
"location": "query",
|
|
26799
26862
|
"required": false,
|
|
26800
|
-
"description": "Filtra por campanha"
|
|
26863
|
+
"description": "Filtra por campanha (nome exato). Valor especial \"__none__\" = leads sem nome de campanha (todos, não só os de anúncio)."
|
|
26801
26864
|
},
|
|
26802
26865
|
{
|
|
26803
26866
|
"name": "adset",
|
|
26804
26867
|
"type": "string",
|
|
26805
26868
|
"location": "query",
|
|
26806
26869
|
"required": false,
|
|
26807
|
-
"description": "Filtra por conjunto de anúncios"
|
|
26870
|
+
"description": "Filtra por conjunto de anúncios (nome exato). Valor especial \"__none__\" = leads sem nome de conjunto."
|
|
26871
|
+
},
|
|
26872
|
+
{
|
|
26873
|
+
"name": "inbox_id",
|
|
26874
|
+
"type": "integer",
|
|
26875
|
+
"location": "query",
|
|
26876
|
+
"required": false,
|
|
26877
|
+
"description": "Filtra por caixa de entrada. Essencial em conta com mais de uma loja/unidade: sem ele o relatorio soma TODAS as caixas da conta. Leads orfaos (contato sem conversa nenhuma) saem da contagem quando este filtro esta ligado — eles nao pertencem a caixa nenhuma."
|
|
26878
|
+
},
|
|
26879
|
+
{
|
|
26880
|
+
"name": "assignee_id",
|
|
26881
|
+
"type": "integer",
|
|
26882
|
+
"location": "query",
|
|
26883
|
+
"required": false,
|
|
26884
|
+
"description": "Filtra pelo responsavel (atendente) da conversa. Leads orfaos saem da contagem quando este filtro esta ligado — eles nao tem responsavel."
|
|
26808
26885
|
},
|
|
26809
26886
|
{
|
|
26810
26887
|
"name": "group_by",
|
|
@@ -26870,7 +26947,7 @@
|
|
|
26870
26947
|
"type": "number",
|
|
26871
26948
|
"location": "body",
|
|
26872
26949
|
"required": false,
|
|
26873
|
-
"description": "Fuso em HORAS.
|
|
26950
|
+
"description": "Fuso em HORAS. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3). O padrao da conta e America/Sao_Paulo (-3); Mato Grosso do Sul e -4. Em janela de UM DIA ('today'/'yesterday') o fuso decide em que dia cai o que aconteceu de madrugada."
|
|
26874
26951
|
},
|
|
26875
26952
|
{
|
|
26876
26953
|
"name": "time_range",
|
|
@@ -27022,7 +27099,7 @@
|
|
|
27022
27099
|
"type": "number",
|
|
27023
27100
|
"location": "query",
|
|
27024
27101
|
"required": false,
|
|
27025
|
-
"description": "Fuso em HORAS.
|
|
27102
|
+
"description": "Fuso em HORAS. Opcional. Ausente usa o fuso DA CONTA (correto para quase todos os casos); so envie para olhar de OUTRO fuso, em horas (ex: -3). O padrao da conta e America/Sao_Paulo (-3); Mato Grosso do Sul e -4. Em janela de UM DIA ('today'/'yesterday') o fuso decide em que dia cai o que aconteceu de madrugada."
|
|
27026
27103
|
},
|
|
27027
27104
|
{
|
|
27028
27105
|
"name": "measure",
|
|
@@ -28475,14 +28552,14 @@
|
|
|
28475
28552
|
"type": "string",
|
|
28476
28553
|
"location": "query",
|
|
28477
28554
|
"required": false,
|
|
28478
|
-
"description": "Data inicial
|
|
28555
|
+
"description": "Data inicial (AAAA-MM-DD; o dia inteiro entra, no fuso da conta). Tambem aceita unix e ISO 8601."
|
|
28479
28556
|
},
|
|
28480
28557
|
{
|
|
28481
28558
|
"name": "until",
|
|
28482
28559
|
"type": "string",
|
|
28483
28560
|
"location": "query",
|
|
28484
28561
|
"required": false,
|
|
28485
|
-
"description": "Data final
|
|
28562
|
+
"description": "Data final (AAAA-MM-DD; o dia inteiro entra, no fuso da conta). Tambem aceita unix e ISO 8601."
|
|
28486
28563
|
},
|
|
28487
28564
|
{
|
|
28488
28565
|
"name": "q",
|
|
@@ -33749,14 +33826,14 @@
|
|
|
33749
33826
|
"type": "string",
|
|
33750
33827
|
"location": "query",
|
|
33751
33828
|
"required": false,
|
|
33752
|
-
"description": "
|
|
33829
|
+
"description": "Inicio do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
33753
33830
|
},
|
|
33754
33831
|
{
|
|
33755
33832
|
"name": "until",
|
|
33756
33833
|
"type": "string",
|
|
33757
33834
|
"location": "query",
|
|
33758
33835
|
"required": false,
|
|
33759
|
-
"description": "Fim
|
|
33836
|
+
"description": "Fim do periodo. Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
33760
33837
|
},
|
|
33761
33838
|
{
|
|
33762
33839
|
"name": "inbox_id",
|
|
@@ -33825,14 +33902,21 @@
|
|
|
33825
33902
|
"type": "string",
|
|
33826
33903
|
"location": "query",
|
|
33827
33904
|
"required": false,
|
|
33828
|
-
"description": "
|
|
33905
|
+
"description": "Inicio do periodo (so com Busca avancada). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
33829
33906
|
},
|
|
33830
33907
|
{
|
|
33831
33908
|
"name": "until",
|
|
33832
33909
|
"type": "string",
|
|
33833
33910
|
"location": "query",
|
|
33834
33911
|
"required": false,
|
|
33835
|
-
"description": "Fim
|
|
33912
|
+
"description": "Fim do periodo (so com Busca avancada). Aceita: unix em SEGUNDOS (o mais seguro), unix em milissegundos, ISO 8601 (com Z ou offset; sem offset vale a hora da conta) e data pura AAAA-MM-DD (dia INTEIRO no fuso da conta: inicio 00:00:00, fim 23:59:59). Texto ilegivel devolve 400 com a explicacao do formato."
|
|
33913
|
+
},
|
|
33914
|
+
{
|
|
33915
|
+
"name": "date_basis",
|
|
33916
|
+
"type": "string",
|
|
33917
|
+
"location": "query",
|
|
33918
|
+
"required": false,
|
|
33919
|
+
"description": "OPCIONAL. Qual data o periodo (since/until) usa: `activity` (padrao e qualquer outro valor: conversas e contatos pela ULTIMA ATIVIDADE, artigos pela ultima atualizacao) ou `created` (pela data de CRIACAO). Mensagens ja sao por criacao e cards do Kanban nao tem periodo. Valor invalido nunca da erro."
|
|
33836
33920
|
}
|
|
33837
33921
|
],
|
|
33838
33922
|
"returns": "{payload: {articles: [{id, title, locale, content, slug, portal_slug, account_id, category_name, status, updated_at (unix)}]}}",
|
|
@@ -35829,7 +35913,7 @@
|
|
|
35829
35913
|
"method": "GET",
|
|
35830
35914
|
"path": "/api/v1/accounts/{account_id}/companies/{company_id}/documents",
|
|
35831
35915
|
"title": "Documentos da Empresa",
|
|
35832
|
-
"description": "Documentos de TODOS os contatos da empresa juntos (mesmas origens e regras da aba Documentos do contato: ficha, card, conversa, compromisso, formulario e contrato assinado). Cada item traz contacts [{id, name}] (de quem e). O mesmo arquivo mandado a varios contatos vem UMA vez, com todos os nomes. SO LEITURA: favoritar/renomear/enviar/apagar e pela ficha do contato (lionchat_contacts_documents_*).
|
|
35916
|
+
"description": "Documentos de TODOS os contatos da empresa juntos (mesmas origens e regras da aba Documentos do contato: ficha, card, conversa, compromisso, formulario e contrato assinado). Cada item traz contacts [{id, name}] (de quem e). O mesmo arquivo mandado a varios contatos vem UMA vez, com todos os nomes. SO LEITURA: favoritar/renomear/enviar/apagar e pela ficha do contato (lionchat_contacts_documents_*). Teto de 1000 (meta.truncated avisa). (06/10) PAGINACAO OPCIONAL: com `page` (50 por pagina, ate 100) devolve so a pagina e aplica os filtros source/type/favorite/q/owner_id no servidor; sem `page`, a lista inteira.",
|
|
35833
35917
|
"category": "Empresas",
|
|
35834
35918
|
"params": [
|
|
35835
35919
|
{
|
|
@@ -35838,9 +35922,58 @@
|
|
|
35838
35922
|
"location": "path",
|
|
35839
35923
|
"required": true,
|
|
35840
35924
|
"description": "ID da empresa"
|
|
35925
|
+
},
|
|
35926
|
+
{
|
|
35927
|
+
"name": "page",
|
|
35928
|
+
"type": "integer",
|
|
35929
|
+
"location": "query",
|
|
35930
|
+
"required": false,
|
|
35931
|
+
"description": "PAGINA (a partir de 1). Ativa a paginacao NO SERVIDOR: devolve so os itens da pagina e `meta`. Sem `page` a resposta e a lista inteira, como sempre. Pagina que nao existe mais vira a ultima."
|
|
35932
|
+
},
|
|
35933
|
+
{
|
|
35934
|
+
"name": "per_page",
|
|
35935
|
+
"type": "integer",
|
|
35936
|
+
"location": "query",
|
|
35937
|
+
"required": false,
|
|
35938
|
+
"description": "Itens por pagina (padrao 50, maximo 100). So vale com `page`."
|
|
35939
|
+
},
|
|
35940
|
+
{
|
|
35941
|
+
"name": "source",
|
|
35942
|
+
"type": "string",
|
|
35943
|
+
"location": "query",
|
|
35944
|
+
"required": false,
|
|
35945
|
+
"description": "Filtra pela origem: contact, kanban, conversation, agenda, lead_form ou esignature. So vale com `page`."
|
|
35946
|
+
},
|
|
35947
|
+
{
|
|
35948
|
+
"name": "type",
|
|
35949
|
+
"type": "string",
|
|
35950
|
+
"location": "query",
|
|
35951
|
+
"required": false,
|
|
35952
|
+
"description": "Filtra pelo tipo do arquivo: images, pdf, sheets, docs ou other. Valor desconhecido e ignorado. So vale com `page`."
|
|
35953
|
+
},
|
|
35954
|
+
{
|
|
35955
|
+
"name": "favorite",
|
|
35956
|
+
"type": "boolean",
|
|
35957
|
+
"location": "query",
|
|
35958
|
+
"required": false,
|
|
35959
|
+
"description": "true = so os favoritos. So vale com `page`."
|
|
35960
|
+
},
|
|
35961
|
+
{
|
|
35962
|
+
"name": "q",
|
|
35963
|
+
"type": "string",
|
|
35964
|
+
"location": "query",
|
|
35965
|
+
"required": false,
|
|
35966
|
+
"description": "Busca no nome do arquivo (sem diferenciar maiuscula). So vale com `page`."
|
|
35967
|
+
},
|
|
35968
|
+
{
|
|
35969
|
+
"name": "owner_id",
|
|
35970
|
+
"type": "integer",
|
|
35971
|
+
"location": "query",
|
|
35972
|
+
"required": false,
|
|
35973
|
+
"description": "Filtra pelo DONO do arquivo (id de um contato da empresa; os donos disponiveis vem em meta.contacts). So vale com `page`."
|
|
35841
35974
|
}
|
|
35842
35975
|
],
|
|
35843
|
-
"returns": "{payload: [...], meta: {total, truncated}}",
|
|
35976
|
+
"returns": "{payload: [...], meta: {total, truncated}}. Com `page`: meta = {total (ja filtrado), page, per_page, total_pages, contacts (os donos de TODOS os arquivos, para montar o filtro), truncated}.",
|
|
35844
35977
|
"common_use_cases": [
|
|
35845
35978
|
"Achar um arquivo de qualquer pessoa da empresa",
|
|
35846
35979
|
"Conferir documentos enviados para a empresa"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionchat/mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.30.0",
|
|
4
4
|
"description": "MCP server for LionChat API — 547 tools + 10 resources + 9 prompts. Audit-log aware, completion API, progress notifications.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|