@lionchat/mcp-server 1.28.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/client.js +16 -0
- package/dist/client.js.map +1 -1
- package/dist/docs/instructions.md +2 -2
- package/dist/docs/resources/best-practices.md +28 -0
- package/dist/docs/resources/data-model.md +17 -0
- package/dist/docs/resources/filtros-e-relatorios.md +22 -4
- 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 +39 -5
- package/dist/docs/resources/troubleshooting.md +73 -2
- package/dist/tools.js +31 -18
- package/dist/tools.js.map +1 -1
- package/endpoints.json +215 -68
- package/package.json +1 -1
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",
|
|
@@ -14278,7 +14299,7 @@
|
|
|
14278
14299
|
"description": "Lista todos os roles personalizados da conta. Lista papéis personalizados paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de papel personalizado).",
|
|
14279
14300
|
"category": "Roles Personalizados",
|
|
14280
14301
|
"params": [],
|
|
14281
|
-
"returns": "Lista pura (array), sem embrulho: a resposta E o array de papeis personalizados da conta. Cada papel traz id, name, description, `permissions` (lista de permissoes) e created_at/updated_at. Sem paginacao e sem contador. Recurso Enterprise — em instalacao sem Enterprise a rota nao responde.",
|
|
14302
|
+
"returns": "Lista pura (array), sem embrulho: a resposta E o array de papeis personalizados da conta. Cada papel traz id, name, description, `permissions` (lista de permissoes), `hidden_menus` (lista dos menus ocultos; [] = ve todos) e created_at/updated_at. Sem paginacao e sem contador. Recurso Enterprise — em instalacao sem Enterprise a rota nao responde.",
|
|
14282
14303
|
"common_use_cases": [
|
|
14283
14304
|
"Dashboard: contar/exibir papéis personalizados",
|
|
14284
14305
|
"Buscar com filtros antes de outra operação",
|
|
@@ -14295,7 +14316,7 @@
|
|
|
14295
14316
|
"method": "POST",
|
|
14296
14317
|
"path": "/api/v1/accounts/{account_id}/custom_roles",
|
|
14297
14318
|
"title": "Criar Role",
|
|
14298
|
-
"description": "Cria um novo role personalizado.
|
|
14319
|
+
"description": "Cria um novo role personalizado. Obrigatorios: name, permissions. Opcional: hidden_menus (menus que este cargo NAO ve). Retorna o papel personalizado criado com ID atribuido.",
|
|
14299
14320
|
"category": "Roles Personalizados",
|
|
14300
14321
|
"params": [
|
|
14301
14322
|
{
|
|
@@ -14317,7 +14338,14 @@
|
|
|
14317
14338
|
"type": "array",
|
|
14318
14339
|
"location": "body",
|
|
14319
14340
|
"required": true,
|
|
14320
|
-
"description": "Array de permissoes (array de strings). Valores aceitos (
|
|
14341
|
+
"description": "Array de permissoes (array de strings). Valores aceitos (24): conversation_manage, conversation_delete, conversation_unassigned_manage, conversation_participating_manage, conversation_team_manage, conversation_assigned_manage (Ver conversas dos colegas: so as que JA TEM responsavel, nas caixas de que a pessoa e membro; nunca a fila sem dono — 02/10/2026), contact_manage, contact_export_import, report_manage, knowledge_base_manage, kanban_manage, kanban_view, kanban_delete, kanban_export_import, offer_manage, funnel_manage, campaign_manage, automation_manage, marketing_integrations_manage, captain_manage, flowbuilder_manage, lead_form_manage (Formularios publicos, 05/09), signature_manage (Assinatura eletronica, 05/09), agenda_manage (Gerenciar a Agenda). Fora da lista = recusado. Administrador tem tudo sem cargo; agente sem cargo nao tem lead_form_manage nem signature_manage (nao ve Formularios nem Assinaturas no menu). O editor da tela marca junto as que uma inclui: conversation_manage inclui as 4 outras de conversa; conversation_team_manage inclui conversation_participating_manage; kanban_manage inclui kanban_view. Mande a lista ja completa."
|
|
14342
|
+
},
|
|
14343
|
+
{
|
|
14344
|
+
"name": "hidden_menus",
|
|
14345
|
+
"type": "array",
|
|
14346
|
+
"location": "body",
|
|
14347
|
+
"required": false,
|
|
14348
|
+
"description": "Menus DESMARCADOS em 'Acessar menu X' (array de strings, 02/10/2026). Valores aceitos: contacts, companies, kanban, flows, macros, ai_agent, help_center, agenda, internal_chat. `flows` vale para Fluxos E Automacao juntos (na tela: 'Acessar menu Fluxos e Automacao'): esconde ou libera os dois; a Automacao continua so para quem tem automation_manage. SUBSTITUI a lista inteira (mande todos os que devem ficar ocultos; [] = mostra todos). Campo AUSENTE no pedido NAO muda o que esta gravado. Menu oculto some da barra lateral e a tela dele fica fechada no servidor; o que a pessoa usa dentro da conversa continua (ex.: executar macro, ligar/desligar a IA, agendar tarefa). RECUSADO com 422: texto solto ou objeto no lugar da lista, menu desconhecido, e menu oculto junto do 'Gerenciar' da mesma area (contacts x contact_manage; kanban x kanban_manage/kanban_view/kanban_delete/kanban_export_import/offer_manage/funnel_manage; flows x flowbuilder_manage/automation_manage; ai_agent x captain_manage; help_center x knowledge_base_manage; agenda x agenda_manage). contact_export_import NAO conflita com contacts. Nunca esconde nada de administrador nem de conta sem o recurso de cargo personalizado. A mudanca vale NA HORA para quem tem o cargo (a tela dela se atualiza sozinha)."
|
|
14321
14349
|
}
|
|
14322
14350
|
],
|
|
14323
14351
|
"returns": "papel personalizado criado (com novo ID)",
|
|
@@ -14349,7 +14377,7 @@
|
|
|
14349
14377
|
"description": "ID do role"
|
|
14350
14378
|
}
|
|
14351
14379
|
],
|
|
14352
|
-
"returns": "papel personalizado
|
|
14380
|
+
"returns": "papel personalizado: id, name, description, permissions, hidden_menus, created_at, updated_at",
|
|
14353
14381
|
"common_use_cases": [
|
|
14354
14382
|
"Ver dados completos antes de editar",
|
|
14355
14383
|
"Verificar estado atual antes de uma ação",
|
|
@@ -14366,7 +14394,7 @@
|
|
|
14366
14394
|
"method": "PUT",
|
|
14367
14395
|
"path": "/api/v1/accounts/{account_id}/custom_roles/{id}",
|
|
14368
14396
|
"title": "Atualizar Role",
|
|
14369
|
-
"description": "Atualiza um role personalizado.
|
|
14397
|
+
"description": "Atualiza um role personalizado. Suporta atualizacao parcial — so os campos enviados mudam. Campos: name, description, permissions, hidden_menus. Mudar permissions ou hidden_menus avisa ao vivo SO as pessoas que tem este cargo (a tela delas se ajusta sem recarregar).",
|
|
14370
14398
|
"category": "Roles Personalizados",
|
|
14371
14399
|
"params": [
|
|
14372
14400
|
{
|
|
@@ -14395,7 +14423,14 @@
|
|
|
14395
14423
|
"type": "array",
|
|
14396
14424
|
"location": "body",
|
|
14397
14425
|
"required": false,
|
|
14398
|
-
"description": "Permissoes (array de strings). Valores aceitos (
|
|
14426
|
+
"description": "Permissoes (array de strings). Valores aceitos (24): conversation_manage, conversation_delete, conversation_unassigned_manage, conversation_participating_manage, conversation_team_manage, conversation_assigned_manage (Ver conversas dos colegas: so as que JA TEM responsavel, nas caixas de que a pessoa e membro; nunca a fila sem dono — 02/10/2026), contact_manage, contact_export_import, report_manage, knowledge_base_manage, kanban_manage, kanban_view, kanban_delete, kanban_export_import, offer_manage, funnel_manage, campaign_manage, automation_manage, marketing_integrations_manage, captain_manage, flowbuilder_manage, lead_form_manage (Formularios publicos, 05/09), signature_manage (Assinatura eletronica, 05/09), agenda_manage (Gerenciar a Agenda). Fora da lista = recusado. Administrador tem tudo sem cargo; agente sem cargo nao tem lead_form_manage nem signature_manage (nao ve Formularios nem Assinaturas no menu). O editor da tela marca junto as que uma inclui: conversation_manage inclui as 4 outras de conversa; conversation_team_manage inclui conversation_participating_manage; kanban_manage inclui kanban_view. Mande a lista ja completa."
|
|
14427
|
+
},
|
|
14428
|
+
{
|
|
14429
|
+
"name": "hidden_menus",
|
|
14430
|
+
"type": "array",
|
|
14431
|
+
"location": "body",
|
|
14432
|
+
"required": false,
|
|
14433
|
+
"description": "Menus DESMARCADOS em 'Acessar menu X' (array de strings, 02/10/2026). Valores aceitos: contacts, companies, kanban, flows, macros, ai_agent, help_center, agenda, internal_chat. `flows` vale para Fluxos E Automacao juntos (na tela: 'Acessar menu Fluxos e Automacao'): esconde ou libera os dois; a Automacao continua so para quem tem automation_manage. SUBSTITUI a lista inteira (mande todos os que devem ficar ocultos; [] = mostra todos). Campo AUSENTE no pedido NAO muda o que esta gravado. Menu oculto some da barra lateral e a tela dele fica fechada no servidor; o que a pessoa usa dentro da conversa continua (ex.: executar macro, ligar/desligar a IA, agendar tarefa). RECUSADO com 422: texto solto ou objeto no lugar da lista, menu desconhecido, e menu oculto junto do 'Gerenciar' da mesma area (contacts x contact_manage; kanban x kanban_manage/kanban_view/kanban_delete/kanban_export_import/offer_manage/funnel_manage; flows x flowbuilder_manage/automation_manage; ai_agent x captain_manage; help_center x knowledge_base_manage; agenda x agenda_manage). contact_export_import NAO conflita com contacts. Nunca esconde nada de administrador nem de conta sem o recurso de cargo personalizado. A mudanca vale NA HORA para quem tem o cargo (a tela dela se atualiza sozinha)."
|
|
14399
14434
|
}
|
|
14400
14435
|
],
|
|
14401
14436
|
"returns": "papel personalizado atualizado",
|
|
@@ -14416,7 +14451,7 @@
|
|
|
14416
14451
|
"method": "DELETE",
|
|
14417
14452
|
"path": "/api/v1/accounts/{account_id}/custom_roles/{id}",
|
|
14418
14453
|
"title": "Excluir Role",
|
|
14419
|
-
"description": "Remove um role personalizado. Remove papel personalizado permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
|
|
14454
|
+
"description": "Remove um role personalizado. Remove papel personalizado permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes. As pessoas que tinham o cargo ficam sem cargo (voltam a ser atendente comum, com todos os menus) e a tela delas se atualiza na hora.",
|
|
14420
14455
|
"category": "Roles Personalizados",
|
|
14421
14456
|
"params": [
|
|
14422
14457
|
{
|
|
@@ -15071,14 +15106,14 @@
|
|
|
15071
15106
|
"type": "string",
|
|
15072
15107
|
"location": "query",
|
|
15073
15108
|
"required": false,
|
|
15074
|
-
"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."
|
|
15075
15110
|
},
|
|
15076
15111
|
{
|
|
15077
15112
|
"name": "until",
|
|
15078
15113
|
"type": "string",
|
|
15079
15114
|
"location": "query",
|
|
15080
15115
|
"required": false,
|
|
15081
|
-
"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."
|
|
15082
15117
|
},
|
|
15083
15118
|
{
|
|
15084
15119
|
"name": "inbox_id",
|
|
@@ -21916,7 +21951,7 @@
|
|
|
21916
21951
|
"type": "integer",
|
|
21917
21952
|
"location": "body",
|
|
21918
21953
|
"required": false,
|
|
21919
|
-
"description": "ID do cargo personalizado (custom role) a aplicar ao agente. Requer Enterprise.
|
|
21954
|
+
"description": "ID do cargo personalizado (custom role) a aplicar ao agente. Requer Enterprise. So muda quando o campo VEM no pedido: atualizar o agente SEM custom_role_id mantem o cargo atual; mandar null tira o cargo. Trocar o cargo avisa ao vivo so essa pessoa (menus e permissoes se ajustam na tela dela). Nao vale para o proprio usuario logado (422: ninguem muda o proprio cargo). Use lionchat_custom_roles_list para obter os IDs."
|
|
21920
21955
|
},
|
|
21921
21956
|
{
|
|
21922
21957
|
"name": "team_ids",
|
|
@@ -22274,14 +22309,14 @@
|
|
|
22274
22309
|
"type": "string",
|
|
22275
22310
|
"location": "query",
|
|
22276
22311
|
"required": false,
|
|
22277
|
-
"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."
|
|
22278
22313
|
},
|
|
22279
22314
|
{
|
|
22280
22315
|
"name": "until",
|
|
22281
22316
|
"type": "string",
|
|
22282
22317
|
"location": "query",
|
|
22283
22318
|
"required": false,
|
|
22284
|
-
"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."
|
|
22285
22320
|
},
|
|
22286
22321
|
{
|
|
22287
22322
|
"name": "user_ids",
|
|
@@ -22333,14 +22368,14 @@
|
|
|
22333
22368
|
"type": "string",
|
|
22334
22369
|
"location": "query",
|
|
22335
22370
|
"required": false,
|
|
22336
|
-
"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."
|
|
22337
22372
|
},
|
|
22338
22373
|
{
|
|
22339
22374
|
"name": "until",
|
|
22340
22375
|
"type": "string",
|
|
22341
22376
|
"location": "query",
|
|
22342
22377
|
"required": false,
|
|
22343
|
-
"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."
|
|
22344
22379
|
},
|
|
22345
22380
|
{
|
|
22346
22381
|
"name": "user_ids",
|
|
@@ -22393,14 +22428,14 @@
|
|
|
22393
22428
|
"type": "string",
|
|
22394
22429
|
"location": "query",
|
|
22395
22430
|
"required": false,
|
|
22396
|
-
"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."
|
|
22397
22432
|
},
|
|
22398
22433
|
{
|
|
22399
22434
|
"name": "until",
|
|
22400
22435
|
"type": "string",
|
|
22401
22436
|
"location": "query",
|
|
22402
22437
|
"required": false,
|
|
22403
|
-
"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."
|
|
22404
22439
|
}
|
|
22405
22440
|
],
|
|
22406
22441
|
"returns": "arquivo CSV (csat_report.csv)",
|
|
@@ -23855,14 +23890,14 @@
|
|
|
23855
23890
|
"type": "string",
|
|
23856
23891
|
"location": "query",
|
|
23857
23892
|
"required": false,
|
|
23858
|
-
"description": "Início ISO 8601"
|
|
23893
|
+
"description": "Início ISO 8601. Tambem aceita unix e AAAA-MM-DD (dia inteiro no fuso da conta)."
|
|
23859
23894
|
},
|
|
23860
23895
|
{
|
|
23861
23896
|
"name": "until",
|
|
23862
23897
|
"type": "string",
|
|
23863
23898
|
"location": "query",
|
|
23864
23899
|
"required": false,
|
|
23865
|
-
"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)."
|
|
23866
23901
|
},
|
|
23867
23902
|
{
|
|
23868
23903
|
"name": "utm_source",
|
|
@@ -26388,7 +26423,7 @@
|
|
|
26388
26423
|
"method": "GET",
|
|
26389
26424
|
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents",
|
|
26390
26425
|
"title": "Documentos do Contato",
|
|
26391
|
-
"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.",
|
|
26392
26427
|
"category": "Documentos do Contato",
|
|
26393
26428
|
"params": [
|
|
26394
26429
|
{
|
|
@@ -26397,9 +26432,51 @@
|
|
|
26397
26432
|
"location": "path",
|
|
26398
26433
|
"required": true,
|
|
26399
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`."
|
|
26400
26477
|
}
|
|
26401
26478
|
],
|
|
26402
|
-
"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.",
|
|
26403
26480
|
"common_use_cases": [
|
|
26404
26481
|
"Ver todos os arquivos de um cliente num lugar só"
|
|
26405
26482
|
],
|
|
@@ -26740,7 +26817,7 @@
|
|
|
26740
26817
|
"method": "GET",
|
|
26741
26818
|
"path": "/api/v2/accounts/{account_id}/lead_origin_reports",
|
|
26742
26819
|
"title": "Relatório de Origem dos Leads",
|
|
26743
|
-
"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.",
|
|
26744
26821
|
"category": "Relatorios",
|
|
26745
26822
|
"params": [
|
|
26746
26823
|
{
|
|
@@ -26748,14 +26825,14 @@
|
|
|
26748
26825
|
"type": "string",
|
|
26749
26826
|
"location": "query",
|
|
26750
26827
|
"required": false,
|
|
26751
|
-
"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)."
|
|
26752
26829
|
},
|
|
26753
26830
|
{
|
|
26754
26831
|
"name": "until",
|
|
26755
26832
|
"type": "string",
|
|
26756
26833
|
"location": "query",
|
|
26757
26834
|
"required": false,
|
|
26758
|
-
"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)."
|
|
26759
26836
|
},
|
|
26760
26837
|
{
|
|
26761
26838
|
"name": "funnel_id",
|
|
@@ -26783,14 +26860,28 @@
|
|
|
26783
26860
|
"type": "string",
|
|
26784
26861
|
"location": "query",
|
|
26785
26862
|
"required": false,
|
|
26786
|
-
"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)."
|
|
26787
26864
|
},
|
|
26788
26865
|
{
|
|
26789
26866
|
"name": "adset",
|
|
26790
26867
|
"type": "string",
|
|
26791
26868
|
"location": "query",
|
|
26792
26869
|
"required": false,
|
|
26793
|
-
"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."
|
|
26794
26885
|
},
|
|
26795
26886
|
{
|
|
26796
26887
|
"name": "group_by",
|
|
@@ -26856,7 +26947,7 @@
|
|
|
26856
26947
|
"type": "number",
|
|
26857
26948
|
"location": "body",
|
|
26858
26949
|
"required": false,
|
|
26859
|
-
"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."
|
|
26860
26951
|
},
|
|
26861
26952
|
{
|
|
26862
26953
|
"name": "time_range",
|
|
@@ -27008,7 +27099,7 @@
|
|
|
27008
27099
|
"type": "number",
|
|
27009
27100
|
"location": "query",
|
|
27010
27101
|
"required": false,
|
|
27011
|
-
"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."
|
|
27012
27103
|
},
|
|
27013
27104
|
{
|
|
27014
27105
|
"name": "measure",
|
|
@@ -28461,14 +28552,14 @@
|
|
|
28461
28552
|
"type": "string",
|
|
28462
28553
|
"location": "query",
|
|
28463
28554
|
"required": false,
|
|
28464
|
-
"description": "Data inicial
|
|
28555
|
+
"description": "Data inicial (AAAA-MM-DD; o dia inteiro entra, no fuso da conta). Tambem aceita unix e ISO 8601."
|
|
28465
28556
|
},
|
|
28466
28557
|
{
|
|
28467
28558
|
"name": "until",
|
|
28468
28559
|
"type": "string",
|
|
28469
28560
|
"location": "query",
|
|
28470
28561
|
"required": false,
|
|
28471
|
-
"description": "Data final
|
|
28562
|
+
"description": "Data final (AAAA-MM-DD; o dia inteiro entra, no fuso da conta). Tambem aceita unix e ISO 8601."
|
|
28472
28563
|
},
|
|
28473
28564
|
{
|
|
28474
28565
|
"name": "q",
|
|
@@ -33735,14 +33826,14 @@
|
|
|
33735
33826
|
"type": "string",
|
|
33736
33827
|
"location": "query",
|
|
33737
33828
|
"required": false,
|
|
33738
|
-
"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."
|
|
33739
33830
|
},
|
|
33740
33831
|
{
|
|
33741
33832
|
"name": "until",
|
|
33742
33833
|
"type": "string",
|
|
33743
33834
|
"location": "query",
|
|
33744
33835
|
"required": false,
|
|
33745
|
-
"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."
|
|
33746
33837
|
},
|
|
33747
33838
|
{
|
|
33748
33839
|
"name": "inbox_id",
|
|
@@ -33811,14 +33902,21 @@
|
|
|
33811
33902
|
"type": "string",
|
|
33812
33903
|
"location": "query",
|
|
33813
33904
|
"required": false,
|
|
33814
|
-
"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."
|
|
33815
33906
|
},
|
|
33816
33907
|
{
|
|
33817
33908
|
"name": "until",
|
|
33818
33909
|
"type": "string",
|
|
33819
33910
|
"location": "query",
|
|
33820
33911
|
"required": false,
|
|
33821
|
-
"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."
|
|
33822
33920
|
}
|
|
33823
33921
|
],
|
|
33824
33922
|
"returns": "{payload: {articles: [{id, title, locale, content, slug, portal_slug, account_id, category_name, status, updated_at (unix)}]}}",
|
|
@@ -35815,7 +35913,7 @@
|
|
|
35815
35913
|
"method": "GET",
|
|
35816
35914
|
"path": "/api/v1/accounts/{account_id}/companies/{company_id}/documents",
|
|
35817
35915
|
"title": "Documentos da Empresa",
|
|
35818
|
-
"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.",
|
|
35819
35917
|
"category": "Empresas",
|
|
35820
35918
|
"params": [
|
|
35821
35919
|
{
|
|
@@ -35824,9 +35922,58 @@
|
|
|
35824
35922
|
"location": "path",
|
|
35825
35923
|
"required": true,
|
|
35826
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`."
|
|
35827
35974
|
}
|
|
35828
35975
|
],
|
|
35829
|
-
"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}.",
|
|
35830
35977
|
"common_use_cases": [
|
|
35831
35978
|
"Achar um arquivo de qualquer pessoa da empresa",
|
|
35832
35979
|
"Conferir documentos enviados para a empresa"
|