@lionchat/mcp-server 0.4.10 → 0.5.1
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 +28 -2
- package/dist/docs/resources/api-conventions.md +51 -4
- package/dist/docs/resources/best-practices.md +75 -0
- package/dist/docs/resources/conversation-flows.md +20 -0
- package/dist/docs/resources/data-model.md +63 -3
- package/dist/docs/resources/flowbuilder-design-guide.md +38 -7
- package/dist/docs/resources/flowbuilder-patterns.md +82 -0
- package/dist/docs/resources/glossary.md +47 -1
- package/dist/docs/resources/kanban-deep-dive.md +19 -0
- package/dist/docs/resources/reports-guide.md +20 -0
- package/dist/docs/resources/troubleshooting.md +28 -0
- package/dist/tools.js +108 -34
- package/dist/tools.js.map +1 -1
- package/endpoints.json +4142 -23
- package/package.json +1 -1
package/endpoints.json
CHANGED
|
@@ -632,7 +632,7 @@
|
|
|
632
632
|
"method": "GET",
|
|
633
633
|
"path": "/api/v1/accounts/{account_id}/contacts/search",
|
|
634
634
|
"title": "Buscar Contatos",
|
|
635
|
-
"description": "Busca contatos por texto (insensivel a acento) em nome/email/telefone/identifier. Obrigatorio: q.",
|
|
635
|
+
"description": "Busca contatos por texto (insensivel a acento) em nome/email/telefone/identifier. Obrigatorio: q.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
636
636
|
"category": "Contatos",
|
|
637
637
|
"params": [
|
|
638
638
|
{
|
|
@@ -648,6 +648,27 @@
|
|
|
648
648
|
"location": "query",
|
|
649
649
|
"required": false,
|
|
650
650
|
"description": "Página"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"name": "conversation_filters",
|
|
654
|
+
"type": "string",
|
|
655
|
+
"location": "query",
|
|
656
|
+
"required": false,
|
|
657
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"name": "contact_filters",
|
|
661
|
+
"type": "string",
|
|
662
|
+
"location": "query",
|
|
663
|
+
"required": false,
|
|
664
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"name": "kanban_filters",
|
|
668
|
+
"type": "string",
|
|
669
|
+
"location": "query",
|
|
670
|
+
"required": false,
|
|
671
|
+
"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"
|
|
651
672
|
}
|
|
652
673
|
],
|
|
653
674
|
"returns": "meta{count,current_page,has_more} + payload (array de contatos)",
|
|
@@ -663,7 +684,7 @@
|
|
|
663
684
|
"method": "POST",
|
|
664
685
|
"path": "/api/v1/accounts/{account_id}/contacts/filter",
|
|
665
686
|
"title": "Filtrar Contatos",
|
|
666
|
-
"description": "Filtra contatos com condições avançadas (múltiplas condições combinadas com AND/OR, operadores como contains, is_present, days_before, starts_with, e filtro por custom_attributes). Ver a seção Casos de Uso e Filtros para a lista completa de atributos e operadores. Filtragem avançada de contatos via payload de condições. Múltiplos operadores: equal_to, contains, includes, is_present, etc.",
|
|
687
|
+
"description": "Filtra contatos com condições avançadas (múltiplas condições combinadas com AND/OR, operadores como contains, is_present, days_before, starts_with, e filtro por custom_attributes). Ver a seção Casos de Uso e Filtros para a lista completa de atributos e operadores. Filtragem avançada de contatos via payload de condições. Múltiplos operadores: equal_to, contains, includes, is_present, etc.\n\nNOVO (2026-06): filtro por REGISTROS VINCULADOS — acha o contato pelo que aconteceu com ele: attribute_key 'conversation_search' (conversa vinculada: status/etiquetas/caixa), condicoes com custom_attribute_type 'conversation_attribute' (atributos da conversa) e attribute_key 'kanban_card' (card vinculado: funil/etapa/prioridade/status). Combinaveis com E/OU.",
|
|
667
688
|
"category": "Contatos",
|
|
668
689
|
"params": [
|
|
669
690
|
{
|
|
@@ -886,7 +907,7 @@
|
|
|
886
907
|
"method": "POST",
|
|
887
908
|
"path": "/api/v1/accounts/{account_id}/contacts/export",
|
|
888
909
|
"title": "Exportar Contatos",
|
|
889
|
-
"description": "Exporta contatos (gera CSV em job async).",
|
|
910
|
+
"description": "Exporta contatos (gera CSV em job async). NOVO (2026-06): exportacao COMPLETA por padrao — cadastral (16 colunas), etiquetas, empresa/cidade/pais, atributos do contato e da conversa (prefixos contato_/conversa_), ultima conversa e card do Kanban. Passar column_names mantem o formato antigo (so as colunas pedidas).",
|
|
890
911
|
"category": "Contatos",
|
|
891
912
|
"params": [
|
|
892
913
|
{
|
|
@@ -1313,7 +1334,7 @@
|
|
|
1313
1334
|
"method": "GET",
|
|
1314
1335
|
"path": "/api/v1/accounts/{account_id}/conversations/search",
|
|
1315
1336
|
"title": "Buscar Conversas",
|
|
1316
|
-
"description": "Busca conversas por texto (no conteúdo das mensagens). Diferente de filter — pesquisa free-text. Use quando o usuário menciona uma palavra específica que provavelmente apareceu na conversa.",
|
|
1337
|
+
"description": "Busca conversas por texto (no conteúdo das mensagens). Diferente de filter — pesquisa free-text. Use quando o usuário menciona uma palavra específica que provavelmente apareceu na conversa.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
1317
1338
|
"category": "Conversas",
|
|
1318
1339
|
"params": [
|
|
1319
1340
|
{
|
|
@@ -1329,6 +1350,27 @@
|
|
|
1329
1350
|
"location": "query",
|
|
1330
1351
|
"required": false,
|
|
1331
1352
|
"description": "Página"
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
"name": "conversation_filters",
|
|
1356
|
+
"type": "string",
|
|
1357
|
+
"location": "query",
|
|
1358
|
+
"required": false,
|
|
1359
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
"name": "contact_filters",
|
|
1363
|
+
"type": "string",
|
|
1364
|
+
"location": "query",
|
|
1365
|
+
"required": false,
|
|
1366
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
"name": "kanban_filters",
|
|
1370
|
+
"type": "string",
|
|
1371
|
+
"location": "query",
|
|
1372
|
+
"required": false,
|
|
1373
|
+
"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"
|
|
1332
1374
|
}
|
|
1333
1375
|
],
|
|
1334
1376
|
"returns": "Array de conversas que contêm o texto buscado",
|
|
@@ -1962,7 +2004,7 @@
|
|
|
1962
2004
|
"method": "GET",
|
|
1963
2005
|
"path": "/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages/search",
|
|
1964
2006
|
"title": "Buscar Mensagens",
|
|
1965
|
-
"description": "Busca mensagens por texto dentro de uma conversa. Suporta private_only e file_type.",
|
|
2007
|
+
"description": "Busca mensagens por texto dentro de uma conversa. Suporta private_only e file_type.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
1966
2008
|
"category": "Mensagens",
|
|
1967
2009
|
"params": [
|
|
1968
2010
|
{
|
|
@@ -2000,6 +2042,27 @@
|
|
|
2000
2042
|
"required": false,
|
|
2001
2043
|
"query_name": "file_type[]",
|
|
2002
2044
|
"description": "Tipos de arquivo"
|
|
2045
|
+
},
|
|
2046
|
+
{
|
|
2047
|
+
"name": "conversation_filters",
|
|
2048
|
+
"type": "string",
|
|
2049
|
+
"location": "query",
|
|
2050
|
+
"required": false,
|
|
2051
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
2052
|
+
},
|
|
2053
|
+
{
|
|
2054
|
+
"name": "contact_filters",
|
|
2055
|
+
"type": "string",
|
|
2056
|
+
"location": "query",
|
|
2057
|
+
"required": false,
|
|
2058
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
2059
|
+
},
|
|
2060
|
+
{
|
|
2061
|
+
"name": "kanban_filters",
|
|
2062
|
+
"type": "string",
|
|
2063
|
+
"location": "query",
|
|
2064
|
+
"required": false,
|
|
2065
|
+
"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"
|
|
2003
2066
|
}
|
|
2004
2067
|
],
|
|
2005
2068
|
"returns": "payload (array de mensagens, geralmente 25 resultados)",
|
|
@@ -2138,7 +2201,7 @@
|
|
|
2138
2201
|
"method": "GET",
|
|
2139
2202
|
"path": "/api/v1/accounts/{account_id}/funnels",
|
|
2140
2203
|
"title": "Listar Funis",
|
|
2141
|
-
"description": "Lista todos os funis com contagem de itens por etapa (cache 5min). NAO e paginado.",
|
|
2204
|
+
"description": "Lista todos os funis com contagem de itens por etapa (cache 5min). NAO e paginado. ACESSO (2026-06): retorna SO os funis visiveis pro usuario do token (admin, permissao kanban, funil aberto ou participante). Funil nao-visivel da 404 no show.",
|
|
2142
2205
|
"category": "Funis",
|
|
2143
2206
|
"params": [],
|
|
2144
2207
|
"returns": "array de funis (cada um com stage_items_count); sem meta/paginacao",
|
|
@@ -2828,7 +2891,7 @@
|
|
|
2828
2891
|
"method": "GET",
|
|
2829
2892
|
"path": "/api/v1/accounts/{account_id}/kanban_items/{id}",
|
|
2830
2893
|
"title": "Detalhe do Item",
|
|
2831
|
-
"description": "Retorna detalhes. Retorna detalhes completos de UM item Kanban específico pelo ID. Inclui campos relacionais quando aplicável.",
|
|
2894
|
+
"description": "Retorna detalhes. Retorna detalhes completos de UM item Kanban específico pelo ID. Inclui campos relacionais quando aplicável. Resposta inclui selos de permissao (2026-06): can_edit, can_move, can_delete, can_assign (booleans calculados pro usuario do token).",
|
|
2832
2895
|
"category": "Itens",
|
|
2833
2896
|
"params": [
|
|
2834
2897
|
{
|
|
@@ -3038,7 +3101,7 @@
|
|
|
3038
3101
|
"method": "POST",
|
|
3039
3102
|
"path": "/api/v1/accounts/{account_id}/kanban_items/{id}/move",
|
|
3040
3103
|
"title": "Mover entre Funis",
|
|
3041
|
-
"description": "Move o card entre funis/etapas. Obrigatorios: id, funnel_id, funnel_stage.",
|
|
3104
|
+
"description": "Move o card entre funis/etapas. Obrigatorios: id, funnel_id, funnel_stage. PERMISSAO (2026-06): mover sem acesso ao funil retorna 403 — confira o campo can_move no show do card antes.",
|
|
3042
3105
|
"category": "Itens",
|
|
3043
3106
|
"params": [
|
|
3044
3107
|
{
|
|
@@ -3206,7 +3269,7 @@
|
|
|
3206
3269
|
"method": "GET",
|
|
3207
3270
|
"path": "/api/v1/accounts/{account_id}/kanban_items/search",
|
|
3208
3271
|
"title": "Buscar Items",
|
|
3209
|
-
"description": "Busca items por título, descrição, nome ou email do cliente. Busca itens Kanban por texto livre. Suporta query parcial em nome/email/telefone. Use para \"encontrar X\" rapidamente.",
|
|
3272
|
+
"description": "Busca items por título, descrição, nome ou email do cliente. Busca itens Kanban por texto livre. Suporta query parcial em nome/email/telefone. Use para \"encontrar X\" rapidamente.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
3210
3273
|
"category": "Itens",
|
|
3211
3274
|
"params": [
|
|
3212
3275
|
{
|
|
@@ -3229,6 +3292,27 @@
|
|
|
3229
3292
|
"location": "query",
|
|
3230
3293
|
"required": false,
|
|
3231
3294
|
"description": "Excluir cards que ja tem esta conversa vinculada"
|
|
3295
|
+
},
|
|
3296
|
+
{
|
|
3297
|
+
"name": "conversation_filters",
|
|
3298
|
+
"type": "string",
|
|
3299
|
+
"location": "query",
|
|
3300
|
+
"required": false,
|
|
3301
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
3302
|
+
},
|
|
3303
|
+
{
|
|
3304
|
+
"name": "contact_filters",
|
|
3305
|
+
"type": "string",
|
|
3306
|
+
"location": "query",
|
|
3307
|
+
"required": false,
|
|
3308
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
3309
|
+
},
|
|
3310
|
+
{
|
|
3311
|
+
"name": "kanban_filters",
|
|
3312
|
+
"type": "string",
|
|
3313
|
+
"location": "query",
|
|
3314
|
+
"required": false,
|
|
3315
|
+
"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"
|
|
3232
3316
|
}
|
|
3233
3317
|
],
|
|
3234
3318
|
"returns": "payload (array de itens Kanban, geralmente 25 resultados)",
|
|
@@ -3717,7 +3801,7 @@
|
|
|
3717
3801
|
"method": "POST",
|
|
3718
3802
|
"path": "/api/v1/accounts/{account_id}/captain/assistants",
|
|
3719
3803
|
"title": "Criar Assistente IA",
|
|
3720
|
-
"description": "Cria um assistente de IA. Obrigatorios: name, description. Exige Admin; sujeito ao limite do plano (403 se atingir).",
|
|
3804
|
+
"description": "Cria um assistente de IA. Obrigatorios: name, description. Exige Admin; sujeito ao limite do plano (403 se atingir).\n\nCONFIG (2026-06): config faz MERGE PARCIAL no update. Chaves novas: follow_up_steps (ate 3 etapas [{after_minutes>=5, prompt}], soma<=1440min), disabled_tools, offer_ids, media_asset_ids, booking_event_type_ids, activation_label, min/max_response_time. instructions ate 20.000 chars.",
|
|
3721
3805
|
"category": "Assistentes",
|
|
3722
3806
|
"params": [
|
|
3723
3807
|
{
|
|
@@ -3866,6 +3950,13 @@
|
|
|
3866
3950
|
"location": "body",
|
|
3867
3951
|
"required": false,
|
|
3868
3952
|
"description": "Array de IDs de tipos de agendamento que o agente pode oferecer"
|
|
3953
|
+
},
|
|
3954
|
+
{
|
|
3955
|
+
"name": "paused",
|
|
3956
|
+
"type": "boolean",
|
|
3957
|
+
"location": "body",
|
|
3958
|
+
"required": false,
|
|
3959
|
+
"description": "BOTAO DE PANICO: true pausa TODA a IA do assistente (respostas, follow-ups, callbacks) sem perder config. Top-level, auditado"
|
|
3869
3960
|
}
|
|
3870
3961
|
],
|
|
3871
3962
|
"returns": "assistente AI criado (com novo ID)",
|
|
@@ -3914,7 +4005,7 @@
|
|
|
3914
4005
|
"method": "PATCH",
|
|
3915
4006
|
"path": "/api/v1/accounts/{account_id}/captain/assistants/{id}",
|
|
3916
4007
|
"title": "Atualizar Assistente IA",
|
|
3917
|
-
"description": "Atualiza um assistente de IA. Exige Admin. Para pausar use paused:true (top-level).",
|
|
4008
|
+
"description": "Atualiza um assistente de IA. Exige Admin. Para pausar use paused:true (top-level).\n\nCONFIG (2026-06): config faz MERGE PARCIAL no update. Chaves novas: follow_up_steps (ate 3 etapas [{after_minutes>=5, prompt}], soma<=1440min), disabled_tools, offer_ids, media_asset_ids, booking_event_type_ids, activation_label, min/max_response_time. instructions ate 20.000 chars.",
|
|
3918
4009
|
"category": "Assistentes",
|
|
3919
4010
|
"params": [
|
|
3920
4011
|
{
|
|
@@ -4070,6 +4161,13 @@
|
|
|
4070
4161
|
"location": "body",
|
|
4071
4162
|
"required": false,
|
|
4072
4163
|
"description": "Array de IDs de tipos de agendamento que o agente pode oferecer"
|
|
4164
|
+
},
|
|
4165
|
+
{
|
|
4166
|
+
"name": "paused",
|
|
4167
|
+
"type": "boolean",
|
|
4168
|
+
"location": "body",
|
|
4169
|
+
"required": false,
|
|
4170
|
+
"description": "BOTAO DE PANICO: true pausa TODA a IA do assistente (respostas, follow-ups, callbacks) sem perder config. Top-level, auditado"
|
|
4073
4171
|
}
|
|
4074
4172
|
],
|
|
4075
4173
|
"returns": "assistente AI atualizado",
|
|
@@ -7406,7 +7504,7 @@
|
|
|
7406
7504
|
"method": "GET",
|
|
7407
7505
|
"path": "/api/v1/accounts/{account_id}/search",
|
|
7408
7506
|
"title": "Busca Global",
|
|
7409
|
-
"description": "Busca global por texto (conversas, contatos, mensagens, artigos) — sempre retorna todos os tipos. Para um tipo unico use /search/conversations|contacts|messages.",
|
|
7507
|
+
"description": "Busca global por texto (conversas, contatos, mensagens, artigos) — sempre retorna todos os tipos. Para um tipo unico use /search/conversations|contacts|messages.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
7410
7508
|
"category": "Busca",
|
|
7411
7509
|
"params": [
|
|
7412
7510
|
{
|
|
@@ -7450,6 +7548,27 @@
|
|
|
7450
7548
|
"location": "query",
|
|
7451
7549
|
"required": false,
|
|
7452
7550
|
"description": "Página"
|
|
7551
|
+
},
|
|
7552
|
+
{
|
|
7553
|
+
"name": "conversation_filters",
|
|
7554
|
+
"type": "string",
|
|
7555
|
+
"location": "query",
|
|
7556
|
+
"required": false,
|
|
7557
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
7558
|
+
},
|
|
7559
|
+
{
|
|
7560
|
+
"name": "contact_filters",
|
|
7561
|
+
"type": "string",
|
|
7562
|
+
"location": "query",
|
|
7563
|
+
"required": false,
|
|
7564
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
7565
|
+
},
|
|
7566
|
+
{
|
|
7567
|
+
"name": "kanban_filters",
|
|
7568
|
+
"type": "string",
|
|
7569
|
+
"location": "query",
|
|
7570
|
+
"required": false,
|
|
7571
|
+
"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"
|
|
7453
7572
|
}
|
|
7454
7573
|
],
|
|
7455
7574
|
"returns": "payload (array de resultados de busca, geralmente 25 resultados)",
|
|
@@ -7465,7 +7584,7 @@
|
|
|
7465
7584
|
"method": "GET",
|
|
7466
7585
|
"path": "/api/v1/accounts/{account_id}/search/conversations",
|
|
7467
7586
|
"title": "Buscar Conversas",
|
|
7468
|
-
"description": "Busca apenas em conversas por texto.",
|
|
7587
|
+
"description": "Busca apenas em conversas por texto.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
7469
7588
|
"category": "Busca",
|
|
7470
7589
|
"params": [
|
|
7471
7590
|
{
|
|
@@ -7509,6 +7628,13 @@
|
|
|
7509
7628
|
"location": "query",
|
|
7510
7629
|
"required": false,
|
|
7511
7630
|
"description": "Página"
|
|
7631
|
+
},
|
|
7632
|
+
{
|
|
7633
|
+
"name": "conversation_filters",
|
|
7634
|
+
"type": "string",
|
|
7635
|
+
"location": "query",
|
|
7636
|
+
"required": false,
|
|
7637
|
+
"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"
|
|
7512
7638
|
}
|
|
7513
7639
|
],
|
|
7514
7640
|
"returns": "meta (contadores globais) + payload (array de resultados de busca)",
|
|
@@ -7527,7 +7653,7 @@
|
|
|
7527
7653
|
"method": "GET",
|
|
7528
7654
|
"path": "/api/v1/accounts/{account_id}/search/contacts",
|
|
7529
7655
|
"title": "Buscar Contatos",
|
|
7530
|
-
"description": "Busca apenas em contatos por texto.",
|
|
7656
|
+
"description": "Busca apenas em contatos por texto.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
7531
7657
|
"category": "Busca",
|
|
7532
7658
|
"params": [
|
|
7533
7659
|
{
|
|
@@ -7543,6 +7669,13 @@
|
|
|
7543
7669
|
"location": "query",
|
|
7544
7670
|
"required": false,
|
|
7545
7671
|
"description": "Página"
|
|
7672
|
+
},
|
|
7673
|
+
{
|
|
7674
|
+
"name": "contact_filters",
|
|
7675
|
+
"type": "string",
|
|
7676
|
+
"location": "query",
|
|
7677
|
+
"required": false,
|
|
7678
|
+
"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"
|
|
7546
7679
|
}
|
|
7547
7680
|
],
|
|
7548
7681
|
"returns": "meta (contadores globais) + payload (array de resultados de busca)",
|
|
@@ -7561,7 +7694,7 @@
|
|
|
7561
7694
|
"method": "GET",
|
|
7562
7695
|
"path": "/api/v1/accounts/{account_id}/search/messages",
|
|
7563
7696
|
"title": "Buscar Mensagens",
|
|
7564
|
-
"description": "Busca apenas em mensagens por texto.",
|
|
7697
|
+
"description": "Busca apenas em mensagens por texto.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
7565
7698
|
"category": "Busca",
|
|
7566
7699
|
"params": [
|
|
7567
7700
|
{
|
|
@@ -8889,7 +9022,7 @@
|
|
|
8889
9022
|
"method": "POST",
|
|
8890
9023
|
"path": "/api/v1/accounts/{account_id}/flows",
|
|
8891
9024
|
"title": "Criar Flow",
|
|
8892
|
-
"description": "Cria um flow (FlowBuilder) na conta. Requer Admin. flow_data segue formato Vue Flow {nodes:[], edges:[]}. NODE SCHEMA — start: {label}. send_message: {label, messageItems:[{id, type:'text', content}]} handles: success/no_response/error. wait_response: {label, waitTime, waitUnit:'minutes'|'seconds', validation:'any'|'options'|'regex', acceptedOptions:['1','2'] (se options), regexPattern (se regex), invalidMessage, maxRetries:3, saveTo:'variable'|'
|
|
9025
|
+
"description": "Cria um flow (FlowBuilder) na conta. Requer Admin. flow_data segue formato Vue Flow {nodes:[], edges:[]}. NODE SCHEMA — start: {label}. send_message: {label, messageItems:[{id, type:'text', content}]} handles: success/no_response/error. wait_response: {label, waitTime, waitUnit:'minutes'|'seconds', validation:'any'|'options'|'regex', acceptedOptions:['1','2'] (se options), regexPattern (se regex), invalidMessage, maxRetries:3, saveTo:'variable'|'contact_name'|'contact_email'|'contact_phone'|'contact_attr'|'conversation_attr'|'', saveVariable, saveAttrKey} — quando validation='options' os handles ficam 'option_{val}' + 'timeout'; senão 'success' + 'timeout' — NUNCA precisa de condition node depois. condition: {label, conditions:[{id, label, field, operator, value}]} handles = 'cond_0','cond_1',... (INDICE no array, NAO o id) + 'default'. action: {label, items:[{key, config:{...}}]} keys comuns assign_team({team_id}), assign_agent({agent_id}), add_label({labels:['slug',...]}), remove_label({labels}), change_status({status}), change_priority({priority}), mute_conversation({}), add_private_note({content}), create_kanban_item({funnel_id, funnel_stage,...}), move_kanban_stage({funnel_id, funnel_stage}), deactivate_flow({}), assign_captain({assistant_id}). api: {label, method, url, headers:[{key,value}], body, apiResponseVar}. set_variable: {label, variables:[{name, value}]}. wait: {label, waitTime, waitUnit}. EDGE SCHEMA: {id, source, target, sourceHandle (opcional, OBRIGATORIO casar com handle exposto pelo node source), type:'deletable', animated:true}. ERROS COMUNS QUE DEVEM SER EVITADOS: (1) action usa items[].config NAO items[].params; (2) send_message usa messageItems NAO items; (3) wait_response com validation='options' NAO precisa de condition node — use sourceHandle='option_X' diretamente; (4) sourceHandle inventado tipo 'c1','c2' nao funciona — sempre usar o handle real; (5) inbox_ids precisa vir aninhado em {flow:{inbox_ids:[]}} no PUT bruto, mas no MCP basta inbox_ids no nivel raiz. Cria novo flow. Obrigatórios: name, channel_type. Valida unicidade quando aplicável. Retorna o flow criado com ID atribuído. POSITIONING (CRITICO): cada node DEVE ter position:{x,y}. Sem isso, todos empilham no canvas no (0,0). Regra basica de layout: start em {x:50,y:300}, espaco horizontal +320 entre nodes sequenciais, ramificacoes em +/-150 vertical. ANTES DE GERAR JSON consulte o resource lionchat://docs/flowbuilder-design-guide (schema completo de cada tipo de node, handles expostos, erros comuns, checklist) e lionchat://docs/flowbuilder-patterns (10 templates prontos pra adaptar). BRAINSTORMING: se faltou info critica (canal, gatilho, conteudo), use o prompt create_flow_brainstorm como banco de perguntas sugeridas — pergunte SO o que falta, sem checklist forcado. APOS GERAR: rode o checklist da secao 6 do design guide antes de submeter (1 node start, todo node com id unico + position + data, todo edge com sourceHandle valido). NUNCA invente sourceHandle (no condition use cond_0/cond_1/default, no wait_response options use option_X, no AI intent use intent_<opcao>). IMPORTANTE: chame lionchat_flows_schema_reference antes pra ver o schema COMPLETO e atualizado (nodes end/ai/note, etiqueta conversa vs contato, webhook embutido, timeout, anti-loop). Pra ferramentas da IA (ai_tool) use lionchat_flow_tools_create.",
|
|
8893
9026
|
"category": "Flows",
|
|
8894
9027
|
"params": [
|
|
8895
9028
|
{
|
|
@@ -8970,7 +9103,7 @@
|
|
|
8970
9103
|
"method": "PUT",
|
|
8971
9104
|
"path": "/api/v1/accounts/{account_id}/flows/{id}",
|
|
8972
9105
|
"title": "Atualizar Flow",
|
|
8973
|
-
"description": "Atualiza nome, descricao, caixas de entrada ou dados dos blocos. Mesmo schema de flow_data do tool lionchat_flows_create — consulte a descricao daquele tool para o schema completo dos nodes (start, send_message, wait_response, condition, action, api, set_variable) e dos edges. RECAP RAPIDO: action items[].config (nao params); send_message messageItems (nao items); wait_response validation='options' gera handles 'option_X' (dispensa condition node); edges sourceHandle DEVE casar com handle real do node source. Atualiza campos do flow existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: name, description, inbox_ids, flow_data.",
|
|
9106
|
+
"description": "Atualiza nome, descricao, caixas de entrada ou dados dos blocos. Mesmo schema de flow_data do tool lionchat_flows_create — consulte a descricao daquele tool para o schema completo dos nodes (start, send_message, wait_response, condition, action, api, set_variable) e dos edges. RECAP RAPIDO: action items[].config (nao params); send_message messageItems (nao items); wait_response validation='options' gera handles 'option_X' (dispensa condition node); edges sourceHandle DEVE casar com handle real do node source. Atualiza campos do flow existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: name, description, inbox_ids, flow_data. IMPORTANTE: chame lionchat_flows_schema_reference antes pra ver o schema COMPLETO e atualizado (nodes end/ai/note, etiqueta conversa vs contato, webhook embutido, timeout, anti-loop). Pra ferramentas da IA (ai_tool) use lionchat_flow_tools_create.",
|
|
8974
9107
|
"category": "Flows",
|
|
8975
9108
|
"params": [
|
|
8976
9109
|
{
|
|
@@ -10557,7 +10690,7 @@
|
|
|
10557
10690
|
"method": "GET",
|
|
10558
10691
|
"path": "/api/v1/accounts/{account_id}/companies/search",
|
|
10559
10692
|
"title": "Buscar Empresas",
|
|
10560
|
-
"description": "Busca empresas por NOME ou DOMINIO. Obrigatorio: q.",
|
|
10693
|
+
"description": "Busca empresas por NOME ou DOMINIO. Obrigatorio: q.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
10561
10694
|
"category": "Empresas",
|
|
10562
10695
|
"params": [
|
|
10563
10696
|
{
|
|
@@ -10566,6 +10699,27 @@
|
|
|
10566
10699
|
"location": "query",
|
|
10567
10700
|
"required": true,
|
|
10568
10701
|
"description": "Termo de busca"
|
|
10702
|
+
},
|
|
10703
|
+
{
|
|
10704
|
+
"name": "conversation_filters",
|
|
10705
|
+
"type": "string",
|
|
10706
|
+
"location": "query",
|
|
10707
|
+
"required": false,
|
|
10708
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
10709
|
+
},
|
|
10710
|
+
{
|
|
10711
|
+
"name": "contact_filters",
|
|
10712
|
+
"type": "string",
|
|
10713
|
+
"location": "query",
|
|
10714
|
+
"required": false,
|
|
10715
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
10716
|
+
},
|
|
10717
|
+
{
|
|
10718
|
+
"name": "kanban_filters",
|
|
10719
|
+
"type": "string",
|
|
10720
|
+
"location": "query",
|
|
10721
|
+
"required": false,
|
|
10722
|
+
"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"
|
|
10569
10723
|
}
|
|
10570
10724
|
],
|
|
10571
10725
|
"returns": "payload (array de empresas, geralmente 25 resultados)",
|
|
@@ -10702,7 +10856,7 @@
|
|
|
10702
10856
|
"method": "GET",
|
|
10703
10857
|
"path": "/api/v1/accounts/{account_id}/offers/search",
|
|
10704
10858
|
"title": "Buscar Ofertas",
|
|
10705
|
-
"description": "Busca ofertas por TITULO. Obrigatorio: q.",
|
|
10859
|
+
"description": "Busca ofertas por TITULO. Obrigatorio: q.\n\nNOVO (2026-06): 'q' aceita multiplos termos (espacos = E/AND, cap 5; cada termo precisa bater) e dados cadastrais (CPF/CNPJ/RG por digitos, ignora pontuacao).",
|
|
10706
10860
|
"category": "Ofertas",
|
|
10707
10861
|
"params": [
|
|
10708
10862
|
{
|
|
@@ -10711,6 +10865,27 @@
|
|
|
10711
10865
|
"location": "query",
|
|
10712
10866
|
"required": true,
|
|
10713
10867
|
"description": "Termo de busca"
|
|
10868
|
+
},
|
|
10869
|
+
{
|
|
10870
|
+
"name": "conversation_filters",
|
|
10871
|
+
"type": "string",
|
|
10872
|
+
"location": "query",
|
|
10873
|
+
"required": false,
|
|
10874
|
+
"description": "Filtros estruturados aplicados aos resultados de CONVERSAS. 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"
|
|
10875
|
+
},
|
|
10876
|
+
{
|
|
10877
|
+
"name": "contact_filters",
|
|
10878
|
+
"type": "string",
|
|
10879
|
+
"location": "query",
|
|
10880
|
+
"required": false,
|
|
10881
|
+
"description": "Filtros estruturados aplicados aos resultados de CONTATOS. 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"
|
|
10882
|
+
},
|
|
10883
|
+
{
|
|
10884
|
+
"name": "kanban_filters",
|
|
10885
|
+
"type": "string",
|
|
10886
|
+
"location": "query",
|
|
10887
|
+
"required": false,
|
|
10888
|
+
"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"
|
|
10714
10889
|
}
|
|
10715
10890
|
],
|
|
10716
10891
|
"returns": "array de ofertas (sem paginacao)",
|
|
@@ -15196,7 +15371,7 @@
|
|
|
15196
15371
|
"method": "POST",
|
|
15197
15372
|
"path": "/api/v1/accounts/{account_id}/webhooks",
|
|
15198
15373
|
"title": "Criar Webhook",
|
|
15199
|
-
"description": "Cria um webhook. Body exige wrapper webhook. subscriptions restrito a allow-list.",
|
|
15374
|
+
"description": "Cria um webhook. Body exige wrapper webhook. subscriptions restrito a allow-list. Evento novo (2026-06): 'inbox_updated' (dispara quando uma caixa de entrada e autorizada/reautorizada).",
|
|
15200
15375
|
"category": "Webhooks",
|
|
15201
15376
|
"params": [
|
|
15202
15377
|
{
|
|
@@ -15242,7 +15417,7 @@
|
|
|
15242
15417
|
"method": "PUT",
|
|
15243
15418
|
"path": "/api/v1/accounts/{account_id}/webhooks/{id}",
|
|
15244
15419
|
"title": "Atualizar Webhook",
|
|
15245
|
-
"description": "Atualiza um webhook existente. Atualiza campos do webhook existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: url, subscriptions.",
|
|
15420
|
+
"description": "Atualiza um webhook existente. Atualiza campos do webhook existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: url, subscriptions. Evento novo (2026-06): 'inbox_updated' (dispara quando uma caixa de entrada e autorizada/reautorizada).",
|
|
15246
15421
|
"category": "Webhooks",
|
|
15247
15422
|
"params": [
|
|
15248
15423
|
{
|
|
@@ -15368,7 +15543,7 @@
|
|
|
15368
15543
|
"type": "object",
|
|
15369
15544
|
"location": "body",
|
|
15370
15545
|
"required": false,
|
|
15371
|
-
"description": "Mapeamento de campos do payload para campos internos (dentro de custom_webhook_integration)"
|
|
15546
|
+
"description": "Mapeamento de campos do payload para campos internos (dentro de custom_webhook_integration). Suporta caminhos com indice de array (messages.0.content) — mapeamento POSICIONAL; limites: profundidade 5, 10 itens/array, 500 chaves"
|
|
15372
15547
|
},
|
|
15373
15548
|
{
|
|
15374
15549
|
"name": "event_automation_mapping",
|
|
@@ -15390,6 +15565,13 @@
|
|
|
15390
15565
|
"location": "body",
|
|
15391
15566
|
"required": false,
|
|
15392
15567
|
"description": "Lista de valores de evento conhecidos (dentro de custom_webhook_integration)"
|
|
15568
|
+
},
|
|
15569
|
+
{
|
|
15570
|
+
"name": "flow_id",
|
|
15571
|
+
"type": "integer",
|
|
15572
|
+
"location": "body",
|
|
15573
|
+
"required": false,
|
|
15574
|
+
"description": "Webhook EMBUTIDO de flow (2026-06): cria/retorna a integracao vinculada ao flow (idempotente, nome automatico 'Flow: <nome>', auto-mapeia todos os eventos -> o flow, oculta da listagem standalone). Ver receita no resource de flows"
|
|
15393
15575
|
}
|
|
15394
15576
|
],
|
|
15395
15577
|
"returns": "webhook criado (com novo ID)",
|
|
@@ -17461,7 +17643,7 @@
|
|
|
17461
17643
|
"method": "GET",
|
|
17462
17644
|
"path": "/api/v1/accounts/{account_id}/integrations/meta_lead",
|
|
17463
17645
|
"title": "Listar Paginas Meta Lead Ads",
|
|
17464
|
-
"description": "Lista as integracoes Meta Lead Ads conectadas.",
|
|
17646
|
+
"description": "Lista as integracoes Meta Lead Ads conectadas. NOVO (2026-06): conexao agora e POR PAGINA selecionada (BM virou rotulo); resposta traz enrichment_active e pending_businesses (BMs com pendencia).",
|
|
17465
17647
|
"category": "Meta Lead Ads",
|
|
17466
17648
|
"params": [],
|
|
17467
17649
|
"returns": "{ data: [...integracoes...] }",
|
|
@@ -19751,5 +19933,3942 @@
|
|
|
19751
19933
|
"Auditoria/relatório de respostas CSAT ativas"
|
|
19752
19934
|
],
|
|
19753
19935
|
"related_tools": []
|
|
19936
|
+
},
|
|
19937
|
+
{
|
|
19938
|
+
"id": "lionchat_campaigns_list",
|
|
19939
|
+
"method": "GET",
|
|
19940
|
+
"path": "/api/v1/accounts/{account_id}/campaigns",
|
|
19941
|
+
"title": "Listar Campanhas",
|
|
19942
|
+
"description": "Lista todas as campanhas da conta: one-off (disparo em massa — WhatsApp oficial, WhatsApp QR Code/WAHA, SMS) e ongoing (chat ao vivo do site). Inclui audiência, regras de disparo e status.",
|
|
19943
|
+
"category": "Campanhas",
|
|
19944
|
+
"params": [],
|
|
19945
|
+
"returns": "{ campaigns: [{ id (display_id), title, message, inbox, campaign_type ('one_off'|'ongoing'), campaign_status ('active'|'completed'), enabled, scheduled_at, audience, trigger_rules, sender, created_at }] }",
|
|
19946
|
+
"common_use_cases": [
|
|
19947
|
+
"Ver campanhas agendadas e concluídas",
|
|
19948
|
+
"Conferir audiência de uma campanha antes de editar"
|
|
19949
|
+
],
|
|
19950
|
+
"related_tools": [
|
|
19951
|
+
"lionchat_campaigns_show",
|
|
19952
|
+
"lionchat_campaigns_statistics"
|
|
19953
|
+
]
|
|
19954
|
+
},
|
|
19955
|
+
{
|
|
19956
|
+
"id": "lionchat_campaigns_create",
|
|
19957
|
+
"method": "POST",
|
|
19958
|
+
"path": "/api/v1/accounts/{account_id}/campaigns",
|
|
19959
|
+
"title": "Criar Campanha",
|
|
19960
|
+
"description": "Cria campanha. O TIPO vem da inbox: WhatsApp oficial (Cloud, exige template em template_params), WhatsApp QR Code/WAHA (texto livre + variações anti-bloqueio), SMS/Twilio, ou Website (ongoing — popup de chat por URL/tempo). One-off exige audience. ENVIO EM MASSA: SEMPRE rode estimate_audience com o MESMO audience+audience_mode antes e CONFIRME com o usuário. 422 se inbox incompatível, audience vazio (one-off) ou ConversationAttribute sem key/value.",
|
|
19961
|
+
"category": "Campanhas",
|
|
19962
|
+
"params": [
|
|
19963
|
+
{
|
|
19964
|
+
"name": "title",
|
|
19965
|
+
"type": "string",
|
|
19966
|
+
"location": "body",
|
|
19967
|
+
"required": true,
|
|
19968
|
+
"description": "Nome da campanha"
|
|
19969
|
+
},
|
|
19970
|
+
{
|
|
19971
|
+
"name": "message",
|
|
19972
|
+
"type": "string",
|
|
19973
|
+
"location": "body",
|
|
19974
|
+
"required": true,
|
|
19975
|
+
"description": "Mensagem (texto com {{contact.name}} etc; no WhatsApp oficial o conteúdo real vem do template em template_params)"
|
|
19976
|
+
},
|
|
19977
|
+
{
|
|
19978
|
+
"name": "inbox_id",
|
|
19979
|
+
"type": "integer",
|
|
19980
|
+
"location": "body",
|
|
19981
|
+
"required": true,
|
|
19982
|
+
"description": "Caixa de entrada que dispara (define o tipo da campanha)"
|
|
19983
|
+
},
|
|
19984
|
+
{
|
|
19985
|
+
"name": "audience",
|
|
19986
|
+
"type": "array",
|
|
19987
|
+
"location": "body",
|
|
19988
|
+
"required": false,
|
|
19989
|
+
"description": "Critérios de público — array de seções combináveis: { type: 'Label', id } | { type: 'Funnel', id, stages: ['slug_etapa'], include_won: bool, include_lost: bool } | { type: 'ConversationAttribute', key, value } (atributo personalizado da conversa, ex: origem_do_lead=instagram). OBRIGATÓRIO em one-off"
|
|
19990
|
+
},
|
|
19991
|
+
{
|
|
19992
|
+
"name": "audience_mode",
|
|
19993
|
+
"type": "string",
|
|
19994
|
+
"location": "body",
|
|
19995
|
+
"required": false,
|
|
19996
|
+
"description": "Como combinar as seções do público: 'sum' (união, default — contato em QUALQUER seção entra) ou 'all' (interseção — precisa atender TODAS as seções preenchidas)"
|
|
19997
|
+
},
|
|
19998
|
+
{
|
|
19999
|
+
"name": "scheduled_at",
|
|
20000
|
+
"type": "string",
|
|
20001
|
+
"location": "body",
|
|
20002
|
+
"required": false,
|
|
20003
|
+
"description": "Quando disparar (ISO 8601). Ausente = imediato. Ignorado em ongoing"
|
|
20004
|
+
},
|
|
20005
|
+
{
|
|
20006
|
+
"name": "description",
|
|
20007
|
+
"type": "string",
|
|
20008
|
+
"location": "body",
|
|
20009
|
+
"required": false,
|
|
20010
|
+
"description": "Descrição interna"
|
|
20011
|
+
},
|
|
20012
|
+
{
|
|
20013
|
+
"name": "sender_id",
|
|
20014
|
+
"type": "integer",
|
|
20015
|
+
"location": "body",
|
|
20016
|
+
"required": false,
|
|
20017
|
+
"description": "Agente remetente (opcional)"
|
|
20018
|
+
},
|
|
20019
|
+
{
|
|
20020
|
+
"name": "enabled",
|
|
20021
|
+
"type": "boolean",
|
|
20022
|
+
"location": "body",
|
|
20023
|
+
"required": false,
|
|
20024
|
+
"description": "Ativa (default true)"
|
|
20025
|
+
},
|
|
20026
|
+
{
|
|
20027
|
+
"name": "trigger_only_during_business_hours",
|
|
20028
|
+
"type": "boolean",
|
|
20029
|
+
"location": "body",
|
|
20030
|
+
"required": false,
|
|
20031
|
+
"description": "Só dispara em horário comercial"
|
|
20032
|
+
},
|
|
20033
|
+
{
|
|
20034
|
+
"name": "trigger_rules",
|
|
20035
|
+
"type": "object",
|
|
20036
|
+
"location": "body",
|
|
20037
|
+
"required": false,
|
|
20038
|
+
"description": "Regras de disparo (ongoing/Website): { url, time_on_page }"
|
|
20039
|
+
},
|
|
20040
|
+
{
|
|
20041
|
+
"name": "template_params",
|
|
20042
|
+
"type": "object",
|
|
20043
|
+
"location": "body",
|
|
20044
|
+
"required": false,
|
|
20045
|
+
"description": "WhatsApp oficial: { name, namespace, lang_code, parameters }. QR Code/WAHA: { delay_min, delay_max, variations: ['variação 1', ...], bulk_actions: { assignee_id, priority, labels: [] } }"
|
|
20046
|
+
}
|
|
20047
|
+
],
|
|
20048
|
+
"returns": "{ campaign: {...} } (201)",
|
|
20049
|
+
"common_use_cases": [
|
|
20050
|
+
"Disparo WhatsApp QR Code pra etiqueta VIP com delay anti-bloqueio",
|
|
20051
|
+
"Campanha de template oficial pro funil de vendas",
|
|
20052
|
+
"Popup de chat ao vivo na página de preços"
|
|
20053
|
+
],
|
|
20054
|
+
"related_tools": [
|
|
20055
|
+
"lionchat_campaigns_estimate_audience",
|
|
20056
|
+
"lionchat_campaigns_statistics"
|
|
20057
|
+
]
|
|
20058
|
+
},
|
|
20059
|
+
{
|
|
20060
|
+
"id": "lionchat_campaigns_show",
|
|
20061
|
+
"method": "GET",
|
|
20062
|
+
"path": "/api/v1/accounts/{account_id}/campaigns/{id}",
|
|
20063
|
+
"title": "Detalhes da Campanha",
|
|
20064
|
+
"description": "Retorna uma campanha pelo display_id (o número visível na UI, não o id interno). Inclui audience, trigger_rules e template_params completos.",
|
|
20065
|
+
"category": "Campanhas",
|
|
20066
|
+
"params": [
|
|
20067
|
+
{
|
|
20068
|
+
"name": "id",
|
|
20069
|
+
"type": "integer",
|
|
20070
|
+
"location": "path",
|
|
20071
|
+
"required": true,
|
|
20072
|
+
"description": "display_id da campanha"
|
|
20073
|
+
}
|
|
20074
|
+
],
|
|
20075
|
+
"returns": "{ campaign: {...} }",
|
|
20076
|
+
"common_use_cases": [
|
|
20077
|
+
"Conferir configuração antes de editar"
|
|
20078
|
+
],
|
|
20079
|
+
"related_tools": [
|
|
20080
|
+
"lionchat_campaigns_update"
|
|
20081
|
+
]
|
|
20082
|
+
},
|
|
20083
|
+
{
|
|
20084
|
+
"id": "lionchat_campaigns_update",
|
|
20085
|
+
"method": "PATCH",
|
|
20086
|
+
"path": "/api/v1/accounts/{account_id}/campaigns/{id}",
|
|
20087
|
+
"title": "Atualizar Campanha",
|
|
20088
|
+
"description": "Atualiza campanha (mesmos campos do create). Campanha one-off já 'completed' não pode ser editada (422). Mudar audience de campanha agendada vale pro disparo.",
|
|
20089
|
+
"category": "Campanhas",
|
|
20090
|
+
"params": [
|
|
20091
|
+
{
|
|
20092
|
+
"name": "id",
|
|
20093
|
+
"type": "integer",
|
|
20094
|
+
"location": "path",
|
|
20095
|
+
"required": true,
|
|
20096
|
+
"description": "display_id da campanha"
|
|
20097
|
+
},
|
|
20098
|
+
{
|
|
20099
|
+
"name": "title",
|
|
20100
|
+
"type": "string",
|
|
20101
|
+
"location": "body",
|
|
20102
|
+
"required": false,
|
|
20103
|
+
"description": "Novo nome"
|
|
20104
|
+
},
|
|
20105
|
+
{
|
|
20106
|
+
"name": "message",
|
|
20107
|
+
"type": "string",
|
|
20108
|
+
"location": "body",
|
|
20109
|
+
"required": false,
|
|
20110
|
+
"description": "Nova mensagem"
|
|
20111
|
+
},
|
|
20112
|
+
{
|
|
20113
|
+
"name": "audience",
|
|
20114
|
+
"type": "array",
|
|
20115
|
+
"location": "body",
|
|
20116
|
+
"required": false,
|
|
20117
|
+
"description": "Critérios de público — array de seções combináveis: { type: 'Label', id } | { type: 'Funnel', id, stages: ['slug_etapa'], include_won: bool, include_lost: bool } | { type: 'ConversationAttribute', key, value } (atributo personalizado da conversa, ex: origem_do_lead=instagram)"
|
|
20118
|
+
},
|
|
20119
|
+
{
|
|
20120
|
+
"name": "audience_mode",
|
|
20121
|
+
"type": "string",
|
|
20122
|
+
"location": "body",
|
|
20123
|
+
"required": false,
|
|
20124
|
+
"description": "Como combinar as seções do público: 'sum' (união, default — contato em QUALQUER seção entra) ou 'all' (interseção — precisa atender TODAS as seções preenchidas)"
|
|
20125
|
+
},
|
|
20126
|
+
{
|
|
20127
|
+
"name": "scheduled_at",
|
|
20128
|
+
"type": "string",
|
|
20129
|
+
"location": "body",
|
|
20130
|
+
"required": false,
|
|
20131
|
+
"description": "Nova data de disparo (ISO 8601)"
|
|
20132
|
+
},
|
|
20133
|
+
{
|
|
20134
|
+
"name": "enabled",
|
|
20135
|
+
"type": "boolean",
|
|
20136
|
+
"location": "body",
|
|
20137
|
+
"required": false,
|
|
20138
|
+
"description": "Ativa/desativa sem apagar"
|
|
20139
|
+
}
|
|
20140
|
+
],
|
|
20141
|
+
"returns": "{ campaign: {...} }",
|
|
20142
|
+
"common_use_cases": [
|
|
20143
|
+
"Corrigir mensagem antes do horário agendado",
|
|
20144
|
+
"Desativar campanha temporariamente"
|
|
20145
|
+
],
|
|
20146
|
+
"related_tools": [
|
|
20147
|
+
"lionchat_campaigns_estimate_audience"
|
|
20148
|
+
]
|
|
20149
|
+
},
|
|
20150
|
+
{
|
|
20151
|
+
"id": "lionchat_campaigns_destroy",
|
|
20152
|
+
"method": "DELETE",
|
|
20153
|
+
"path": "/api/v1/accounts/{account_id}/campaigns/{id}",
|
|
20154
|
+
"title": "Excluir Campanha",
|
|
20155
|
+
"description": "Remove uma campanha (agendada ou concluída). AÇÃO DESTRUTIVA — confirme com o usuário antes.",
|
|
20156
|
+
"category": "Campanhas",
|
|
20157
|
+
"params": [
|
|
20158
|
+
{
|
|
20159
|
+
"name": "id",
|
|
20160
|
+
"type": "integer",
|
|
20161
|
+
"location": "path",
|
|
20162
|
+
"required": true,
|
|
20163
|
+
"description": "display_id da campanha"
|
|
20164
|
+
}
|
|
20165
|
+
],
|
|
20166
|
+
"returns": "200 OK",
|
|
20167
|
+
"common_use_cases": [
|
|
20168
|
+
"Cancelar disparo agendado"
|
|
20169
|
+
],
|
|
20170
|
+
"related_tools": []
|
|
20171
|
+
},
|
|
20172
|
+
{
|
|
20173
|
+
"id": "lionchat_campaigns_statistics",
|
|
20174
|
+
"method": "GET",
|
|
20175
|
+
"path": "/api/v1/accounts/{account_id}/campaigns/{id}/statistics",
|
|
20176
|
+
"title": "Estatísticas da Campanha",
|
|
20177
|
+
"description": "Métricas de entrega de campanha one-off: total, enviadas, entregues, lidas, falhas e taxas (%).",
|
|
20178
|
+
"category": "Campanhas",
|
|
20179
|
+
"params": [
|
|
20180
|
+
{
|
|
20181
|
+
"name": "id",
|
|
20182
|
+
"type": "integer",
|
|
20183
|
+
"location": "path",
|
|
20184
|
+
"required": true,
|
|
20185
|
+
"description": "display_id da campanha"
|
|
20186
|
+
}
|
|
20187
|
+
],
|
|
20188
|
+
"returns": "{ total, sent, delivered, read, failed, delivery_rate, read_rate }",
|
|
20189
|
+
"common_use_cases": [
|
|
20190
|
+
"Acompanhar desempenho do disparo",
|
|
20191
|
+
"Comparar campanhas"
|
|
20192
|
+
],
|
|
20193
|
+
"related_tools": []
|
|
20194
|
+
},
|
|
20195
|
+
{
|
|
20196
|
+
"id": "lionchat_campaigns_estimate_audience",
|
|
20197
|
+
"method": "POST",
|
|
20198
|
+
"path": "/api/v1/accounts/{account_id}/campaigns/estimate_audience",
|
|
20199
|
+
"title": "Estimar Audiência da Campanha",
|
|
20200
|
+
"description": "Conta quantos contatos COM TELEFONE atendem aos critérios ANTES de criar a campanha. Usa o MESMO motor do disparo (estimativa = lista real). SEMPRE chame antes de campaigns_create e mostre o número ao usuário.",
|
|
20201
|
+
"category": "Campanhas",
|
|
20202
|
+
"params": [
|
|
20203
|
+
{
|
|
20204
|
+
"name": "audience",
|
|
20205
|
+
"type": "array",
|
|
20206
|
+
"location": "body",
|
|
20207
|
+
"required": true,
|
|
20208
|
+
"description": "Critérios de público — array de seções combináveis: { type: 'Label', id } | { type: 'Funnel', id, stages: ['slug_etapa'], include_won: bool, include_lost: bool } | { type: 'ConversationAttribute', key, value } (atributo personalizado da conversa, ex: origem_do_lead=instagram)"
|
|
20209
|
+
},
|
|
20210
|
+
{
|
|
20211
|
+
"name": "audience_mode",
|
|
20212
|
+
"type": "string",
|
|
20213
|
+
"location": "body",
|
|
20214
|
+
"required": false,
|
|
20215
|
+
"description": "Como combinar as seções do público: 'sum' (união, default — contato em QUALQUER seção entra) ou 'all' (interseção — precisa atender TODAS as seções preenchidas)"
|
|
20216
|
+
}
|
|
20217
|
+
],
|
|
20218
|
+
"returns": "{ count: <int> }",
|
|
20219
|
+
"common_use_cases": [
|
|
20220
|
+
"Validar público antes do disparo",
|
|
20221
|
+
"Comparar união vs interseção dos critérios"
|
|
20222
|
+
],
|
|
20223
|
+
"related_tools": [
|
|
20224
|
+
"lionchat_campaigns_create"
|
|
20225
|
+
]
|
|
20226
|
+
},
|
|
20227
|
+
{
|
|
20228
|
+
"id": "lionchat_inboxes_campaigns_list",
|
|
20229
|
+
"method": "GET",
|
|
20230
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/campaigns",
|
|
20231
|
+
"title": "Campanhas de uma Caixa de Entrada",
|
|
20232
|
+
"description": "Lista as campanhas vinculadas a uma inbox específica (útil pra ver campanhas ongoing de um site).",
|
|
20233
|
+
"category": "Campanhas",
|
|
20234
|
+
"params": [
|
|
20235
|
+
{
|
|
20236
|
+
"name": "inbox_id",
|
|
20237
|
+
"type": "integer",
|
|
20238
|
+
"location": "path",
|
|
20239
|
+
"required": true,
|
|
20240
|
+
"description": "ID da caixa de entrada"
|
|
20241
|
+
}
|
|
20242
|
+
],
|
|
20243
|
+
"returns": "{ campaigns: [...] }",
|
|
20244
|
+
"common_use_cases": [
|
|
20245
|
+
"Ver campanhas ativas de um canal"
|
|
20246
|
+
],
|
|
20247
|
+
"related_tools": [
|
|
20248
|
+
"lionchat_campaigns_list"
|
|
20249
|
+
]
|
|
20250
|
+
},
|
|
20251
|
+
{
|
|
20252
|
+
"id": "lionchat_topsend_campaigns_list",
|
|
20253
|
+
"method": "GET",
|
|
20254
|
+
"path": "/api/v1/accounts/{account_id}/topsend_campaigns",
|
|
20255
|
+
"title": "Listar Campanhas SMS/Voz (TopSend)",
|
|
20256
|
+
"description": "Lista campanhas de SMS e voz via TopSend. ADMIN-ONLY. Tipos: SMSSHORT (texto), SMSFLASH (tela), TVOZ (voz), URA (voz + teclas). Status: draft, pending, active, ended, cancelled, failed.",
|
|
20257
|
+
"category": "Campanhas SMS/Voz",
|
|
20258
|
+
"params": [
|
|
20259
|
+
{
|
|
20260
|
+
"name": "status",
|
|
20261
|
+
"type": "string",
|
|
20262
|
+
"location": "query",
|
|
20263
|
+
"required": false,
|
|
20264
|
+
"description": "Filtro: draft | pending | active | ended | cancelled | failed"
|
|
20265
|
+
},
|
|
20266
|
+
{
|
|
20267
|
+
"name": "type",
|
|
20268
|
+
"type": "string",
|
|
20269
|
+
"location": "query",
|
|
20270
|
+
"required": false,
|
|
20271
|
+
"description": "Filtro: SMSSHORT | SMSFLASH | TVOZ | URA"
|
|
20272
|
+
}
|
|
20273
|
+
],
|
|
20274
|
+
"returns": "{ campaigns: [{ id, title, campaign_type, status, message, scheduled_at, total_recipients, delivered_count, failed_count, ... }] }",
|
|
20275
|
+
"common_use_cases": [
|
|
20276
|
+
"Ver campanhas SMS em rascunho",
|
|
20277
|
+
"Conferir falhas de disparo de voz"
|
|
20278
|
+
],
|
|
20279
|
+
"related_tools": []
|
|
20280
|
+
},
|
|
20281
|
+
{
|
|
20282
|
+
"id": "lionchat_topsend_campaigns_show",
|
|
20283
|
+
"method": "GET",
|
|
20284
|
+
"path": "/api/v1/accounts/{account_id}/topsend_campaigns/{id}",
|
|
20285
|
+
"title": "Detalhe da Campanha TopSend",
|
|
20286
|
+
"description": "Detalhe completo de uma campanha SMS/voz: destinatários, áudio, resultados de entrega, ações DTMF. ADMIN-ONLY.",
|
|
20287
|
+
"category": "Campanhas SMS/Voz",
|
|
20288
|
+
"params": [
|
|
20289
|
+
{
|
|
20290
|
+
"name": "id",
|
|
20291
|
+
"type": "integer",
|
|
20292
|
+
"location": "path",
|
|
20293
|
+
"required": true,
|
|
20294
|
+
"description": "ID da campanha TopSend"
|
|
20295
|
+
}
|
|
20296
|
+
],
|
|
20297
|
+
"returns": "{ campaign: {...} }",
|
|
20298
|
+
"common_use_cases": [
|
|
20299
|
+
"Auditar disparo SMS"
|
|
20300
|
+
],
|
|
20301
|
+
"related_tools": []
|
|
20302
|
+
},
|
|
20303
|
+
{
|
|
20304
|
+
"id": "lionchat_topsend_campaigns_create",
|
|
20305
|
+
"method": "POST",
|
|
20306
|
+
"path": "/api/v1/accounts/{account_id}/topsend_campaigns",
|
|
20307
|
+
"title": "Criar Campanha SMS/Voz (TopSend)",
|
|
20308
|
+
"description": "Cria campanha SMS (SMSSHORT/SMSFLASH) ou voz (TVOZ/URA). ADMIN-ONLY. Destinatários: audience estruturado (Labels/Funnel) OU recipient_numbers manual. TVOZ/URA exigem áudio via audio_id (já na TopSend) ou audio_url (externa) — upload de arquivo não é suportado via MCP. ENVIO EM MASSA: confirme com o usuário. 422 sem destinatários ou voz sem áudio.",
|
|
20309
|
+
"category": "Campanhas SMS/Voz",
|
|
20310
|
+
"params": [
|
|
20311
|
+
{
|
|
20312
|
+
"name": "title",
|
|
20313
|
+
"type": "string",
|
|
20314
|
+
"location": "body",
|
|
20315
|
+
"required": true,
|
|
20316
|
+
"description": "Nome da campanha"
|
|
20317
|
+
},
|
|
20318
|
+
{
|
|
20319
|
+
"name": "campaign_type",
|
|
20320
|
+
"type": "string",
|
|
20321
|
+
"location": "body",
|
|
20322
|
+
"required": true,
|
|
20323
|
+
"description": "SMSSHORT | SMSFLASH | TVOZ | URA"
|
|
20324
|
+
},
|
|
20325
|
+
{
|
|
20326
|
+
"name": "message",
|
|
20327
|
+
"type": "string",
|
|
20328
|
+
"location": "body",
|
|
20329
|
+
"required": true,
|
|
20330
|
+
"description": "Texto do SMS (até 160 chars) ou roteiro de voz"
|
|
20331
|
+
},
|
|
20332
|
+
{
|
|
20333
|
+
"name": "scheduled_at",
|
|
20334
|
+
"type": "string",
|
|
20335
|
+
"location": "body",
|
|
20336
|
+
"required": false,
|
|
20337
|
+
"description": "Agendamento (ISO 8601); futuro = pending até o disparo"
|
|
20338
|
+
},
|
|
20339
|
+
{
|
|
20340
|
+
"name": "recipient_numbers",
|
|
20341
|
+
"type": "array",
|
|
20342
|
+
"location": "body",
|
|
20343
|
+
"required": false,
|
|
20344
|
+
"description": "Números manuais (+5511..., normalizador tolerante). Alternativa a audience"
|
|
20345
|
+
},
|
|
20346
|
+
{
|
|
20347
|
+
"name": "audience",
|
|
20348
|
+
"type": "array",
|
|
20349
|
+
"location": "body",
|
|
20350
|
+
"required": false,
|
|
20351
|
+
"description": "Seções Label/Funnel (mesmo formato das campanhas) — resolve pros telefones dos contatos"
|
|
20352
|
+
},
|
|
20353
|
+
{
|
|
20354
|
+
"name": "audio_id",
|
|
20355
|
+
"type": "string",
|
|
20356
|
+
"location": "body",
|
|
20357
|
+
"required": false,
|
|
20358
|
+
"description": "ID de áudio já enviado à TopSend (TVOZ/URA)"
|
|
20359
|
+
},
|
|
20360
|
+
{
|
|
20361
|
+
"name": "audio_url",
|
|
20362
|
+
"type": "string",
|
|
20363
|
+
"location": "body",
|
|
20364
|
+
"required": false,
|
|
20365
|
+
"description": "URL externa do áudio MP3 (TVOZ/URA)"
|
|
20366
|
+
},
|
|
20367
|
+
{
|
|
20368
|
+
"name": "dtmf_actions",
|
|
20369
|
+
"type": "object",
|
|
20370
|
+
"location": "body",
|
|
20371
|
+
"required": false,
|
|
20372
|
+
"description": "URA: mapeamento de teclas { '1': { automation_rule_id }, '2': null }"
|
|
20373
|
+
}
|
|
20374
|
+
],
|
|
20375
|
+
"returns": "{ campaign: { id, status: 'draft'|'pending', ... } }",
|
|
20376
|
+
"common_use_cases": [
|
|
20377
|
+
"SMS pra etiqueta VIP",
|
|
20378
|
+
"Voz de confirmação de consulta agendada"
|
|
20379
|
+
],
|
|
20380
|
+
"related_tools": [
|
|
20381
|
+
"lionchat_topsend_campaigns_test_connection"
|
|
20382
|
+
]
|
|
20383
|
+
},
|
|
20384
|
+
{
|
|
20385
|
+
"id": "lionchat_topsend_campaigns_destroy",
|
|
20386
|
+
"method": "DELETE",
|
|
20387
|
+
"path": "/api/v1/accounts/{account_id}/topsend_campaigns/{id}",
|
|
20388
|
+
"title": "Excluir Campanha TopSend",
|
|
20389
|
+
"description": "Remove campanha TopSend. SÓ status 'draft' pode ser excluído (422 nos demais). ADMIN-ONLY.",
|
|
20390
|
+
"category": "Campanhas SMS/Voz",
|
|
20391
|
+
"params": [
|
|
20392
|
+
{
|
|
20393
|
+
"name": "id",
|
|
20394
|
+
"type": "integer",
|
|
20395
|
+
"location": "path",
|
|
20396
|
+
"required": true,
|
|
20397
|
+
"description": "ID da campanha TopSend"
|
|
20398
|
+
}
|
|
20399
|
+
],
|
|
20400
|
+
"returns": "200 OK",
|
|
20401
|
+
"common_use_cases": [
|
|
20402
|
+
"Descartar rascunho"
|
|
20403
|
+
],
|
|
20404
|
+
"related_tools": []
|
|
20405
|
+
},
|
|
20406
|
+
{
|
|
20407
|
+
"id": "lionchat_topsend_campaigns_test_connection",
|
|
20408
|
+
"method": "POST",
|
|
20409
|
+
"path": "/api/v1/accounts/{account_id}/topsend_campaigns/test_connection",
|
|
20410
|
+
"title": "Testar Conexão TopSend",
|
|
20411
|
+
"description": "Valida a chave de API TopSend configurada na conta. ADMIN-ONLY.",
|
|
20412
|
+
"category": "Campanhas SMS/Voz",
|
|
20413
|
+
"params": [],
|
|
20414
|
+
"returns": "{ success: true } ou { success: false, error }",
|
|
20415
|
+
"common_use_cases": [
|
|
20416
|
+
"Diagnosticar integração antes de criar campanha"
|
|
20417
|
+
],
|
|
20418
|
+
"related_tools": []
|
|
20419
|
+
},
|
|
20420
|
+
{
|
|
20421
|
+
"id": "lionchat_flow_tools_list",
|
|
20422
|
+
"method": "GET",
|
|
20423
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools",
|
|
20424
|
+
"title": "Listar Ferramentas da IA (ai_tool)",
|
|
20425
|
+
"description": "Lista os flows de tipo ai_tool — ferramentas que o AI Agente (Captain) invoca durante a conversa. ADMIN-ONLY. Inclui vínculos com assistentes.",
|
|
20426
|
+
"category": "Ferramentas da IA",
|
|
20427
|
+
"params": [],
|
|
20428
|
+
"returns": "[{ id, name, tool_name, tool_description, active, flow_type: 'ai_tool', assistant_flow_tools, created_at }]",
|
|
20429
|
+
"common_use_cases": [
|
|
20430
|
+
"Ver ferramentas disponíveis pra vincular a um assistente"
|
|
20431
|
+
],
|
|
20432
|
+
"related_tools": [
|
|
20433
|
+
"lionchat_flow_tools_create",
|
|
20434
|
+
"lionchat_flows_schema_reference"
|
|
20435
|
+
]
|
|
20436
|
+
},
|
|
20437
|
+
{
|
|
20438
|
+
"id": "lionchat_flow_tools_show",
|
|
20439
|
+
"method": "GET",
|
|
20440
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}",
|
|
20441
|
+
"title": "Detalhe da Ferramenta da IA",
|
|
20442
|
+
"description": "Detalhe de um flow ai_tool, incluindo flow_data completo. ADMIN-ONLY.",
|
|
20443
|
+
"category": "Ferramentas da IA",
|
|
20444
|
+
"params": [
|
|
20445
|
+
{
|
|
20446
|
+
"name": "id",
|
|
20447
|
+
"type": "integer",
|
|
20448
|
+
"location": "path",
|
|
20449
|
+
"required": true,
|
|
20450
|
+
"description": "ID do flow tool"
|
|
20451
|
+
}
|
|
20452
|
+
],
|
|
20453
|
+
"returns": "{ id, name, tool_name, tool_description, active, flow_data, ... }",
|
|
20454
|
+
"common_use_cases": [
|
|
20455
|
+
"Inspecionar antes de editar"
|
|
20456
|
+
],
|
|
20457
|
+
"related_tools": [
|
|
20458
|
+
"lionchat_flow_tools_update"
|
|
20459
|
+
]
|
|
20460
|
+
},
|
|
20461
|
+
{
|
|
20462
|
+
"id": "lionchat_flow_tools_create",
|
|
20463
|
+
"method": "POST",
|
|
20464
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools",
|
|
20465
|
+
"title": "Criar Ferramenta da IA (ai_tool)",
|
|
20466
|
+
"description": "Cria flow de tipo ai_tool (a porta CERTA — NÃO use flows_create pra isso). ADMIN-ONLY. CHAME lionchat_flows_schema_reference ANTES: nó 'end' OBRIGATÓRIO, sem inbox_ids, nodes permitidos = start/end/api/condition/set_variable/ai/randomizer/action/send_message/note. Depois de criar: teste com flow_tools_run e vincule ao assistente com flow_tools_assistants_update.",
|
|
20467
|
+
"category": "Ferramentas da IA",
|
|
20468
|
+
"params": [
|
|
20469
|
+
{
|
|
20470
|
+
"name": "tool_name",
|
|
20471
|
+
"type": "string",
|
|
20472
|
+
"location": "body",
|
|
20473
|
+
"required": true,
|
|
20474
|
+
"description": "Identificador da ferramenta (snake_case, [a-z][a-z0-9_], máx 50) — é o que o LLM enxerga"
|
|
20475
|
+
},
|
|
20476
|
+
{
|
|
20477
|
+
"name": "tool_description",
|
|
20478
|
+
"type": "string",
|
|
20479
|
+
"location": "body",
|
|
20480
|
+
"required": false,
|
|
20481
|
+
"description": "Quando a IA deve usar a ferramenta (máx 500 chars) — seja específico"
|
|
20482
|
+
},
|
|
20483
|
+
{
|
|
20484
|
+
"name": "flow_data",
|
|
20485
|
+
"type": "object",
|
|
20486
|
+
"location": "body",
|
|
20487
|
+
"required": true,
|
|
20488
|
+
"description": "Canvas Vue Flow { nodes, edges } com nó end obrigatório (ver flows_schema_reference)"
|
|
20489
|
+
},
|
|
20490
|
+
{
|
|
20491
|
+
"name": "name",
|
|
20492
|
+
"type": "string",
|
|
20493
|
+
"location": "body",
|
|
20494
|
+
"required": false,
|
|
20495
|
+
"description": "Nome de exibição (default: tool_name)"
|
|
20496
|
+
},
|
|
20497
|
+
{
|
|
20498
|
+
"name": "active",
|
|
20499
|
+
"type": "boolean",
|
|
20500
|
+
"location": "body",
|
|
20501
|
+
"required": false,
|
|
20502
|
+
"description": "Ativa (default true)"
|
|
20503
|
+
}
|
|
20504
|
+
],
|
|
20505
|
+
"returns": "{ id, tool_name, flow_type: 'ai_tool', ... } (201)",
|
|
20506
|
+
"common_use_cases": [
|
|
20507
|
+
"Ferramenta de consulta a API externa (status de pedido, CEP)",
|
|
20508
|
+
"Cálculo/decisão estruturada pro assistente"
|
|
20509
|
+
],
|
|
20510
|
+
"related_tools": [
|
|
20511
|
+
"lionchat_flow_tools_run",
|
|
20512
|
+
"lionchat_flow_tools_assistants_update",
|
|
20513
|
+
"lionchat_flows_schema_reference"
|
|
20514
|
+
]
|
|
20515
|
+
},
|
|
20516
|
+
{
|
|
20517
|
+
"id": "lionchat_flow_tools_update",
|
|
20518
|
+
"method": "PATCH",
|
|
20519
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}",
|
|
20520
|
+
"title": "Atualizar Ferramenta da IA",
|
|
20521
|
+
"description": "Atualiza um flow ai_tool (mesmos campos do create). ADMIN-ONLY. Re-teste com flow_tools_run após mudar o flow_data.",
|
|
20522
|
+
"category": "Ferramentas da IA",
|
|
20523
|
+
"params": [
|
|
20524
|
+
{
|
|
20525
|
+
"name": "id",
|
|
20526
|
+
"type": "integer",
|
|
20527
|
+
"location": "path",
|
|
20528
|
+
"required": true,
|
|
20529
|
+
"description": "ID do flow tool"
|
|
20530
|
+
},
|
|
20531
|
+
{
|
|
20532
|
+
"name": "tool_name",
|
|
20533
|
+
"type": "string",
|
|
20534
|
+
"location": "body",
|
|
20535
|
+
"required": false,
|
|
20536
|
+
"description": "Novo identificador (snake_case)"
|
|
20537
|
+
},
|
|
20538
|
+
{
|
|
20539
|
+
"name": "tool_description",
|
|
20540
|
+
"type": "string",
|
|
20541
|
+
"location": "body",
|
|
20542
|
+
"required": false,
|
|
20543
|
+
"description": "Nova descrição"
|
|
20544
|
+
},
|
|
20545
|
+
{
|
|
20546
|
+
"name": "flow_data",
|
|
20547
|
+
"type": "object",
|
|
20548
|
+
"location": "body",
|
|
20549
|
+
"required": false,
|
|
20550
|
+
"description": "Novo canvas (nó end obrigatório)"
|
|
20551
|
+
},
|
|
20552
|
+
{
|
|
20553
|
+
"name": "name",
|
|
20554
|
+
"type": "string",
|
|
20555
|
+
"location": "body",
|
|
20556
|
+
"required": false,
|
|
20557
|
+
"description": "Novo nome de exibição"
|
|
20558
|
+
},
|
|
20559
|
+
{
|
|
20560
|
+
"name": "active",
|
|
20561
|
+
"type": "boolean",
|
|
20562
|
+
"location": "body",
|
|
20563
|
+
"required": false,
|
|
20564
|
+
"description": "Ativa/desativa"
|
|
20565
|
+
}
|
|
20566
|
+
],
|
|
20567
|
+
"returns": "{ id, ... }",
|
|
20568
|
+
"common_use_cases": [
|
|
20569
|
+
"Ajustar URL da API consultada",
|
|
20570
|
+
"Refinar a descrição pra IA acertar quando usar"
|
|
20571
|
+
],
|
|
20572
|
+
"related_tools": [
|
|
20573
|
+
"lionchat_flow_tools_run"
|
|
20574
|
+
]
|
|
20575
|
+
},
|
|
20576
|
+
{
|
|
20577
|
+
"id": "lionchat_flow_tools_destroy",
|
|
20578
|
+
"method": "DELETE",
|
|
20579
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}",
|
|
20580
|
+
"title": "Excluir Ferramenta da IA",
|
|
20581
|
+
"description": "Remove o flow ai_tool e os vínculos com assistentes. ADMIN-ONLY. DESTRUTIVO — confirme antes; confira os vínculos com flow_tools_assistants_list.",
|
|
20582
|
+
"category": "Ferramentas da IA",
|
|
20583
|
+
"params": [
|
|
20584
|
+
{
|
|
20585
|
+
"name": "id",
|
|
20586
|
+
"type": "integer",
|
|
20587
|
+
"location": "path",
|
|
20588
|
+
"required": true,
|
|
20589
|
+
"description": "ID do flow tool"
|
|
20590
|
+
}
|
|
20591
|
+
],
|
|
20592
|
+
"returns": "204 No Content",
|
|
20593
|
+
"common_use_cases": [
|
|
20594
|
+
"Remover ferramenta obsoleta"
|
|
20595
|
+
],
|
|
20596
|
+
"related_tools": [
|
|
20597
|
+
"lionchat_flow_tools_assistants_list"
|
|
20598
|
+
]
|
|
20599
|
+
},
|
|
20600
|
+
{
|
|
20601
|
+
"id": "lionchat_flow_tools_toggle",
|
|
20602
|
+
"method": "POST",
|
|
20603
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}/toggle",
|
|
20604
|
+
"title": "Ativar/Desativar Ferramenta da IA",
|
|
20605
|
+
"description": "Inverte o estado ativo da ferramenta (desativada = assistentes param de enxergar). ADMIN-ONLY.",
|
|
20606
|
+
"category": "Ferramentas da IA",
|
|
20607
|
+
"params": [
|
|
20608
|
+
{
|
|
20609
|
+
"name": "id",
|
|
20610
|
+
"type": "integer",
|
|
20611
|
+
"location": "path",
|
|
20612
|
+
"required": true,
|
|
20613
|
+
"description": "ID do flow tool"
|
|
20614
|
+
}
|
|
20615
|
+
],
|
|
20616
|
+
"returns": "{ id, active }",
|
|
20617
|
+
"common_use_cases": [
|
|
20618
|
+
"Pausar ferramenta com problema sem apagar"
|
|
20619
|
+
],
|
|
20620
|
+
"related_tools": []
|
|
20621
|
+
},
|
|
20622
|
+
{
|
|
20623
|
+
"id": "lionchat_flow_tools_run",
|
|
20624
|
+
"method": "POST",
|
|
20625
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}/run",
|
|
20626
|
+
"title": "Testar Ferramenta da IA (execução manual)",
|
|
20627
|
+
"description": "Executa o flow ai_tool sincronamente com parâmetros explícitos, SEM passar pelo LLM. Cria FlowToolExecution auditável. ADMIN-ONLY, rate limit 60/min. Use SEMPRE antes de vincular ao assistente.",
|
|
20628
|
+
"category": "Ferramentas da IA",
|
|
20629
|
+
"params": [
|
|
20630
|
+
{
|
|
20631
|
+
"name": "id",
|
|
20632
|
+
"type": "integer",
|
|
20633
|
+
"location": "path",
|
|
20634
|
+
"required": true,
|
|
20635
|
+
"description": "ID do flow tool"
|
|
20636
|
+
},
|
|
20637
|
+
{
|
|
20638
|
+
"name": "flow_params",
|
|
20639
|
+
"type": "object",
|
|
20640
|
+
"location": "body",
|
|
20641
|
+
"required": false,
|
|
20642
|
+
"description": "Parâmetros de entrada do flow, ex: { \"numero_pedido\": \"123\" }"
|
|
20643
|
+
}
|
|
20644
|
+
],
|
|
20645
|
+
"returns": "{ execution_id, status, output_result, variables, execution_log, error_message, duration_ms }",
|
|
20646
|
+
"common_use_cases": [
|
|
20647
|
+
"Validar a ferramenta com dados reais",
|
|
20648
|
+
"Depurar erro de execução"
|
|
20649
|
+
],
|
|
20650
|
+
"related_tools": [
|
|
20651
|
+
"lionchat_flow_tool_executions_show"
|
|
20652
|
+
]
|
|
20653
|
+
},
|
|
20654
|
+
{
|
|
20655
|
+
"id": "lionchat_flow_tools_assistants_list",
|
|
20656
|
+
"method": "GET",
|
|
20657
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}/assistants",
|
|
20658
|
+
"title": "Assistentes Vinculados à Ferramenta",
|
|
20659
|
+
"description": "Lista quais AI Agentes (Captain::Assistant) usam esta ferramenta. ADMIN-ONLY.",
|
|
20660
|
+
"category": "Ferramentas da IA",
|
|
20661
|
+
"params": [
|
|
20662
|
+
{
|
|
20663
|
+
"name": "id",
|
|
20664
|
+
"type": "integer",
|
|
20665
|
+
"location": "path",
|
|
20666
|
+
"required": true,
|
|
20667
|
+
"description": "ID do flow tool"
|
|
20668
|
+
}
|
|
20669
|
+
],
|
|
20670
|
+
"returns": "{ assistant_ids: [..], assistants: [{ id, name }] }",
|
|
20671
|
+
"common_use_cases": [
|
|
20672
|
+
"Conferir impacto antes de editar/excluir"
|
|
20673
|
+
],
|
|
20674
|
+
"related_tools": [
|
|
20675
|
+
"lionchat_flow_tools_assistants_update"
|
|
20676
|
+
]
|
|
20677
|
+
},
|
|
20678
|
+
{
|
|
20679
|
+
"id": "lionchat_flow_tools_assistants_update",
|
|
20680
|
+
"method": "POST",
|
|
20681
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}/assistants",
|
|
20682
|
+
"title": "Vincular Ferramenta aos Assistentes",
|
|
20683
|
+
"description": "SINCRONIZA a lista de assistentes que usam a ferramenta (substitui a lista inteira — IDs ausentes são DESVINCULADOS). Idempotente; IDs de outra conta são ignorados. ADMIN-ONLY.",
|
|
20684
|
+
"category": "Ferramentas da IA",
|
|
20685
|
+
"params": [
|
|
20686
|
+
{
|
|
20687
|
+
"name": "id",
|
|
20688
|
+
"type": "integer",
|
|
20689
|
+
"location": "path",
|
|
20690
|
+
"required": true,
|
|
20691
|
+
"description": "ID do flow tool"
|
|
20692
|
+
},
|
|
20693
|
+
{
|
|
20694
|
+
"name": "assistant_ids",
|
|
20695
|
+
"type": "array",
|
|
20696
|
+
"location": "body",
|
|
20697
|
+
"required": true,
|
|
20698
|
+
"description": "Lista FINAL de IDs de assistentes (leia a lista atual antes pra não desvincular sem querer)"
|
|
20699
|
+
}
|
|
20700
|
+
],
|
|
20701
|
+
"returns": "{ assistant_ids: [...] }",
|
|
20702
|
+
"common_use_cases": [
|
|
20703
|
+
"Disponibilizar a ferramenta pro AI Agente",
|
|
20704
|
+
"Remover de um assistente específico"
|
|
20705
|
+
],
|
|
20706
|
+
"related_tools": [
|
|
20707
|
+
"lionchat_flow_tools_assistants_list"
|
|
20708
|
+
]
|
|
20709
|
+
},
|
|
20710
|
+
{
|
|
20711
|
+
"id": "lionchat_flow_tools_executions_list",
|
|
20712
|
+
"method": "GET",
|
|
20713
|
+
"path": "/api/v1/accounts/{account_id}/flow_tools/{id}/executions",
|
|
20714
|
+
"title": "Execuções da Ferramenta da IA",
|
|
20715
|
+
"description": "Últimas 50 execuções (manuais e via LLM) com status e duração. ADMIN-ONLY.",
|
|
20716
|
+
"category": "Ferramentas da IA",
|
|
20717
|
+
"params": [
|
|
20718
|
+
{
|
|
20719
|
+
"name": "id",
|
|
20720
|
+
"type": "integer",
|
|
20721
|
+
"location": "path",
|
|
20722
|
+
"required": true,
|
|
20723
|
+
"description": "ID do flow tool"
|
|
20724
|
+
}
|
|
20725
|
+
],
|
|
20726
|
+
"returns": "[{ id, status, started_at, completed_at, duration_ms, error_message }]",
|
|
20727
|
+
"common_use_cases": [
|
|
20728
|
+
"Monitorar saúde da ferramenta",
|
|
20729
|
+
"Achar execuções com falha"
|
|
20730
|
+
],
|
|
20731
|
+
"related_tools": [
|
|
20732
|
+
"lionchat_flow_tool_executions_show"
|
|
20733
|
+
]
|
|
20734
|
+
},
|
|
20735
|
+
{
|
|
20736
|
+
"id": "lionchat_flow_tool_executions_show",
|
|
20737
|
+
"method": "GET",
|
|
20738
|
+
"path": "/api/v1/accounts/{account_id}/flow_tool_executions/{id}",
|
|
20739
|
+
"title": "Detalhe de Execução da Ferramenta",
|
|
20740
|
+
"description": "Detalhe completo de UMA execução: entrada, saída, log passo a passo, variáveis, nós visitados e a resposta da IA na sequência (se houver). PII é redigida automaticamente. ADMIN-ONLY.",
|
|
20741
|
+
"category": "Ferramentas da IA",
|
|
20742
|
+
"params": [
|
|
20743
|
+
{
|
|
20744
|
+
"name": "id",
|
|
20745
|
+
"type": "integer",
|
|
20746
|
+
"location": "path",
|
|
20747
|
+
"required": true,
|
|
20748
|
+
"description": "ID da execução (FlowToolExecution)"
|
|
20749
|
+
}
|
|
20750
|
+
],
|
|
20751
|
+
"returns": "{ id, flow_id, status, input_params, output_result, execution_log, variables, canvas_detail, ai_response, duration_ms, error_message }",
|
|
20752
|
+
"common_use_cases": [
|
|
20753
|
+
"Depurar por que a ferramenta retornou errado pro LLM"
|
|
20754
|
+
],
|
|
20755
|
+
"related_tools": []
|
|
20756
|
+
},
|
|
20757
|
+
{
|
|
20758
|
+
"id": "lionchat_flows_executions_list",
|
|
20759
|
+
"method": "GET",
|
|
20760
|
+
"path": "/api/v1/accounts/{account_id}/flows/{id}/executions",
|
|
20761
|
+
"title": "Execuções de um Flow",
|
|
20762
|
+
"description": "Histórico de execuções (sessões) de um flow de conversa, com filtros. ADMIN-ONLY, rate limit 60/min. Janela de datas limitada a 90 dias.",
|
|
20763
|
+
"category": "Flows",
|
|
20764
|
+
"params": [
|
|
20765
|
+
{
|
|
20766
|
+
"name": "id",
|
|
20767
|
+
"type": "integer",
|
|
20768
|
+
"location": "path",
|
|
20769
|
+
"required": true,
|
|
20770
|
+
"description": "ID do flow"
|
|
20771
|
+
},
|
|
20772
|
+
{
|
|
20773
|
+
"name": "status",
|
|
20774
|
+
"type": "string",
|
|
20775
|
+
"location": "query",
|
|
20776
|
+
"required": false,
|
|
20777
|
+
"description": "Filtrar por status: pending | running | completed | failed"
|
|
20778
|
+
},
|
|
20779
|
+
{
|
|
20780
|
+
"name": "from",
|
|
20781
|
+
"type": "string",
|
|
20782
|
+
"location": "query",
|
|
20783
|
+
"required": false,
|
|
20784
|
+
"description": "Início ISO 8601 (default: 7 dias atrás)"
|
|
20785
|
+
},
|
|
20786
|
+
{
|
|
20787
|
+
"name": "to",
|
|
20788
|
+
"type": "string",
|
|
20789
|
+
"location": "query",
|
|
20790
|
+
"required": false,
|
|
20791
|
+
"description": "Fim ISO 8601 (default: agora; máx 90 dias de janela)"
|
|
20792
|
+
},
|
|
20793
|
+
{
|
|
20794
|
+
"name": "q",
|
|
20795
|
+
"type": "string",
|
|
20796
|
+
"location": "query",
|
|
20797
|
+
"required": false,
|
|
20798
|
+
"description": "Busca por nome do contato ou nº da conversa (mín 2 chars)"
|
|
20799
|
+
},
|
|
20800
|
+
{
|
|
20801
|
+
"name": "page",
|
|
20802
|
+
"type": "integer",
|
|
20803
|
+
"location": "query",
|
|
20804
|
+
"required": false,
|
|
20805
|
+
"description": "Página (default 1)"
|
|
20806
|
+
},
|
|
20807
|
+
{
|
|
20808
|
+
"name": "per_page",
|
|
20809
|
+
"type": "integer",
|
|
20810
|
+
"location": "query",
|
|
20811
|
+
"required": false,
|
|
20812
|
+
"description": "Itens por página (default 25, máx 100)"
|
|
20813
|
+
}
|
|
20814
|
+
],
|
|
20815
|
+
"returns": "{ data: [{ id, status, contact_name, conversation_display_id, started_at, completed_at }], meta }",
|
|
20816
|
+
"common_use_cases": [
|
|
20817
|
+
"Diagnosticar 'o flow não disparou'",
|
|
20818
|
+
"Ver quantos clientes passaram pelo flow hoje"
|
|
20819
|
+
],
|
|
20820
|
+
"related_tools": [
|
|
20821
|
+
"lionchat_flows_show"
|
|
20822
|
+
]
|
|
20823
|
+
},
|
|
20824
|
+
{
|
|
20825
|
+
"id": "lionchat_flow_versions_list",
|
|
20826
|
+
"method": "GET",
|
|
20827
|
+
"path": "/api/v1/accounts/{account_id}/flows/{flow_id}/versions",
|
|
20828
|
+
"title": "Histórico de Versões do Flow",
|
|
20829
|
+
"description": "Lista o histórico de edições do flow: quem editou, quando, resumo do diff. ADMIN-ONLY.",
|
|
20830
|
+
"category": "Flows",
|
|
20831
|
+
"params": [
|
|
20832
|
+
{
|
|
20833
|
+
"name": "flow_id",
|
|
20834
|
+
"type": "integer",
|
|
20835
|
+
"location": "path",
|
|
20836
|
+
"required": true,
|
|
20837
|
+
"description": "ID do flow"
|
|
20838
|
+
},
|
|
20839
|
+
{
|
|
20840
|
+
"name": "page",
|
|
20841
|
+
"type": "integer",
|
|
20842
|
+
"location": "query",
|
|
20843
|
+
"required": false,
|
|
20844
|
+
"description": "Página"
|
|
20845
|
+
}
|
|
20846
|
+
],
|
|
20847
|
+
"returns": "{ data: [{ id, version, action, created_at, user, diff_summary }], meta }",
|
|
20848
|
+
"common_use_cases": [
|
|
20849
|
+
"Auditar quem mudou o flow",
|
|
20850
|
+
"Achar versão pra comparar"
|
|
20851
|
+
],
|
|
20852
|
+
"related_tools": [
|
|
20853
|
+
"lionchat_flow_versions_show"
|
|
20854
|
+
]
|
|
20855
|
+
},
|
|
20856
|
+
{
|
|
20857
|
+
"id": "lionchat_flow_versions_show",
|
|
20858
|
+
"method": "GET",
|
|
20859
|
+
"path": "/api/v1/accounts/{account_id}/flows/{flow_id}/versions/{id}",
|
|
20860
|
+
"title": "Detalhe de Versão do Flow",
|
|
20861
|
+
"description": "Retorna uma versão específica com o snapshot completo do canvas naquele momento. ADMIN-ONLY.",
|
|
20862
|
+
"category": "Flows",
|
|
20863
|
+
"params": [
|
|
20864
|
+
{
|
|
20865
|
+
"name": "flow_id",
|
|
20866
|
+
"type": "integer",
|
|
20867
|
+
"location": "path",
|
|
20868
|
+
"required": true,
|
|
20869
|
+
"description": "ID do flow"
|
|
20870
|
+
},
|
|
20871
|
+
{
|
|
20872
|
+
"name": "id",
|
|
20873
|
+
"type": "integer",
|
|
20874
|
+
"location": "path",
|
|
20875
|
+
"required": true,
|
|
20876
|
+
"description": "ID da versão"
|
|
20877
|
+
}
|
|
20878
|
+
],
|
|
20879
|
+
"returns": "{ id, version, created_at, user, snapshot: { nodes, edges } }",
|
|
20880
|
+
"common_use_cases": [
|
|
20881
|
+
"Ver como o flow era antes de uma mudança"
|
|
20882
|
+
],
|
|
20883
|
+
"related_tools": [
|
|
20884
|
+
"lionchat_flow_versions_list"
|
|
20885
|
+
]
|
|
20886
|
+
},
|
|
20887
|
+
{
|
|
20888
|
+
"id": "lionchat_whatsapp_calls_list",
|
|
20889
|
+
"method": "GET",
|
|
20890
|
+
"path": "/api/v1/accounts/{account_id}/whatsapp_calls",
|
|
20891
|
+
"title": "Listar Ligações WhatsApp",
|
|
20892
|
+
"description": "Histórico de ligações de VOZ pelo WhatsApp (API oficial — NÃO confundir com voip_* que é telefonia Zenvia). Sem page = modo popup (por contato/favoritas); com page = histórico completo paginado com filtros.",
|
|
20893
|
+
"category": "Ligacoes WhatsApp",
|
|
20894
|
+
"params": [
|
|
20895
|
+
{
|
|
20896
|
+
"name": "contact_id",
|
|
20897
|
+
"type": "integer",
|
|
20898
|
+
"location": "query",
|
|
20899
|
+
"required": false,
|
|
20900
|
+
"description": "Ligações de um contato específico"
|
|
20901
|
+
},
|
|
20902
|
+
{
|
|
20903
|
+
"name": "favorites",
|
|
20904
|
+
"type": "boolean",
|
|
20905
|
+
"location": "query",
|
|
20906
|
+
"required": false,
|
|
20907
|
+
"description": "Só favoritas (modo popup)"
|
|
20908
|
+
},
|
|
20909
|
+
{
|
|
20910
|
+
"name": "page",
|
|
20911
|
+
"type": "integer",
|
|
20912
|
+
"location": "query",
|
|
20913
|
+
"required": false,
|
|
20914
|
+
"description": "Página — presença ativa o modo histórico paginado"
|
|
20915
|
+
},
|
|
20916
|
+
{
|
|
20917
|
+
"name": "per",
|
|
20918
|
+
"type": "integer",
|
|
20919
|
+
"location": "query",
|
|
20920
|
+
"required": false,
|
|
20921
|
+
"description": "Itens por página (default 25, máx 100)"
|
|
20922
|
+
},
|
|
20923
|
+
{
|
|
20924
|
+
"name": "status",
|
|
20925
|
+
"type": "string",
|
|
20926
|
+
"location": "query",
|
|
20927
|
+
"required": false,
|
|
20928
|
+
"description": "Filtro: ringing | accepted | completed | failed"
|
|
20929
|
+
},
|
|
20930
|
+
{
|
|
20931
|
+
"name": "agent_id",
|
|
20932
|
+
"type": "integer",
|
|
20933
|
+
"location": "query",
|
|
20934
|
+
"required": false,
|
|
20935
|
+
"description": "Filtro por agente que atendeu"
|
|
20936
|
+
},
|
|
20937
|
+
{
|
|
20938
|
+
"name": "q",
|
|
20939
|
+
"type": "string",
|
|
20940
|
+
"location": "query",
|
|
20941
|
+
"required": false,
|
|
20942
|
+
"description": "Busca por nome/telefone/observação"
|
|
20943
|
+
}
|
|
20944
|
+
],
|
|
20945
|
+
"returns": "[{ id, contact_name, phone_number, status, direction, duration_seconds, favorited, custom_name, created_at }] ou { data, meta } no modo paginado",
|
|
20946
|
+
"common_use_cases": [
|
|
20947
|
+
"Ver histórico de ligações de um cliente",
|
|
20948
|
+
"Achar ligações perdidas do dia"
|
|
20949
|
+
],
|
|
20950
|
+
"related_tools": [
|
|
20951
|
+
"lionchat_whatsapp_calls_show",
|
|
20952
|
+
"lionchat_whatsapp_calls_transcribe"
|
|
20953
|
+
]
|
|
20954
|
+
},
|
|
20955
|
+
{
|
|
20956
|
+
"id": "lionchat_whatsapp_calls_show",
|
|
20957
|
+
"method": "GET",
|
|
20958
|
+
"path": "/api/v1/accounts/{account_id}/whatsapp_calls/{id}",
|
|
20959
|
+
"title": "Detalhe da Ligação WhatsApp",
|
|
20960
|
+
"description": "Detalhe completo de uma ligação: duração, quem atendeu, gravação, transcrição (se gerada).",
|
|
20961
|
+
"category": "Ligacoes WhatsApp",
|
|
20962
|
+
"params": [
|
|
20963
|
+
{
|
|
20964
|
+
"name": "id",
|
|
20965
|
+
"type": "integer",
|
|
20966
|
+
"location": "path",
|
|
20967
|
+
"required": true,
|
|
20968
|
+
"description": "ID da ligação"
|
|
20969
|
+
}
|
|
20970
|
+
],
|
|
20971
|
+
"returns": "{ id, contact_id, status, direction, duration_seconds, accepted_by_agent_id, custom_name, favorited, transcript, transcript_status }",
|
|
20972
|
+
"common_use_cases": [
|
|
20973
|
+
"Ler a transcrição de uma ligação"
|
|
20974
|
+
],
|
|
20975
|
+
"related_tools": [
|
|
20976
|
+
"lionchat_whatsapp_calls_transcribe"
|
|
20977
|
+
]
|
|
20978
|
+
},
|
|
20979
|
+
{
|
|
20980
|
+
"id": "lionchat_whatsapp_calls_update",
|
|
20981
|
+
"method": "PATCH",
|
|
20982
|
+
"path": "/api/v1/accounts/{account_id}/whatsapp_calls/{id}",
|
|
20983
|
+
"title": "Atualizar Ligação (observação/favorita)",
|
|
20984
|
+
"description": "Define observação (custom_name) e/ou marca como favorita.",
|
|
20985
|
+
"category": "Ligacoes WhatsApp",
|
|
20986
|
+
"params": [
|
|
20987
|
+
{
|
|
20988
|
+
"name": "id",
|
|
20989
|
+
"type": "integer",
|
|
20990
|
+
"location": "path",
|
|
20991
|
+
"required": true,
|
|
20992
|
+
"description": "ID da ligação"
|
|
20993
|
+
},
|
|
20994
|
+
{
|
|
20995
|
+
"name": "custom_name",
|
|
20996
|
+
"type": "string",
|
|
20997
|
+
"location": "body",
|
|
20998
|
+
"required": false,
|
|
20999
|
+
"description": "Observação/apelido da ligação"
|
|
21000
|
+
},
|
|
21001
|
+
{
|
|
21002
|
+
"name": "favorited",
|
|
21003
|
+
"type": "boolean",
|
|
21004
|
+
"location": "body",
|
|
21005
|
+
"required": false,
|
|
21006
|
+
"description": "Marcar/desmarcar favorita"
|
|
21007
|
+
}
|
|
21008
|
+
],
|
|
21009
|
+
"returns": "{ id, custom_name, favorited }",
|
|
21010
|
+
"common_use_cases": [
|
|
21011
|
+
"Anotar do que se tratou a ligação"
|
|
21012
|
+
],
|
|
21013
|
+
"related_tools": []
|
|
21014
|
+
},
|
|
21015
|
+
{
|
|
21016
|
+
"id": "lionchat_whatsapp_calls_toggle_favorite",
|
|
21017
|
+
"method": "POST",
|
|
21018
|
+
"path": "/api/v1/accounts/{account_id}/whatsapp_calls/{id}/toggle_favorite",
|
|
21019
|
+
"title": "Alternar Favorita",
|
|
21020
|
+
"description": "Inverte o estado de favorita da ligação.",
|
|
21021
|
+
"category": "Ligacoes WhatsApp",
|
|
21022
|
+
"params": [
|
|
21023
|
+
{
|
|
21024
|
+
"name": "id",
|
|
21025
|
+
"type": "integer",
|
|
21026
|
+
"location": "path",
|
|
21027
|
+
"required": true,
|
|
21028
|
+
"description": "ID da ligação"
|
|
21029
|
+
}
|
|
21030
|
+
],
|
|
21031
|
+
"returns": "{ id, favorited }",
|
|
21032
|
+
"common_use_cases": [
|
|
21033
|
+
"Marcar ligação importante"
|
|
21034
|
+
],
|
|
21035
|
+
"related_tools": []
|
|
21036
|
+
},
|
|
21037
|
+
{
|
|
21038
|
+
"id": "lionchat_whatsapp_calls_transcribe",
|
|
21039
|
+
"method": "POST",
|
|
21040
|
+
"path": "/api/v1/accounts/{account_id}/whatsapp_calls/{id}/transcribe",
|
|
21041
|
+
"title": "Transcrever Ligação com IA",
|
|
21042
|
+
"description": "Dispara a transcrição da gravação por IA (assíncrono — usa a chave de IA da conta, tem custo). Acompanhe pelo transcript_status no show (pending → processing → completed/failed).",
|
|
21043
|
+
"category": "Ligacoes WhatsApp",
|
|
21044
|
+
"params": [
|
|
21045
|
+
{
|
|
21046
|
+
"name": "id",
|
|
21047
|
+
"type": "integer",
|
|
21048
|
+
"location": "path",
|
|
21049
|
+
"required": true,
|
|
21050
|
+
"description": "ID da ligação"
|
|
21051
|
+
}
|
|
21052
|
+
],
|
|
21053
|
+
"returns": "200 OK (job enfileirado)",
|
|
21054
|
+
"common_use_cases": [
|
|
21055
|
+
"Gerar transcrição sob demanda",
|
|
21056
|
+
"Re-transcrever após falha"
|
|
21057
|
+
],
|
|
21058
|
+
"related_tools": [
|
|
21059
|
+
"lionchat_whatsapp_calls_show"
|
|
21060
|
+
]
|
|
21061
|
+
},
|
|
21062
|
+
{
|
|
21063
|
+
"id": "lionchat_inboxes_enable_whatsapp_calling",
|
|
21064
|
+
"method": "POST",
|
|
21065
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/enable_whatsapp_calling",
|
|
21066
|
+
"title": "Ativar Ligações WhatsApp na Caixa",
|
|
21067
|
+
"description": "Habilita chamadas de voz na inbox WhatsApp oficial (Cloud API com suporte a voz). ADMIN-ONLY. É mudança de config — confirme com o usuário.",
|
|
21068
|
+
"category": "Ligacoes WhatsApp",
|
|
21069
|
+
"params": [
|
|
21070
|
+
{
|
|
21071
|
+
"name": "inbox_id",
|
|
21072
|
+
"type": "integer",
|
|
21073
|
+
"location": "path",
|
|
21074
|
+
"required": true,
|
|
21075
|
+
"description": "ID da caixa de entrada"
|
|
21076
|
+
}
|
|
21077
|
+
],
|
|
21078
|
+
"returns": "200 OK",
|
|
21079
|
+
"common_use_cases": [
|
|
21080
|
+
"Habilitar voz no número oficial"
|
|
21081
|
+
],
|
|
21082
|
+
"related_tools": [
|
|
21083
|
+
"lionchat_inboxes_disable_whatsapp_calling"
|
|
21084
|
+
]
|
|
21085
|
+
},
|
|
21086
|
+
{
|
|
21087
|
+
"id": "lionchat_inboxes_disable_whatsapp_calling",
|
|
21088
|
+
"method": "POST",
|
|
21089
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/disable_whatsapp_calling",
|
|
21090
|
+
"title": "Desativar Ligações WhatsApp na Caixa",
|
|
21091
|
+
"description": "Desabilita chamadas de voz na inbox. ADMIN-ONLY. É mudança de config — confirme com o usuário.",
|
|
21092
|
+
"category": "Ligacoes WhatsApp",
|
|
21093
|
+
"params": [
|
|
21094
|
+
{
|
|
21095
|
+
"name": "inbox_id",
|
|
21096
|
+
"type": "integer",
|
|
21097
|
+
"location": "path",
|
|
21098
|
+
"required": true,
|
|
21099
|
+
"description": "ID da caixa de entrada"
|
|
21100
|
+
}
|
|
21101
|
+
],
|
|
21102
|
+
"returns": "200 OK",
|
|
21103
|
+
"common_use_cases": [
|
|
21104
|
+
"Desligar voz temporariamente"
|
|
21105
|
+
],
|
|
21106
|
+
"related_tools": []
|
|
21107
|
+
},
|
|
21108
|
+
{
|
|
21109
|
+
"id": "lionchat_upload_limits_show",
|
|
21110
|
+
"method": "GET",
|
|
21111
|
+
"path": "/api/v1/accounts/{account_id}/upload_limits",
|
|
21112
|
+
"title": "Limites de Upload por Tipo",
|
|
21113
|
+
"description": "Retorna o teto de upload em MB por tipo de arquivo. Consulte antes de subir anexo grande (evita 422).",
|
|
21114
|
+
"category": "Upload",
|
|
21115
|
+
"params": [],
|
|
21116
|
+
"returns": "{ image, video, audio, document, fallback } (valores em MB)",
|
|
21117
|
+
"common_use_cases": [
|
|
21118
|
+
"Validar tamanho antes de anexar arquivo em mensagem"
|
|
21119
|
+
],
|
|
21120
|
+
"related_tools": [
|
|
21121
|
+
"lionchat_upload_create"
|
|
21122
|
+
]
|
|
21123
|
+
},
|
|
21124
|
+
{
|
|
21125
|
+
"id": "lionchat_liontrack_journey_stages_list",
|
|
21126
|
+
"method": "GET",
|
|
21127
|
+
"path": "/api/v1/accounts/{account_id}/liontrack/journey_stages",
|
|
21128
|
+
"title": "Listar Fases da Jornada do Lead",
|
|
21129
|
+
"description": "Regras que mapeiam padrão de URL → fase da jornada (Topo/Meio/Fundo/Compra etc). Exige feature liontrack (404 sem ela) e permissão de relatórios.",
|
|
21130
|
+
"category": "LionTrack",
|
|
21131
|
+
"params": [],
|
|
21132
|
+
"returns": "[{ id, stage, url_pattern, position }]",
|
|
21133
|
+
"common_use_cases": [
|
|
21134
|
+
"Conferir fases antes de ler o relatório de jornada"
|
|
21135
|
+
],
|
|
21136
|
+
"related_tools": [
|
|
21137
|
+
"lionchat_journey_funnel_reports",
|
|
21138
|
+
"lionchat_liontrack_journey_stages_create"
|
|
21139
|
+
]
|
|
21140
|
+
},
|
|
21141
|
+
{
|
|
21142
|
+
"id": "lionchat_liontrack_journey_stages_create",
|
|
21143
|
+
"method": "POST",
|
|
21144
|
+
"path": "/api/v1/accounts/{account_id}/liontrack/journey_stages",
|
|
21145
|
+
"title": "Criar Fase da Jornada",
|
|
21146
|
+
"description": "Cria regra URL → fase. url_pattern é match LITERAL de trecho da URL (sem regex; ex: '/checkout', '/blog/'). Exige feature liontrack + permissão de relatórios.",
|
|
21147
|
+
"category": "LionTrack",
|
|
21148
|
+
"params": [
|
|
21149
|
+
{
|
|
21150
|
+
"name": "stage",
|
|
21151
|
+
"type": "string",
|
|
21152
|
+
"location": "body",
|
|
21153
|
+
"required": true,
|
|
21154
|
+
"description": "Nome da fase (ex: 'Topo', 'Fundo', 'Compra')"
|
|
21155
|
+
},
|
|
21156
|
+
{
|
|
21157
|
+
"name": "url_pattern",
|
|
21158
|
+
"type": "string",
|
|
21159
|
+
"location": "body",
|
|
21160
|
+
"required": true,
|
|
21161
|
+
"description": "Trecho literal da URL que identifica a fase (máx 255)"
|
|
21162
|
+
},
|
|
21163
|
+
{
|
|
21164
|
+
"name": "position",
|
|
21165
|
+
"type": "integer",
|
|
21166
|
+
"location": "body",
|
|
21167
|
+
"required": false,
|
|
21168
|
+
"description": "Ordem da fase no painel"
|
|
21169
|
+
}
|
|
21170
|
+
],
|
|
21171
|
+
"returns": "{ id, stage, url_pattern, position } (201)",
|
|
21172
|
+
"common_use_cases": [
|
|
21173
|
+
"Mapear '/precos' como Fundo de funil"
|
|
21174
|
+
],
|
|
21175
|
+
"related_tools": [
|
|
21176
|
+
"lionchat_liontrack_journey_stages_list"
|
|
21177
|
+
]
|
|
21178
|
+
},
|
|
21179
|
+
{
|
|
21180
|
+
"id": "lionchat_liontrack_journey_stages_update",
|
|
21181
|
+
"method": "PATCH",
|
|
21182
|
+
"path": "/api/v1/accounts/{account_id}/liontrack/journey_stages/{id}",
|
|
21183
|
+
"title": "Atualizar Fase da Jornada",
|
|
21184
|
+
"description": "Edita uma regra de fase (nome, padrão de URL, ordem).",
|
|
21185
|
+
"category": "LionTrack",
|
|
21186
|
+
"params": [
|
|
21187
|
+
{
|
|
21188
|
+
"name": "id",
|
|
21189
|
+
"type": "integer",
|
|
21190
|
+
"location": "path",
|
|
21191
|
+
"required": true,
|
|
21192
|
+
"description": "ID da regra"
|
|
21193
|
+
},
|
|
21194
|
+
{
|
|
21195
|
+
"name": "stage",
|
|
21196
|
+
"type": "string",
|
|
21197
|
+
"location": "body",
|
|
21198
|
+
"required": false,
|
|
21199
|
+
"description": "Novo nome da fase"
|
|
21200
|
+
},
|
|
21201
|
+
{
|
|
21202
|
+
"name": "url_pattern",
|
|
21203
|
+
"type": "string",
|
|
21204
|
+
"location": "body",
|
|
21205
|
+
"required": false,
|
|
21206
|
+
"description": "Novo padrão literal"
|
|
21207
|
+
},
|
|
21208
|
+
{
|
|
21209
|
+
"name": "position",
|
|
21210
|
+
"type": "integer",
|
|
21211
|
+
"location": "body",
|
|
21212
|
+
"required": false,
|
|
21213
|
+
"description": "Nova ordem"
|
|
21214
|
+
}
|
|
21215
|
+
],
|
|
21216
|
+
"returns": "{ id, stage, url_pattern, position }",
|
|
21217
|
+
"common_use_cases": [
|
|
21218
|
+
"Reordenar fases do painel"
|
|
21219
|
+
],
|
|
21220
|
+
"related_tools": []
|
|
21221
|
+
},
|
|
21222
|
+
{
|
|
21223
|
+
"id": "lionchat_liontrack_journey_stages_destroy",
|
|
21224
|
+
"method": "DELETE",
|
|
21225
|
+
"path": "/api/v1/accounts/{account_id}/liontrack/journey_stages/{id}",
|
|
21226
|
+
"title": "Excluir Fase da Jornada",
|
|
21227
|
+
"description": "Remove uma regra de fase (as pageviews continuam — só deixam de ser agrupadas nessa fase).",
|
|
21228
|
+
"category": "LionTrack",
|
|
21229
|
+
"params": [
|
|
21230
|
+
{
|
|
21231
|
+
"name": "id",
|
|
21232
|
+
"type": "integer",
|
|
21233
|
+
"location": "path",
|
|
21234
|
+
"required": true,
|
|
21235
|
+
"description": "ID da regra"
|
|
21236
|
+
}
|
|
21237
|
+
],
|
|
21238
|
+
"returns": "200 OK",
|
|
21239
|
+
"common_use_cases": [
|
|
21240
|
+
"Remover fase descontinuada"
|
|
21241
|
+
],
|
|
21242
|
+
"related_tools": []
|
|
21243
|
+
},
|
|
21244
|
+
{
|
|
21245
|
+
"id": "lionchat_journey_funnel_reports",
|
|
21246
|
+
"method": "GET",
|
|
21247
|
+
"path": "/api/v2/accounts/{account_id}/journey_funnel_reports",
|
|
21248
|
+
"title": "Relatório Jornada do Lead",
|
|
21249
|
+
"description": "Mapa agregado de navegação dos leads no site (nós = páginas, arestas = transições, agrupado por fase). Janela MÁXIMA de 30 dias (acima é cortado). URLs sem querystring (LGPD). Exige feature liontrack + permissão de relatórios.",
|
|
21250
|
+
"category": "LionTrack",
|
|
21251
|
+
"params": [
|
|
21252
|
+
{
|
|
21253
|
+
"name": "since",
|
|
21254
|
+
"type": "string",
|
|
21255
|
+
"location": "query",
|
|
21256
|
+
"required": false,
|
|
21257
|
+
"description": "Início ISO 8601"
|
|
21258
|
+
},
|
|
21259
|
+
{
|
|
21260
|
+
"name": "until",
|
|
21261
|
+
"type": "string",
|
|
21262
|
+
"location": "query",
|
|
21263
|
+
"required": false,
|
|
21264
|
+
"description": "Fim ISO 8601 (máx 30 dias após since)"
|
|
21265
|
+
},
|
|
21266
|
+
{
|
|
21267
|
+
"name": "utm_source",
|
|
21268
|
+
"type": "string",
|
|
21269
|
+
"location": "query",
|
|
21270
|
+
"required": false,
|
|
21271
|
+
"description": "Filtra por origem (utm_source)"
|
|
21272
|
+
},
|
|
21273
|
+
{
|
|
21274
|
+
"name": "utm_campaign",
|
|
21275
|
+
"type": "string",
|
|
21276
|
+
"location": "query",
|
|
21277
|
+
"required": false,
|
|
21278
|
+
"description": "Filtra por campanha (utm_campaign)"
|
|
21279
|
+
},
|
|
21280
|
+
{
|
|
21281
|
+
"name": "device_name",
|
|
21282
|
+
"type": "string",
|
|
21283
|
+
"location": "query",
|
|
21284
|
+
"required": false,
|
|
21285
|
+
"description": "Filtra por dispositivo (mobile/desktop)"
|
|
21286
|
+
},
|
|
21287
|
+
{
|
|
21288
|
+
"name": "country",
|
|
21289
|
+
"type": "string",
|
|
21290
|
+
"location": "query",
|
|
21291
|
+
"required": false,
|
|
21292
|
+
"description": "Filtra por país (código ISO 2 letras)"
|
|
21293
|
+
},
|
|
21294
|
+
{
|
|
21295
|
+
"name": "contact_id",
|
|
21296
|
+
"type": "integer",
|
|
21297
|
+
"location": "query",
|
|
21298
|
+
"required": false,
|
|
21299
|
+
"description": "Trilha de UM lead específico"
|
|
21300
|
+
},
|
|
21301
|
+
{
|
|
21302
|
+
"name": "with_conversation",
|
|
21303
|
+
"type": "boolean",
|
|
21304
|
+
"location": "query",
|
|
21305
|
+
"required": false,
|
|
21306
|
+
"description": "true = só pageviews de quem virou conversa"
|
|
21307
|
+
}
|
|
21308
|
+
],
|
|
21309
|
+
"returns": "{ nodes: [{ path, stage, visits, unique_visitors }], edges: [{ from, to, count }], totals }",
|
|
21310
|
+
"common_use_cases": [
|
|
21311
|
+
"Por onde os leads entram e onde desistem",
|
|
21312
|
+
"Caminho de quem veio da campanha X"
|
|
21313
|
+
],
|
|
21314
|
+
"related_tools": [
|
|
21315
|
+
"lionchat_liontrack_journey_stages_list"
|
|
21316
|
+
]
|
|
21317
|
+
},
|
|
21318
|
+
{
|
|
21319
|
+
"id": "lionchat_inboxes_waha_status",
|
|
21320
|
+
"method": "GET",
|
|
21321
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/waha/status",
|
|
21322
|
+
"title": "Status da Conexão WhatsApp (WAHA)",
|
|
21323
|
+
"description": "Status em tempo real da sessão WhatsApp QR Code da inbox (WORKING = conectado, SCAN_QR_CODE = precisa escanear, STOPPED/FAILED = problema). SÓ LEITURA. Detecta troca de número.",
|
|
21324
|
+
"category": "Caixas de Entrada",
|
|
21325
|
+
"params": [
|
|
21326
|
+
{
|
|
21327
|
+
"name": "inbox_id",
|
|
21328
|
+
"type": "integer",
|
|
21329
|
+
"location": "path",
|
|
21330
|
+
"required": true,
|
|
21331
|
+
"description": "ID da caixa de entrada WAHA"
|
|
21332
|
+
}
|
|
21333
|
+
],
|
|
21334
|
+
"returns": "{ status, connected, phone_number, qr_code_available, phone_number_changed }",
|
|
21335
|
+
"common_use_cases": [
|
|
21336
|
+
"Diagnosticar 'mensagens não estão saindo' (sessão caiu?)"
|
|
21337
|
+
],
|
|
21338
|
+
"related_tools": []
|
|
21339
|
+
},
|
|
21340
|
+
{
|
|
21341
|
+
"id": "lionchat_internal_chat_rooms_list",
|
|
21342
|
+
"method": "GET",
|
|
21343
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms",
|
|
21344
|
+
"title": "Listar Salas do Chat Interno",
|
|
21345
|
+
"description": "Salas de conversa ENTRE AGENTES da conta (não envolve cliente). Tipos: direct (1:1) e multi_user (grupo). Traz última mensagem e contagem de não lidas. Cada agente vê só as próprias salas.",
|
|
21346
|
+
"category": "Chat Interno",
|
|
21347
|
+
"params": [
|
|
21348
|
+
{
|
|
21349
|
+
"name": "kind",
|
|
21350
|
+
"type": "string",
|
|
21351
|
+
"location": "query",
|
|
21352
|
+
"required": false,
|
|
21353
|
+
"description": "Filtro: all (default) | direct | multi_user"
|
|
21354
|
+
},
|
|
21355
|
+
{
|
|
21356
|
+
"name": "q",
|
|
21357
|
+
"type": "string",
|
|
21358
|
+
"location": "query",
|
|
21359
|
+
"required": false,
|
|
21360
|
+
"description": "Busca por nome da sala ou nome/e-mail de membro"
|
|
21361
|
+
},
|
|
21362
|
+
{
|
|
21363
|
+
"name": "page",
|
|
21364
|
+
"type": "integer",
|
|
21365
|
+
"location": "query",
|
|
21366
|
+
"required": false,
|
|
21367
|
+
"description": "Página (default 1)"
|
|
21368
|
+
},
|
|
21369
|
+
{
|
|
21370
|
+
"name": "per_page",
|
|
21371
|
+
"type": "integer",
|
|
21372
|
+
"location": "query",
|
|
21373
|
+
"required": false,
|
|
21374
|
+
"description": "Itens por página (default 50, máx 100)"
|
|
21375
|
+
}
|
|
21376
|
+
],
|
|
21377
|
+
"returns": "{ rooms: [{ id, kind, name, display_name, last_message, unread_count, member_ids }], counts, meta }",
|
|
21378
|
+
"common_use_cases": [
|
|
21379
|
+
"Ver salas com mensagens não lidas"
|
|
21380
|
+
],
|
|
21381
|
+
"related_tools": [
|
|
21382
|
+
"lionchat_internal_chat_messages_list",
|
|
21383
|
+
"lionchat_internal_chat_rooms_create"
|
|
21384
|
+
]
|
|
21385
|
+
},
|
|
21386
|
+
{
|
|
21387
|
+
"id": "lionchat_internal_chat_rooms_show",
|
|
21388
|
+
"method": "GET",
|
|
21389
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{id}",
|
|
21390
|
+
"title": "Detalhe da Sala",
|
|
21391
|
+
"description": "Detalhe de uma sala do chat interno com a lista de membros.",
|
|
21392
|
+
"category": "Chat Interno",
|
|
21393
|
+
"params": [
|
|
21394
|
+
{
|
|
21395
|
+
"name": "id",
|
|
21396
|
+
"type": "integer",
|
|
21397
|
+
"location": "path",
|
|
21398
|
+
"required": true,
|
|
21399
|
+
"description": "ID da sala"
|
|
21400
|
+
}
|
|
21401
|
+
],
|
|
21402
|
+
"returns": "{ id, kind, name, members: [{ id, name, email, member_role }], unread_count }",
|
|
21403
|
+
"common_use_cases": [
|
|
21404
|
+
"Conferir membros antes de mandar mensagem"
|
|
21405
|
+
],
|
|
21406
|
+
"related_tools": [
|
|
21407
|
+
"lionchat_internal_chat_messages_create"
|
|
21408
|
+
]
|
|
21409
|
+
},
|
|
21410
|
+
{
|
|
21411
|
+
"id": "lionchat_internal_chat_rooms_create",
|
|
21412
|
+
"method": "POST",
|
|
21413
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms",
|
|
21414
|
+
"title": "Criar Sala (ou abrir 1:1 existente)",
|
|
21415
|
+
"description": "Cria sala direct (1:1 — se já existir com aquela pessoa, retorna a existente com was_created=false) ou multi_user (grupo, exige name).",
|
|
21416
|
+
"category": "Chat Interno",
|
|
21417
|
+
"params": [
|
|
21418
|
+
{
|
|
21419
|
+
"name": "kind",
|
|
21420
|
+
"type": "string",
|
|
21421
|
+
"location": "body",
|
|
21422
|
+
"required": true,
|
|
21423
|
+
"description": "'direct' (1:1) ou 'multi_user' (grupo)"
|
|
21424
|
+
},
|
|
21425
|
+
{
|
|
21426
|
+
"name": "name",
|
|
21427
|
+
"type": "string",
|
|
21428
|
+
"location": "body",
|
|
21429
|
+
"required": false,
|
|
21430
|
+
"description": "Nome do grupo (obrigatório em multi_user)"
|
|
21431
|
+
},
|
|
21432
|
+
{
|
|
21433
|
+
"name": "user_id",
|
|
21434
|
+
"type": "integer",
|
|
21435
|
+
"location": "body",
|
|
21436
|
+
"required": false,
|
|
21437
|
+
"description": "direct: ID do outro agente"
|
|
21438
|
+
},
|
|
21439
|
+
{
|
|
21440
|
+
"name": "user_ids",
|
|
21441
|
+
"type": "array",
|
|
21442
|
+
"location": "body",
|
|
21443
|
+
"required": false,
|
|
21444
|
+
"description": "multi_user: IDs dos membros (criador entra automático)"
|
|
21445
|
+
}
|
|
21446
|
+
],
|
|
21447
|
+
"returns": "{ id, kind, name, members, was_created }",
|
|
21448
|
+
"common_use_cases": [
|
|
21449
|
+
"Mandar recado pra um colega",
|
|
21450
|
+
"Criar grupo do time de vendas"
|
|
21451
|
+
],
|
|
21452
|
+
"related_tools": [
|
|
21453
|
+
"lionchat_internal_chat_messages_create"
|
|
21454
|
+
]
|
|
21455
|
+
},
|
|
21456
|
+
{
|
|
21457
|
+
"id": "lionchat_internal_chat_rooms_update",
|
|
21458
|
+
"method": "PATCH",
|
|
21459
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{id}",
|
|
21460
|
+
"title": "Renomear Sala / Atualizar Dados",
|
|
21461
|
+
"description": "Renomeia sala multi_user (salas direct não podem ser renomeadas) ou atualiza metadados.",
|
|
21462
|
+
"category": "Chat Interno",
|
|
21463
|
+
"params": [
|
|
21464
|
+
{
|
|
21465
|
+
"name": "id",
|
|
21466
|
+
"type": "integer",
|
|
21467
|
+
"location": "path",
|
|
21468
|
+
"required": true,
|
|
21469
|
+
"description": "ID da sala"
|
|
21470
|
+
},
|
|
21471
|
+
{
|
|
21472
|
+
"name": "name",
|
|
21473
|
+
"type": "string",
|
|
21474
|
+
"location": "body",
|
|
21475
|
+
"required": false,
|
|
21476
|
+
"description": "Novo nome (não pode ser vazio)"
|
|
21477
|
+
},
|
|
21478
|
+
{
|
|
21479
|
+
"name": "additional_data",
|
|
21480
|
+
"type": "object",
|
|
21481
|
+
"location": "body",
|
|
21482
|
+
"required": false,
|
|
21483
|
+
"description": "Metadados livres (merge com o existente)"
|
|
21484
|
+
}
|
|
21485
|
+
],
|
|
21486
|
+
"returns": "{ id, name, additional_data }",
|
|
21487
|
+
"common_use_cases": [
|
|
21488
|
+
"Renomear grupo do time"
|
|
21489
|
+
],
|
|
21490
|
+
"related_tools": []
|
|
21491
|
+
},
|
|
21492
|
+
{
|
|
21493
|
+
"id": "lionchat_internal_chat_rooms_mark_read",
|
|
21494
|
+
"method": "POST",
|
|
21495
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{id}/mark_read",
|
|
21496
|
+
"title": "Marcar Sala como Lida",
|
|
21497
|
+
"description": "Marca todas as mensagens da sala como lidas pro usuário atual.",
|
|
21498
|
+
"category": "Chat Interno",
|
|
21499
|
+
"params": [
|
|
21500
|
+
{
|
|
21501
|
+
"name": "id",
|
|
21502
|
+
"type": "integer",
|
|
21503
|
+
"location": "path",
|
|
21504
|
+
"required": true,
|
|
21505
|
+
"description": "ID da sala"
|
|
21506
|
+
}
|
|
21507
|
+
],
|
|
21508
|
+
"returns": "200 OK",
|
|
21509
|
+
"common_use_cases": [
|
|
21510
|
+
"Zerar contador de não lidas"
|
|
21511
|
+
],
|
|
21512
|
+
"related_tools": []
|
|
21513
|
+
},
|
|
21514
|
+
{
|
|
21515
|
+
"id": "lionchat_internal_chat_messages_list",
|
|
21516
|
+
"method": "GET",
|
|
21517
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{room_id}/messages",
|
|
21518
|
+
"title": "Mensagens da Sala",
|
|
21519
|
+
"description": "Lista mensagens da sala (40 por página, cursor before_id pra carregar mais antigas).",
|
|
21520
|
+
"category": "Chat Interno",
|
|
21521
|
+
"params": [
|
|
21522
|
+
{
|
|
21523
|
+
"name": "room_id",
|
|
21524
|
+
"type": "integer",
|
|
21525
|
+
"location": "path",
|
|
21526
|
+
"required": true,
|
|
21527
|
+
"description": "ID da sala"
|
|
21528
|
+
},
|
|
21529
|
+
{
|
|
21530
|
+
"name": "before_id",
|
|
21531
|
+
"type": "integer",
|
|
21532
|
+
"location": "query",
|
|
21533
|
+
"required": false,
|
|
21534
|
+
"description": "Cursor: carrega mensagens ANTERIORES a este ID"
|
|
21535
|
+
}
|
|
21536
|
+
],
|
|
21537
|
+
"returns": "{ messages: [{ id, content, attachments, created_at, sender, read_by_all }], meta: { has_more } }",
|
|
21538
|
+
"common_use_cases": [
|
|
21539
|
+
"Ler o histórico antes de responder"
|
|
21540
|
+
],
|
|
21541
|
+
"related_tools": [
|
|
21542
|
+
"lionchat_internal_chat_messages_create"
|
|
21543
|
+
]
|
|
21544
|
+
},
|
|
21545
|
+
{
|
|
21546
|
+
"id": "lionchat_internal_chat_messages_create",
|
|
21547
|
+
"method": "POST",
|
|
21548
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{room_id}/messages",
|
|
21549
|
+
"title": "Enviar Mensagem no Chat Interno",
|
|
21550
|
+
"description": "Envia mensagem de texto numa sala do chat interno (vai pros AGENTES da sala, nunca pro cliente). Confirme com o usuário antes de enviar em nome dele.",
|
|
21551
|
+
"category": "Chat Interno",
|
|
21552
|
+
"params": [
|
|
21553
|
+
{
|
|
21554
|
+
"name": "room_id",
|
|
21555
|
+
"type": "integer",
|
|
21556
|
+
"location": "path",
|
|
21557
|
+
"required": true,
|
|
21558
|
+
"description": "ID da sala"
|
|
21559
|
+
},
|
|
21560
|
+
{
|
|
21561
|
+
"name": "content",
|
|
21562
|
+
"type": "string",
|
|
21563
|
+
"location": "body",
|
|
21564
|
+
"required": true,
|
|
21565
|
+
"description": "Texto da mensagem"
|
|
21566
|
+
}
|
|
21567
|
+
],
|
|
21568
|
+
"returns": "{ id, content, created_at, sender }",
|
|
21569
|
+
"common_use_cases": [
|
|
21570
|
+
"Avisar o time sobre um cliente urgente"
|
|
21571
|
+
],
|
|
21572
|
+
"related_tools": [
|
|
21573
|
+
"lionchat_internal_chat_rooms_list"
|
|
21574
|
+
]
|
|
21575
|
+
},
|
|
21576
|
+
{
|
|
21577
|
+
"id": "lionchat_internal_chat_messages_update",
|
|
21578
|
+
"method": "PATCH",
|
|
21579
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{room_id}/messages/{id}",
|
|
21580
|
+
"title": "Editar/Reagir/Fixar Mensagem",
|
|
21581
|
+
"description": "Edita o conteúdo (só o autor), adiciona reações ou fixa a mensagem (fixar como aviso exige admin do grupo).",
|
|
21582
|
+
"category": "Chat Interno",
|
|
21583
|
+
"params": [
|
|
21584
|
+
{
|
|
21585
|
+
"name": "room_id",
|
|
21586
|
+
"type": "integer",
|
|
21587
|
+
"location": "path",
|
|
21588
|
+
"required": true,
|
|
21589
|
+
"description": "ID da sala"
|
|
21590
|
+
},
|
|
21591
|
+
{
|
|
21592
|
+
"name": "id",
|
|
21593
|
+
"type": "integer",
|
|
21594
|
+
"location": "path",
|
|
21595
|
+
"required": true,
|
|
21596
|
+
"description": "ID da mensagem"
|
|
21597
|
+
},
|
|
21598
|
+
{
|
|
21599
|
+
"name": "content",
|
|
21600
|
+
"type": "string",
|
|
21601
|
+
"location": "body",
|
|
21602
|
+
"required": false,
|
|
21603
|
+
"description": "Novo texto (só o autor; marca como editada)"
|
|
21604
|
+
},
|
|
21605
|
+
{
|
|
21606
|
+
"name": "additional_data",
|
|
21607
|
+
"type": "object",
|
|
21608
|
+
"location": "body",
|
|
21609
|
+
"required": false,
|
|
21610
|
+
"description": "Reações/fixar: { reactions: { '👍': [user_ids] }, pinned: bool, pinned_mode: 'normal'|'announcement', pinned_expires_at }"
|
|
21611
|
+
}
|
|
21612
|
+
],
|
|
21613
|
+
"returns": "{ id, content, additional_data }",
|
|
21614
|
+
"common_use_cases": [
|
|
21615
|
+
"Corrigir mensagem enviada",
|
|
21616
|
+
"Fixar aviso importante"
|
|
21617
|
+
],
|
|
21618
|
+
"related_tools": []
|
|
21619
|
+
},
|
|
21620
|
+
{
|
|
21621
|
+
"id": "lionchat_internal_chat_messages_destroy",
|
|
21622
|
+
"method": "DELETE",
|
|
21623
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{room_id}/messages/{id}",
|
|
21624
|
+
"title": "Apagar Mensagem do Chat Interno",
|
|
21625
|
+
"description": "Soft delete — só o autor pode apagar; os demais veem que foi apagada (conteúdo preservado pra auditoria).",
|
|
21626
|
+
"category": "Chat Interno",
|
|
21627
|
+
"params": [
|
|
21628
|
+
{
|
|
21629
|
+
"name": "room_id",
|
|
21630
|
+
"type": "integer",
|
|
21631
|
+
"location": "path",
|
|
21632
|
+
"required": true,
|
|
21633
|
+
"description": "ID da sala"
|
|
21634
|
+
},
|
|
21635
|
+
{
|
|
21636
|
+
"name": "id",
|
|
21637
|
+
"type": "integer",
|
|
21638
|
+
"location": "path",
|
|
21639
|
+
"required": true,
|
|
21640
|
+
"description": "ID da mensagem"
|
|
21641
|
+
}
|
|
21642
|
+
],
|
|
21643
|
+
"returns": "{ id, additional_data: { deleted: true } }",
|
|
21644
|
+
"common_use_cases": [
|
|
21645
|
+
"Remover mensagem enviada por engano"
|
|
21646
|
+
],
|
|
21647
|
+
"related_tools": []
|
|
21648
|
+
},
|
|
21649
|
+
{
|
|
21650
|
+
"id": "lionchat_internal_chat_members_add",
|
|
21651
|
+
"method": "POST",
|
|
21652
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{room_id}/members",
|
|
21653
|
+
"title": "Adicionar Membro à Sala",
|
|
21654
|
+
"description": "Adiciona um agente a sala multi_user (exige ser admin da sala; não funciona em direct).",
|
|
21655
|
+
"category": "Chat Interno",
|
|
21656
|
+
"params": [
|
|
21657
|
+
{
|
|
21658
|
+
"name": "room_id",
|
|
21659
|
+
"type": "integer",
|
|
21660
|
+
"location": "path",
|
|
21661
|
+
"required": true,
|
|
21662
|
+
"description": "ID da sala"
|
|
21663
|
+
},
|
|
21664
|
+
{
|
|
21665
|
+
"name": "user_id",
|
|
21666
|
+
"type": "integer",
|
|
21667
|
+
"location": "body",
|
|
21668
|
+
"required": true,
|
|
21669
|
+
"description": "ID do agente a adicionar"
|
|
21670
|
+
}
|
|
21671
|
+
],
|
|
21672
|
+
"returns": "201 Created",
|
|
21673
|
+
"common_use_cases": [
|
|
21674
|
+
"Convidar colega pro grupo"
|
|
21675
|
+
],
|
|
21676
|
+
"related_tools": [
|
|
21677
|
+
"lionchat_internal_chat_members_remove"
|
|
21678
|
+
]
|
|
21679
|
+
},
|
|
21680
|
+
{
|
|
21681
|
+
"id": "lionchat_internal_chat_members_remove",
|
|
21682
|
+
"method": "DELETE",
|
|
21683
|
+
"path": "/api/v1/accounts/{account_id}/internal_chat/rooms/{room_id}/members/{user_id}",
|
|
21684
|
+
"title": "Remover Membro da Sala",
|
|
21685
|
+
"description": "Remove um agente da sala multi_user (admin remove qualquer um; agente comum só sai a si mesmo).",
|
|
21686
|
+
"category": "Chat Interno",
|
|
21687
|
+
"params": [
|
|
21688
|
+
{
|
|
21689
|
+
"name": "room_id",
|
|
21690
|
+
"type": "integer",
|
|
21691
|
+
"location": "path",
|
|
21692
|
+
"required": true,
|
|
21693
|
+
"description": "ID da sala"
|
|
21694
|
+
},
|
|
21695
|
+
{
|
|
21696
|
+
"name": "user_id",
|
|
21697
|
+
"type": "integer",
|
|
21698
|
+
"location": "path",
|
|
21699
|
+
"required": true,
|
|
21700
|
+
"description": "ID do agente a remover"
|
|
21701
|
+
}
|
|
21702
|
+
],
|
|
21703
|
+
"returns": "200 OK",
|
|
21704
|
+
"common_use_cases": [
|
|
21705
|
+
"Sair de um grupo",
|
|
21706
|
+
"Remover membro que saiu do time"
|
|
21707
|
+
],
|
|
21708
|
+
"related_tools": []
|
|
21709
|
+
},
|
|
21710
|
+
{
|
|
21711
|
+
"id": "lionchat_meta_pixel_integrations_list",
|
|
21712
|
+
"method": "GET",
|
|
21713
|
+
"path": "/api/v1/accounts/{account_id}/meta_pixel_integrations",
|
|
21714
|
+
"title": "Listar Integrações Meta CAPI",
|
|
21715
|
+
"description": "Lista os pixels da Meta (Conversions API) configurados na conta. ADMIN-ONLY.",
|
|
21716
|
+
"category": "Integracoes",
|
|
21717
|
+
"params": [],
|
|
21718
|
+
"returns": "[{ id, pixel_id, enabled, test_event_code, funnel_id }]",
|
|
21719
|
+
"common_use_cases": [
|
|
21720
|
+
"Auditar pixels configurados"
|
|
21721
|
+
],
|
|
21722
|
+
"related_tools": [
|
|
21723
|
+
"lionchat_meta_pixel_integrations_test_event"
|
|
21724
|
+
]
|
|
21725
|
+
},
|
|
21726
|
+
{
|
|
21727
|
+
"id": "lionchat_meta_pixel_integrations_create",
|
|
21728
|
+
"method": "POST",
|
|
21729
|
+
"path": "/api/v1/accounts/{account_id}/meta_pixel_integrations",
|
|
21730
|
+
"title": "Criar Integração Meta CAPI",
|
|
21731
|
+
"description": "Conecta um pixel da Meta (CAPI). Nasce desativado (enabled=false) — após test_event com sucesso, ativa sozinho. ADMIN-ONLY. Evento de checkout: nome atual é 'begin_checkout' (antigo InitiateCheckout).",
|
|
21732
|
+
"category": "Integracoes",
|
|
21733
|
+
"params": [
|
|
21734
|
+
{
|
|
21735
|
+
"name": "pixel_id",
|
|
21736
|
+
"type": "string",
|
|
21737
|
+
"location": "body",
|
|
21738
|
+
"required": true,
|
|
21739
|
+
"description": "ID do pixel Meta"
|
|
21740
|
+
},
|
|
21741
|
+
{
|
|
21742
|
+
"name": "access_token",
|
|
21743
|
+
"type": "string",
|
|
21744
|
+
"location": "body",
|
|
21745
|
+
"required": true,
|
|
21746
|
+
"description": "Token de acesso CAPI"
|
|
21747
|
+
},
|
|
21748
|
+
{
|
|
21749
|
+
"name": "test_event_code",
|
|
21750
|
+
"type": "string",
|
|
21751
|
+
"location": "body",
|
|
21752
|
+
"required": false,
|
|
21753
|
+
"description": "Código de teste (Events Manager)"
|
|
21754
|
+
},
|
|
21755
|
+
{
|
|
21756
|
+
"name": "funnel_id",
|
|
21757
|
+
"type": "integer",
|
|
21758
|
+
"location": "body",
|
|
21759
|
+
"required": false,
|
|
21760
|
+
"description": "Funil vinculado (eventos de ganho/perda)"
|
|
21761
|
+
}
|
|
21762
|
+
],
|
|
21763
|
+
"returns": "{ id, enabled: false, ... } (201)",
|
|
21764
|
+
"common_use_cases": [
|
|
21765
|
+
"Configurar rastreamento de conversões da Meta"
|
|
21766
|
+
],
|
|
21767
|
+
"related_tools": [
|
|
21768
|
+
"lionchat_meta_pixel_integrations_test_event"
|
|
21769
|
+
]
|
|
21770
|
+
},
|
|
21771
|
+
{
|
|
21772
|
+
"id": "lionchat_meta_pixel_integrations_update",
|
|
21773
|
+
"method": "PATCH",
|
|
21774
|
+
"path": "/api/v1/accounts/{account_id}/meta_pixel_integrations/{id}",
|
|
21775
|
+
"title": "Atualizar Integração Meta CAPI",
|
|
21776
|
+
"description": "Atualiza pixel/token/código de teste/funil. ADMIN-ONLY.",
|
|
21777
|
+
"category": "Integracoes",
|
|
21778
|
+
"params": [
|
|
21779
|
+
{
|
|
21780
|
+
"name": "id",
|
|
21781
|
+
"type": "integer",
|
|
21782
|
+
"location": "path",
|
|
21783
|
+
"required": true,
|
|
21784
|
+
"description": "ID da integração"
|
|
21785
|
+
},
|
|
21786
|
+
{
|
|
21787
|
+
"name": "pixel_id",
|
|
21788
|
+
"type": "string",
|
|
21789
|
+
"location": "body",
|
|
21790
|
+
"required": false,
|
|
21791
|
+
"description": "Novo pixel"
|
|
21792
|
+
},
|
|
21793
|
+
{
|
|
21794
|
+
"name": "access_token",
|
|
21795
|
+
"type": "string",
|
|
21796
|
+
"location": "body",
|
|
21797
|
+
"required": false,
|
|
21798
|
+
"description": "Novo token"
|
|
21799
|
+
},
|
|
21800
|
+
{
|
|
21801
|
+
"name": "test_event_code",
|
|
21802
|
+
"type": "string",
|
|
21803
|
+
"location": "body",
|
|
21804
|
+
"required": false,
|
|
21805
|
+
"description": "Novo código de teste"
|
|
21806
|
+
},
|
|
21807
|
+
{
|
|
21808
|
+
"name": "funnel_id",
|
|
21809
|
+
"type": "integer",
|
|
21810
|
+
"location": "body",
|
|
21811
|
+
"required": false,
|
|
21812
|
+
"description": "Novo funil"
|
|
21813
|
+
}
|
|
21814
|
+
],
|
|
21815
|
+
"returns": "{ id, ... }",
|
|
21816
|
+
"common_use_cases": [
|
|
21817
|
+
"Trocar token expirado"
|
|
21818
|
+
],
|
|
21819
|
+
"related_tools": []
|
|
21820
|
+
},
|
|
21821
|
+
{
|
|
21822
|
+
"id": "lionchat_meta_pixel_integrations_destroy",
|
|
21823
|
+
"method": "DELETE",
|
|
21824
|
+
"path": "/api/v1/accounts/{account_id}/meta_pixel_integrations/{id}",
|
|
21825
|
+
"title": "Excluir Integração Meta CAPI",
|
|
21826
|
+
"description": "Remove o pixel da conta. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
21827
|
+
"category": "Integracoes",
|
|
21828
|
+
"params": [
|
|
21829
|
+
{
|
|
21830
|
+
"name": "id",
|
|
21831
|
+
"type": "integer",
|
|
21832
|
+
"location": "path",
|
|
21833
|
+
"required": true,
|
|
21834
|
+
"description": "ID da integração"
|
|
21835
|
+
}
|
|
21836
|
+
],
|
|
21837
|
+
"returns": "204 No Content",
|
|
21838
|
+
"common_use_cases": [
|
|
21839
|
+
"Remover pixel desativado"
|
|
21840
|
+
],
|
|
21841
|
+
"related_tools": []
|
|
21842
|
+
},
|
|
21843
|
+
{
|
|
21844
|
+
"id": "lionchat_meta_pixel_integrations_test_event",
|
|
21845
|
+
"method": "POST",
|
|
21846
|
+
"path": "/api/v1/accounts/{account_id}/meta_pixel_integrations/{id}/test_event",
|
|
21847
|
+
"title": "Testar Evento Meta CAPI",
|
|
21848
|
+
"description": "Dispara evento de teste REAL contra a API da Meta. 200 OK = integração é ativada automaticamente. ADMIN-ONLY.",
|
|
21849
|
+
"category": "Integracoes",
|
|
21850
|
+
"params": [
|
|
21851
|
+
{
|
|
21852
|
+
"name": "id",
|
|
21853
|
+
"type": "integer",
|
|
21854
|
+
"location": "path",
|
|
21855
|
+
"required": true,
|
|
21856
|
+
"description": "ID da integração"
|
|
21857
|
+
}
|
|
21858
|
+
],
|
|
21859
|
+
"returns": "{ ok, response }",
|
|
21860
|
+
"common_use_cases": [
|
|
21861
|
+
"Validar pixel recém-configurado"
|
|
21862
|
+
],
|
|
21863
|
+
"related_tools": [
|
|
21864
|
+
"lionchat_meta_pixel_integrations_reset_test_event_window"
|
|
21865
|
+
]
|
|
21866
|
+
},
|
|
21867
|
+
{
|
|
21868
|
+
"id": "lionchat_meta_pixel_integrations_reset_test_event_window",
|
|
21869
|
+
"method": "POST",
|
|
21870
|
+
"path": "/api/v1/accounts/{account_id}/meta_pixel_integrations/{id}/reset_test_event_window",
|
|
21871
|
+
"title": "Reabrir Janela de Teste Meta CAPI",
|
|
21872
|
+
"description": "Reabre a janela de teste quando expirou (TTL ~5min/5 usos). Rate limit 10/hora. ADMIN-ONLY.",
|
|
21873
|
+
"category": "Integracoes",
|
|
21874
|
+
"params": [
|
|
21875
|
+
{
|
|
21876
|
+
"name": "id",
|
|
21877
|
+
"type": "integer",
|
|
21878
|
+
"location": "path",
|
|
21879
|
+
"required": true,
|
|
21880
|
+
"description": "ID da integração"
|
|
21881
|
+
}
|
|
21882
|
+
],
|
|
21883
|
+
"returns": "{ ok }",
|
|
21884
|
+
"common_use_cases": [
|
|
21885
|
+
"Continuar testando após expirar"
|
|
21886
|
+
],
|
|
21887
|
+
"related_tools": []
|
|
21888
|
+
},
|
|
21889
|
+
{
|
|
21890
|
+
"id": "lionchat_ga4_integrations_list",
|
|
21891
|
+
"method": "GET",
|
|
21892
|
+
"path": "/api/v1/accounts/{account_id}/ga4_integrations",
|
|
21893
|
+
"title": "Listar Integrações GA4",
|
|
21894
|
+
"description": "Lista integrações do Google Analytics 4 (Measurement Protocol). ADMIN-ONLY.",
|
|
21895
|
+
"category": "Integracoes",
|
|
21896
|
+
"params": [],
|
|
21897
|
+
"returns": "[{ id, measurement_id, enabled, funnel_id }]",
|
|
21898
|
+
"common_use_cases": [
|
|
21899
|
+
"Auditar rastreamento GA4"
|
|
21900
|
+
],
|
|
21901
|
+
"related_tools": []
|
|
21902
|
+
},
|
|
21903
|
+
{
|
|
21904
|
+
"id": "lionchat_ga4_integrations_create",
|
|
21905
|
+
"method": "POST",
|
|
21906
|
+
"path": "/api/v1/accounts/{account_id}/ga4_integrations",
|
|
21907
|
+
"title": "Criar Integração GA4",
|
|
21908
|
+
"description": "Conecta GA4 via Measurement ID + API Secret (nasce ativa). ADMIN-ONLY.",
|
|
21909
|
+
"category": "Integracoes",
|
|
21910
|
+
"params": [
|
|
21911
|
+
{
|
|
21912
|
+
"name": "measurement_id",
|
|
21913
|
+
"type": "string",
|
|
21914
|
+
"location": "body",
|
|
21915
|
+
"required": true,
|
|
21916
|
+
"description": "Measurement ID (G-XXXX)"
|
|
21917
|
+
},
|
|
21918
|
+
{
|
|
21919
|
+
"name": "api_secret",
|
|
21920
|
+
"type": "string",
|
|
21921
|
+
"location": "body",
|
|
21922
|
+
"required": true,
|
|
21923
|
+
"description": "API Secret do data stream"
|
|
21924
|
+
},
|
|
21925
|
+
{
|
|
21926
|
+
"name": "funnel_id",
|
|
21927
|
+
"type": "integer",
|
|
21928
|
+
"location": "body",
|
|
21929
|
+
"required": false,
|
|
21930
|
+
"description": "Funil vinculado"
|
|
21931
|
+
}
|
|
21932
|
+
],
|
|
21933
|
+
"returns": "{ id, enabled: true } (201)",
|
|
21934
|
+
"common_use_cases": [
|
|
21935
|
+
"Mandar eventos de funil pro GA4"
|
|
21936
|
+
],
|
|
21937
|
+
"related_tools": [
|
|
21938
|
+
"lionchat_ga4_integrations_test_connection"
|
|
21939
|
+
]
|
|
21940
|
+
},
|
|
21941
|
+
{
|
|
21942
|
+
"id": "lionchat_ga4_integrations_update",
|
|
21943
|
+
"method": "PATCH",
|
|
21944
|
+
"path": "/api/v1/accounts/{account_id}/ga4_integrations/{id}",
|
|
21945
|
+
"title": "Atualizar Integração GA4",
|
|
21946
|
+
"description": "Atualiza credenciais/funil do GA4. ADMIN-ONLY.",
|
|
21947
|
+
"category": "Integracoes",
|
|
21948
|
+
"params": [
|
|
21949
|
+
{
|
|
21950
|
+
"name": "id",
|
|
21951
|
+
"type": "integer",
|
|
21952
|
+
"location": "path",
|
|
21953
|
+
"required": true,
|
|
21954
|
+
"description": "ID da integração"
|
|
21955
|
+
},
|
|
21956
|
+
{
|
|
21957
|
+
"name": "measurement_id",
|
|
21958
|
+
"type": "string",
|
|
21959
|
+
"location": "body",
|
|
21960
|
+
"required": false,
|
|
21961
|
+
"description": "Novo Measurement ID"
|
|
21962
|
+
},
|
|
21963
|
+
{
|
|
21964
|
+
"name": "api_secret",
|
|
21965
|
+
"type": "string",
|
|
21966
|
+
"location": "body",
|
|
21967
|
+
"required": false,
|
|
21968
|
+
"description": "Novo API Secret"
|
|
21969
|
+
},
|
|
21970
|
+
{
|
|
21971
|
+
"name": "funnel_id",
|
|
21972
|
+
"type": "integer",
|
|
21973
|
+
"location": "body",
|
|
21974
|
+
"required": false,
|
|
21975
|
+
"description": "Novo funil"
|
|
21976
|
+
}
|
|
21977
|
+
],
|
|
21978
|
+
"returns": "{ id, ... }",
|
|
21979
|
+
"common_use_cases": [
|
|
21980
|
+
"Trocar secret"
|
|
21981
|
+
],
|
|
21982
|
+
"related_tools": []
|
|
21983
|
+
},
|
|
21984
|
+
{
|
|
21985
|
+
"id": "lionchat_ga4_integrations_destroy",
|
|
21986
|
+
"method": "DELETE",
|
|
21987
|
+
"path": "/api/v1/accounts/{account_id}/ga4_integrations/{id}",
|
|
21988
|
+
"title": "Excluir Integração GA4",
|
|
21989
|
+
"description": "Remove a integração GA4. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
21990
|
+
"category": "Integracoes",
|
|
21991
|
+
"params": [
|
|
21992
|
+
{
|
|
21993
|
+
"name": "id",
|
|
21994
|
+
"type": "integer",
|
|
21995
|
+
"location": "path",
|
|
21996
|
+
"required": true,
|
|
21997
|
+
"description": "ID da integração"
|
|
21998
|
+
}
|
|
21999
|
+
],
|
|
22000
|
+
"returns": "204 No Content",
|
|
22001
|
+
"common_use_cases": [
|
|
22002
|
+
"Desligar rastreamento GA4"
|
|
22003
|
+
],
|
|
22004
|
+
"related_tools": []
|
|
22005
|
+
},
|
|
22006
|
+
{
|
|
22007
|
+
"id": "lionchat_ga4_integrations_test_connection",
|
|
22008
|
+
"method": "POST",
|
|
22009
|
+
"path": "/api/v1/accounts/{account_id}/ga4_integrations/{id}/test_connection",
|
|
22010
|
+
"title": "Testar Conexão GA4",
|
|
22011
|
+
"description": "Valida Measurement ID + API Secret no endpoint de debug do GA4 (não grava evento). ADMIN-ONLY.",
|
|
22012
|
+
"category": "Integracoes",
|
|
22013
|
+
"params": [
|
|
22014
|
+
{
|
|
22015
|
+
"name": "id",
|
|
22016
|
+
"type": "integer",
|
|
22017
|
+
"location": "path",
|
|
22018
|
+
"required": true,
|
|
22019
|
+
"description": "ID da integração"
|
|
22020
|
+
}
|
|
22021
|
+
],
|
|
22022
|
+
"returns": "{ ok, validation_messages }",
|
|
22023
|
+
"common_use_cases": [
|
|
22024
|
+
"Diagnosticar credenciais GA4"
|
|
22025
|
+
],
|
|
22026
|
+
"related_tools": []
|
|
22027
|
+
},
|
|
22028
|
+
{
|
|
22029
|
+
"id": "lionchat_google_ads_integrations_list",
|
|
22030
|
+
"method": "GET",
|
|
22031
|
+
"path": "/api/v1/accounts/{account_id}/google_ads_integrations",
|
|
22032
|
+
"title": "Listar Integrações Google Ads",
|
|
22033
|
+
"description": "Lista integrações de conversões do Google Ads. A CONEXÃO inicial é por OAuth no navegador (não dá pra criar via MCP) — aqui dá pra ver, configurar e remover. ADMIN-ONLY.",
|
|
22034
|
+
"category": "Integracoes",
|
|
22035
|
+
"params": [],
|
|
22036
|
+
"returns": "[{ id, customer_id, enabled, conversion_action_map, funnel_id }]",
|
|
22037
|
+
"common_use_cases": [
|
|
22038
|
+
"Conferir mapeamento de conversões"
|
|
22039
|
+
],
|
|
22040
|
+
"related_tools": [
|
|
22041
|
+
"lionchat_google_ads_integrations_update"
|
|
22042
|
+
]
|
|
22043
|
+
},
|
|
22044
|
+
{
|
|
22045
|
+
"id": "lionchat_google_ads_integrations_show",
|
|
22046
|
+
"method": "GET",
|
|
22047
|
+
"path": "/api/v1/accounts/{account_id}/google_ads_integrations/{id}",
|
|
22048
|
+
"title": "Detalhe da Integração Google Ads",
|
|
22049
|
+
"description": "Detalhe de uma integração Google Ads. ADMIN-ONLY.",
|
|
22050
|
+
"category": "Integracoes",
|
|
22051
|
+
"params": [
|
|
22052
|
+
{
|
|
22053
|
+
"name": "id",
|
|
22054
|
+
"type": "integer",
|
|
22055
|
+
"location": "path",
|
|
22056
|
+
"required": true,
|
|
22057
|
+
"description": "ID da integração"
|
|
22058
|
+
}
|
|
22059
|
+
],
|
|
22060
|
+
"returns": "{ id, customer_id, login_customer_id, enabled, conversion_action_map }",
|
|
22061
|
+
"common_use_cases": [
|
|
22062
|
+
"Verificar configuração antes de mapear conversões"
|
|
22063
|
+
],
|
|
22064
|
+
"related_tools": []
|
|
22065
|
+
},
|
|
22066
|
+
{
|
|
22067
|
+
"id": "lionchat_google_ads_integrations_update",
|
|
22068
|
+
"method": "PATCH",
|
|
22069
|
+
"path": "/api/v1/accounts/{account_id}/google_ads_integrations/{id}",
|
|
22070
|
+
"title": "Atualizar Integração Google Ads",
|
|
22071
|
+
"description": "Define conta de anúncio (customer_id), habilita/desabilita e mapeia eventos → conversion actions. ADMIN-ONLY.",
|
|
22072
|
+
"category": "Integracoes",
|
|
22073
|
+
"params": [
|
|
22074
|
+
{
|
|
22075
|
+
"name": "id",
|
|
22076
|
+
"type": "integer",
|
|
22077
|
+
"location": "path",
|
|
22078
|
+
"required": true,
|
|
22079
|
+
"description": "ID da integração"
|
|
22080
|
+
},
|
|
22081
|
+
{
|
|
22082
|
+
"name": "customer_id",
|
|
22083
|
+
"type": "string",
|
|
22084
|
+
"location": "body",
|
|
22085
|
+
"required": false,
|
|
22086
|
+
"description": "Customer ID (sem hífens)"
|
|
22087
|
+
},
|
|
22088
|
+
{
|
|
22089
|
+
"name": "login_customer_id",
|
|
22090
|
+
"type": "string",
|
|
22091
|
+
"location": "body",
|
|
22092
|
+
"required": false,
|
|
22093
|
+
"description": "Login Customer ID (MCC)"
|
|
22094
|
+
},
|
|
22095
|
+
{
|
|
22096
|
+
"name": "enabled",
|
|
22097
|
+
"type": "boolean",
|
|
22098
|
+
"location": "body",
|
|
22099
|
+
"required": false,
|
|
22100
|
+
"description": "Liga/desliga envio de conversões"
|
|
22101
|
+
},
|
|
22102
|
+
{
|
|
22103
|
+
"name": "funnel_id",
|
|
22104
|
+
"type": "integer",
|
|
22105
|
+
"location": "body",
|
|
22106
|
+
"required": false,
|
|
22107
|
+
"description": "Funil vinculado"
|
|
22108
|
+
},
|
|
22109
|
+
{
|
|
22110
|
+
"name": "conversion_action_map",
|
|
22111
|
+
"type": "object",
|
|
22112
|
+
"location": "body",
|
|
22113
|
+
"required": false,
|
|
22114
|
+
"description": "Mapa { evento: conversion_action_id }"
|
|
22115
|
+
}
|
|
22116
|
+
],
|
|
22117
|
+
"returns": "{ id, ... }",
|
|
22118
|
+
"common_use_cases": [
|
|
22119
|
+
"Mapear 'ganho no funil' → conversão do Ads"
|
|
22120
|
+
],
|
|
22121
|
+
"related_tools": [
|
|
22122
|
+
"lionchat_google_ads_integrations_list_conversion_actions"
|
|
22123
|
+
]
|
|
22124
|
+
},
|
|
22125
|
+
{
|
|
22126
|
+
"id": "lionchat_google_ads_integrations_destroy",
|
|
22127
|
+
"method": "DELETE",
|
|
22128
|
+
"path": "/api/v1/accounts/{account_id}/google_ads_integrations/{id}",
|
|
22129
|
+
"title": "Excluir Integração Google Ads",
|
|
22130
|
+
"description": "Remove a integração. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
22131
|
+
"category": "Integracoes",
|
|
22132
|
+
"params": [
|
|
22133
|
+
{
|
|
22134
|
+
"name": "id",
|
|
22135
|
+
"type": "integer",
|
|
22136
|
+
"location": "path",
|
|
22137
|
+
"required": true,
|
|
22138
|
+
"description": "ID da integração"
|
|
22139
|
+
}
|
|
22140
|
+
],
|
|
22141
|
+
"returns": "204 No Content",
|
|
22142
|
+
"common_use_cases": [
|
|
22143
|
+
"Desconectar conta de anúncios"
|
|
22144
|
+
],
|
|
22145
|
+
"related_tools": []
|
|
22146
|
+
},
|
|
22147
|
+
{
|
|
22148
|
+
"id": "lionchat_google_ads_integrations_list_customers",
|
|
22149
|
+
"method": "GET",
|
|
22150
|
+
"path": "/api/v1/accounts/{account_id}/google_ads_integrations/{id}/list_customers",
|
|
22151
|
+
"title": "Listar Contas Acessíveis do Google Ads",
|
|
22152
|
+
"description": "Lista as contas de anúncio acessíveis pelo login conectado (pra escolher o customer_id). ADMIN-ONLY.",
|
|
22153
|
+
"category": "Integracoes",
|
|
22154
|
+
"params": [
|
|
22155
|
+
{
|
|
22156
|
+
"name": "id",
|
|
22157
|
+
"type": "integer",
|
|
22158
|
+
"location": "path",
|
|
22159
|
+
"required": true,
|
|
22160
|
+
"description": "ID da integração"
|
|
22161
|
+
}
|
|
22162
|
+
],
|
|
22163
|
+
"returns": "{ customers: [{ customer_id, descriptive_name, manager }] }",
|
|
22164
|
+
"common_use_cases": [
|
|
22165
|
+
"Escolher a conta certa num MCC"
|
|
22166
|
+
],
|
|
22167
|
+
"related_tools": [
|
|
22168
|
+
"lionchat_google_ads_integrations_update"
|
|
22169
|
+
]
|
|
22170
|
+
},
|
|
22171
|
+
{
|
|
22172
|
+
"id": "lionchat_google_ads_integrations_list_conversion_actions",
|
|
22173
|
+
"method": "GET",
|
|
22174
|
+
"path": "/api/v1/accounts/{account_id}/google_ads_integrations/{id}/list_conversion_actions",
|
|
22175
|
+
"title": "Listar Conversion Actions do Google Ads",
|
|
22176
|
+
"description": "Lista as ações de conversão habilitadas na conta de anúncio (pra montar o conversion_action_map). ADMIN-ONLY.",
|
|
22177
|
+
"category": "Integracoes",
|
|
22178
|
+
"params": [
|
|
22179
|
+
{
|
|
22180
|
+
"name": "id",
|
|
22181
|
+
"type": "integer",
|
|
22182
|
+
"location": "path",
|
|
22183
|
+
"required": true,
|
|
22184
|
+
"description": "ID da integração"
|
|
22185
|
+
}
|
|
22186
|
+
],
|
|
22187
|
+
"returns": "{ conversion_actions: [{ id, name, category, status }] }",
|
|
22188
|
+
"common_use_cases": [
|
|
22189
|
+
"Mapear eventos do LionChat pra conversões"
|
|
22190
|
+
],
|
|
22191
|
+
"related_tools": [
|
|
22192
|
+
"lionchat_google_ads_integrations_update"
|
|
22193
|
+
]
|
|
22194
|
+
},
|
|
22195
|
+
{
|
|
22196
|
+
"id": "lionchat_conta_azul_integrations_list",
|
|
22197
|
+
"method": "GET",
|
|
22198
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations",
|
|
22199
|
+
"title": "Listar Integrações Conta Azul",
|
|
22200
|
+
"description": "Lista integrações com o ERP Conta Azul. ADMIN-ONLY.",
|
|
22201
|
+
"category": "Integracoes",
|
|
22202
|
+
"params": [],
|
|
22203
|
+
"returns": "[{ id, name, status, event_mapping }]",
|
|
22204
|
+
"common_use_cases": [
|
|
22205
|
+
"Ver status da conexão Conta Azul"
|
|
22206
|
+
],
|
|
22207
|
+
"related_tools": []
|
|
22208
|
+
},
|
|
22209
|
+
{
|
|
22210
|
+
"id": "lionchat_conta_azul_integrations_show",
|
|
22211
|
+
"method": "GET",
|
|
22212
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}",
|
|
22213
|
+
"title": "Detalhe da Integração Conta Azul",
|
|
22214
|
+
"description": "Detalhe de uma integração Conta Azul (status, mapeamento de eventos). ADMIN-ONLY.",
|
|
22215
|
+
"category": "Integracoes",
|
|
22216
|
+
"params": [
|
|
22217
|
+
{
|
|
22218
|
+
"name": "id",
|
|
22219
|
+
"type": "integer",
|
|
22220
|
+
"location": "path",
|
|
22221
|
+
"required": true,
|
|
22222
|
+
"description": "ID da integração"
|
|
22223
|
+
}
|
|
22224
|
+
],
|
|
22225
|
+
"returns": "{ id, name, status, event_mapping }",
|
|
22226
|
+
"common_use_cases": [
|
|
22227
|
+
"Conferir status de sincronização"
|
|
22228
|
+
],
|
|
22229
|
+
"related_tools": []
|
|
22230
|
+
},
|
|
22231
|
+
{
|
|
22232
|
+
"id": "lionchat_conta_azul_integrations_create",
|
|
22233
|
+
"method": "POST",
|
|
22234
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations",
|
|
22235
|
+
"title": "Criar Integração Conta Azul",
|
|
22236
|
+
"description": "Cria a integração (status pending) — a autorização em si é via OAuth: use 'connect' pra gerar o link que o usuário abre no navegador. ADMIN-ONLY.",
|
|
22237
|
+
"category": "Integracoes",
|
|
22238
|
+
"params": [
|
|
22239
|
+
{
|
|
22240
|
+
"name": "name",
|
|
22241
|
+
"type": "string",
|
|
22242
|
+
"location": "body",
|
|
22243
|
+
"required": false,
|
|
22244
|
+
"description": "Nome (default: Conta Azul)"
|
|
22245
|
+
},
|
|
22246
|
+
{
|
|
22247
|
+
"name": "event_mapping",
|
|
22248
|
+
"type": "object",
|
|
22249
|
+
"location": "body",
|
|
22250
|
+
"required": false,
|
|
22251
|
+
"description": "Mapa de eventos personalizados"
|
|
22252
|
+
}
|
|
22253
|
+
],
|
|
22254
|
+
"returns": "{ id, status: 'pending' } (201)",
|
|
22255
|
+
"common_use_cases": [
|
|
22256
|
+
"Iniciar conexão com o ERP"
|
|
22257
|
+
],
|
|
22258
|
+
"related_tools": [
|
|
22259
|
+
"lionchat_conta_azul_integrations_connect"
|
|
22260
|
+
]
|
|
22261
|
+
},
|
|
22262
|
+
{
|
|
22263
|
+
"id": "lionchat_conta_azul_integrations_update",
|
|
22264
|
+
"method": "PATCH",
|
|
22265
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}",
|
|
22266
|
+
"title": "Atualizar Integração Conta Azul",
|
|
22267
|
+
"description": "Atualiza nome/mapeamento de eventos. ADMIN-ONLY.",
|
|
22268
|
+
"category": "Integracoes",
|
|
22269
|
+
"params": [
|
|
22270
|
+
{
|
|
22271
|
+
"name": "id",
|
|
22272
|
+
"type": "integer",
|
|
22273
|
+
"location": "path",
|
|
22274
|
+
"required": true,
|
|
22275
|
+
"description": "ID da integração"
|
|
22276
|
+
},
|
|
22277
|
+
{
|
|
22278
|
+
"name": "name",
|
|
22279
|
+
"type": "string",
|
|
22280
|
+
"location": "body",
|
|
22281
|
+
"required": false,
|
|
22282
|
+
"description": "Novo nome"
|
|
22283
|
+
},
|
|
22284
|
+
{
|
|
22285
|
+
"name": "event_mapping",
|
|
22286
|
+
"type": "object",
|
|
22287
|
+
"location": "body",
|
|
22288
|
+
"required": false,
|
|
22289
|
+
"description": "Novo mapa de eventos"
|
|
22290
|
+
}
|
|
22291
|
+
],
|
|
22292
|
+
"returns": "{ id, ... }",
|
|
22293
|
+
"common_use_cases": [
|
|
22294
|
+
"Ajustar quais eventos viram ação"
|
|
22295
|
+
],
|
|
22296
|
+
"related_tools": []
|
|
22297
|
+
},
|
|
22298
|
+
{
|
|
22299
|
+
"id": "lionchat_conta_azul_integrations_destroy",
|
|
22300
|
+
"method": "DELETE",
|
|
22301
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}",
|
|
22302
|
+
"title": "Excluir Integração Conta Azul",
|
|
22303
|
+
"description": "Remove a integração. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
22304
|
+
"category": "Integracoes",
|
|
22305
|
+
"params": [
|
|
22306
|
+
{
|
|
22307
|
+
"name": "id",
|
|
22308
|
+
"type": "integer",
|
|
22309
|
+
"location": "path",
|
|
22310
|
+
"required": true,
|
|
22311
|
+
"description": "ID da integração"
|
|
22312
|
+
}
|
|
22313
|
+
],
|
|
22314
|
+
"returns": "200 OK",
|
|
22315
|
+
"common_use_cases": [
|
|
22316
|
+
"Desconectar o ERP"
|
|
22317
|
+
],
|
|
22318
|
+
"related_tools": []
|
|
22319
|
+
},
|
|
22320
|
+
{
|
|
22321
|
+
"id": "lionchat_conta_azul_integrations_connect",
|
|
22322
|
+
"method": "POST",
|
|
22323
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/connect",
|
|
22324
|
+
"title": "Gerar Link de Autorização Conta Azul",
|
|
22325
|
+
"description": "Inicia o OAuth: retorna authorize_url pro USUÁRIO abrir no navegador e autorizar (state expira em 15 min). ADMIN-ONLY.",
|
|
22326
|
+
"category": "Integracoes",
|
|
22327
|
+
"params": [],
|
|
22328
|
+
"returns": "{ authorize_url, state }",
|
|
22329
|
+
"common_use_cases": [
|
|
22330
|
+
"Mandar o link de autorização pro usuário"
|
|
22331
|
+
],
|
|
22332
|
+
"related_tools": []
|
|
22333
|
+
},
|
|
22334
|
+
{
|
|
22335
|
+
"id": "lionchat_conta_azul_integrations_disconnect",
|
|
22336
|
+
"method": "POST",
|
|
22337
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}/disconnect",
|
|
22338
|
+
"title": "Desconectar Conta Azul",
|
|
22339
|
+
"description": "Marca a integração como desconectada (pausa a sincronização sem apagar a configuração). ADMIN-ONLY.",
|
|
22340
|
+
"category": "Integracoes",
|
|
22341
|
+
"params": [
|
|
22342
|
+
{
|
|
22343
|
+
"name": "id",
|
|
22344
|
+
"type": "integer",
|
|
22345
|
+
"location": "path",
|
|
22346
|
+
"required": true,
|
|
22347
|
+
"description": "ID da integração"
|
|
22348
|
+
}
|
|
22349
|
+
],
|
|
22350
|
+
"returns": "200 OK",
|
|
22351
|
+
"common_use_cases": [
|
|
22352
|
+
"Pausar sincronização"
|
|
22353
|
+
],
|
|
22354
|
+
"related_tools": []
|
|
22355
|
+
},
|
|
22356
|
+
{
|
|
22357
|
+
"id": "lionchat_conta_azul_integrations_sync_now",
|
|
22358
|
+
"method": "POST",
|
|
22359
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}/sync_now",
|
|
22360
|
+
"title": "Sincronizar Conta Azul Agora",
|
|
22361
|
+
"description": "Enfileira sincronização manual imediata (assíncrona — resposta confirma o agendamento, não o resultado). ADMIN-ONLY.",
|
|
22362
|
+
"category": "Integracoes",
|
|
22363
|
+
"params": [
|
|
22364
|
+
{
|
|
22365
|
+
"name": "id",
|
|
22366
|
+
"type": "integer",
|
|
22367
|
+
"location": "path",
|
|
22368
|
+
"required": true,
|
|
22369
|
+
"description": "ID da integração"
|
|
22370
|
+
}
|
|
22371
|
+
],
|
|
22372
|
+
"returns": "{ enqueued: true }",
|
|
22373
|
+
"common_use_cases": [
|
|
22374
|
+
"Forçar sync após mudança no ERP"
|
|
22375
|
+
],
|
|
22376
|
+
"related_tools": [
|
|
22377
|
+
"lionchat_conta_azul_integrations_events"
|
|
22378
|
+
]
|
|
22379
|
+
},
|
|
22380
|
+
{
|
|
22381
|
+
"id": "lionchat_conta_azul_integrations_events",
|
|
22382
|
+
"method": "GET",
|
|
22383
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}/events",
|
|
22384
|
+
"title": "Eventos da Conta Azul",
|
|
22385
|
+
"description": "Últimos 50 eventos de sincronização (status, erros). ADMIN-ONLY.",
|
|
22386
|
+
"category": "Integracoes",
|
|
22387
|
+
"params": [
|
|
22388
|
+
{
|
|
22389
|
+
"name": "id",
|
|
22390
|
+
"type": "integer",
|
|
22391
|
+
"location": "path",
|
|
22392
|
+
"required": true,
|
|
22393
|
+
"description": "ID da integração"
|
|
22394
|
+
}
|
|
22395
|
+
],
|
|
22396
|
+
"returns": "[{ id, event_type, processing_status, error_message, created_at }]",
|
|
22397
|
+
"common_use_cases": [
|
|
22398
|
+
"Diagnosticar sync com falha"
|
|
22399
|
+
],
|
|
22400
|
+
"related_tools": [
|
|
22401
|
+
"lionchat_conta_azul_integrations_retry_event"
|
|
22402
|
+
]
|
|
22403
|
+
},
|
|
22404
|
+
{
|
|
22405
|
+
"id": "lionchat_conta_azul_integrations_retry_event",
|
|
22406
|
+
"method": "POST",
|
|
22407
|
+
"path": "/api/v1/accounts/{account_id}/conta_azul_integrations/{id}/events/{event_id}/retry",
|
|
22408
|
+
"title": "Reprocessar Evento Conta Azul",
|
|
22409
|
+
"description": "Reprocessa um evento com falha/pulado. ADMIN-ONLY.",
|
|
22410
|
+
"category": "Integracoes",
|
|
22411
|
+
"params": [
|
|
22412
|
+
{
|
|
22413
|
+
"name": "id",
|
|
22414
|
+
"type": "integer",
|
|
22415
|
+
"location": "path",
|
|
22416
|
+
"required": true,
|
|
22417
|
+
"description": "ID da integração"
|
|
22418
|
+
},
|
|
22419
|
+
{
|
|
22420
|
+
"name": "event_id",
|
|
22421
|
+
"type": "integer",
|
|
22422
|
+
"location": "path",
|
|
22423
|
+
"required": true,
|
|
22424
|
+
"description": "ID do evento"
|
|
22425
|
+
}
|
|
22426
|
+
],
|
|
22427
|
+
"returns": "{ success: true }",
|
|
22428
|
+
"common_use_cases": [
|
|
22429
|
+
"Retentar evento que falhou"
|
|
22430
|
+
],
|
|
22431
|
+
"related_tools": []
|
|
22432
|
+
},
|
|
22433
|
+
{
|
|
22434
|
+
"id": "lionchat_omie_integrations_list",
|
|
22435
|
+
"method": "GET",
|
|
22436
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations",
|
|
22437
|
+
"title": "Listar Integrações Omie",
|
|
22438
|
+
"description": "Lista integrações com o ERP Omie (0 ou 1 por conta). ADMIN-ONLY.",
|
|
22439
|
+
"category": "Integracoes",
|
|
22440
|
+
"params": [],
|
|
22441
|
+
"returns": "[{ id, name, status, enabled_categories }]",
|
|
22442
|
+
"common_use_cases": [
|
|
22443
|
+
"Ver se a Omie está conectada"
|
|
22444
|
+
],
|
|
22445
|
+
"related_tools": []
|
|
22446
|
+
},
|
|
22447
|
+
{
|
|
22448
|
+
"id": "lionchat_omie_integrations_show",
|
|
22449
|
+
"method": "GET",
|
|
22450
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}",
|
|
22451
|
+
"title": "Detalhe da Integração Omie",
|
|
22452
|
+
"description": "Detalhe da integração Omie (status, categorias habilitadas, mapeamento). ADMIN-ONLY.",
|
|
22453
|
+
"category": "Integracoes",
|
|
22454
|
+
"params": [
|
|
22455
|
+
{
|
|
22456
|
+
"name": "id",
|
|
22457
|
+
"type": "integer",
|
|
22458
|
+
"location": "path",
|
|
22459
|
+
"required": true,
|
|
22460
|
+
"description": "ID da integração"
|
|
22461
|
+
}
|
|
22462
|
+
],
|
|
22463
|
+
"returns": "{ id, name, status, omie_company_name, enabled_categories, event_mapping }",
|
|
22464
|
+
"common_use_cases": [
|
|
22465
|
+
"Conferir categorias de eventos ativas"
|
|
22466
|
+
],
|
|
22467
|
+
"related_tools": []
|
|
22468
|
+
},
|
|
22469
|
+
{
|
|
22470
|
+
"id": "lionchat_omie_integrations_create",
|
|
22471
|
+
"method": "POST",
|
|
22472
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations",
|
|
22473
|
+
"title": "Criar Integração Omie",
|
|
22474
|
+
"description": "Conecta a Omie com app_key + app_secret (testa a conexão automaticamente). ADMIN-ONLY.",
|
|
22475
|
+
"category": "Integracoes",
|
|
22476
|
+
"params": [
|
|
22477
|
+
{
|
|
22478
|
+
"name": "app_key",
|
|
22479
|
+
"type": "string",
|
|
22480
|
+
"location": "body",
|
|
22481
|
+
"required": true,
|
|
22482
|
+
"description": "App Key da Omie"
|
|
22483
|
+
},
|
|
22484
|
+
{
|
|
22485
|
+
"name": "app_secret",
|
|
22486
|
+
"type": "string",
|
|
22487
|
+
"location": "body",
|
|
22488
|
+
"required": true,
|
|
22489
|
+
"description": "App Secret da Omie"
|
|
22490
|
+
},
|
|
22491
|
+
{
|
|
22492
|
+
"name": "name",
|
|
22493
|
+
"type": "string",
|
|
22494
|
+
"location": "body",
|
|
22495
|
+
"required": false,
|
|
22496
|
+
"description": "Nome (default: Omie)"
|
|
22497
|
+
},
|
|
22498
|
+
{
|
|
22499
|
+
"name": "omie_company_name",
|
|
22500
|
+
"type": "string",
|
|
22501
|
+
"location": "body",
|
|
22502
|
+
"required": false,
|
|
22503
|
+
"description": "Nome da empresa na Omie"
|
|
22504
|
+
},
|
|
22505
|
+
{
|
|
22506
|
+
"name": "enabled_categories",
|
|
22507
|
+
"type": "array",
|
|
22508
|
+
"location": "body",
|
|
22509
|
+
"required": false,
|
|
22510
|
+
"description": "Categorias: receivables, payables, sales, purchase_orders, contracts, clients, fiscal"
|
|
22511
|
+
},
|
|
22512
|
+
{
|
|
22513
|
+
"name": "event_mapping",
|
|
22514
|
+
"type": "object",
|
|
22515
|
+
"location": "body",
|
|
22516
|
+
"required": false,
|
|
22517
|
+
"description": "Mapa de eventos"
|
|
22518
|
+
}
|
|
22519
|
+
],
|
|
22520
|
+
"returns": "{ id, status } (201)",
|
|
22521
|
+
"common_use_cases": [
|
|
22522
|
+
"Conectar o ERP Omie"
|
|
22523
|
+
],
|
|
22524
|
+
"related_tools": [
|
|
22525
|
+
"lionchat_omie_integrations_test_connection"
|
|
22526
|
+
]
|
|
22527
|
+
},
|
|
22528
|
+
{
|
|
22529
|
+
"id": "lionchat_omie_integrations_update",
|
|
22530
|
+
"method": "PATCH",
|
|
22531
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}",
|
|
22532
|
+
"title": "Atualizar Integração Omie",
|
|
22533
|
+
"description": "Atualiza credenciais/categorias/mapeamento (credencial nova dispara novo teste de conexão). ADMIN-ONLY.",
|
|
22534
|
+
"category": "Integracoes",
|
|
22535
|
+
"params": [
|
|
22536
|
+
{
|
|
22537
|
+
"name": "id",
|
|
22538
|
+
"type": "integer",
|
|
22539
|
+
"location": "path",
|
|
22540
|
+
"required": true,
|
|
22541
|
+
"description": "ID da integração"
|
|
22542
|
+
},
|
|
22543
|
+
{
|
|
22544
|
+
"name": "app_key",
|
|
22545
|
+
"type": "string",
|
|
22546
|
+
"location": "body",
|
|
22547
|
+
"required": false,
|
|
22548
|
+
"description": "Nova App Key"
|
|
22549
|
+
},
|
|
22550
|
+
{
|
|
22551
|
+
"name": "app_secret",
|
|
22552
|
+
"type": "string",
|
|
22553
|
+
"location": "body",
|
|
22554
|
+
"required": false,
|
|
22555
|
+
"description": "Novo App Secret"
|
|
22556
|
+
},
|
|
22557
|
+
{
|
|
22558
|
+
"name": "name",
|
|
22559
|
+
"type": "string",
|
|
22560
|
+
"location": "body",
|
|
22561
|
+
"required": false,
|
|
22562
|
+
"description": "Novo nome"
|
|
22563
|
+
},
|
|
22564
|
+
{
|
|
22565
|
+
"name": "enabled_categories",
|
|
22566
|
+
"type": "array",
|
|
22567
|
+
"location": "body",
|
|
22568
|
+
"required": false,
|
|
22569
|
+
"description": "Novas categorias"
|
|
22570
|
+
},
|
|
22571
|
+
{
|
|
22572
|
+
"name": "event_mapping",
|
|
22573
|
+
"type": "object",
|
|
22574
|
+
"location": "body",
|
|
22575
|
+
"required": false,
|
|
22576
|
+
"description": "Novo mapa"
|
|
22577
|
+
}
|
|
22578
|
+
],
|
|
22579
|
+
"returns": "{ id, ... }",
|
|
22580
|
+
"common_use_cases": [
|
|
22581
|
+
"Trocar credenciais da Omie"
|
|
22582
|
+
],
|
|
22583
|
+
"related_tools": []
|
|
22584
|
+
},
|
|
22585
|
+
{
|
|
22586
|
+
"id": "lionchat_omie_integrations_destroy",
|
|
22587
|
+
"method": "DELETE",
|
|
22588
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}",
|
|
22589
|
+
"title": "Excluir Integração Omie",
|
|
22590
|
+
"description": "Remove a integração. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
22591
|
+
"category": "Integracoes",
|
|
22592
|
+
"params": [
|
|
22593
|
+
{
|
|
22594
|
+
"name": "id",
|
|
22595
|
+
"type": "integer",
|
|
22596
|
+
"location": "path",
|
|
22597
|
+
"required": true,
|
|
22598
|
+
"description": "ID da integração"
|
|
22599
|
+
}
|
|
22600
|
+
],
|
|
22601
|
+
"returns": "200 OK",
|
|
22602
|
+
"common_use_cases": [
|
|
22603
|
+
"Desconectar a Omie"
|
|
22604
|
+
],
|
|
22605
|
+
"related_tools": []
|
|
22606
|
+
},
|
|
22607
|
+
{
|
|
22608
|
+
"id": "lionchat_omie_integrations_disconnect",
|
|
22609
|
+
"method": "POST",
|
|
22610
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}/disconnect",
|
|
22611
|
+
"title": "Desconectar Omie",
|
|
22612
|
+
"description": "Marca como desconectada (pausa sem apagar). ADMIN-ONLY.",
|
|
22613
|
+
"category": "Integracoes",
|
|
22614
|
+
"params": [
|
|
22615
|
+
{
|
|
22616
|
+
"name": "id",
|
|
22617
|
+
"type": "integer",
|
|
22618
|
+
"location": "path",
|
|
22619
|
+
"required": true,
|
|
22620
|
+
"description": "ID da integração"
|
|
22621
|
+
}
|
|
22622
|
+
],
|
|
22623
|
+
"returns": "200 OK",
|
|
22624
|
+
"common_use_cases": [
|
|
22625
|
+
"Pausar a integração"
|
|
22626
|
+
],
|
|
22627
|
+
"related_tools": []
|
|
22628
|
+
},
|
|
22629
|
+
{
|
|
22630
|
+
"id": "lionchat_omie_integrations_test_connection",
|
|
22631
|
+
"method": "POST",
|
|
22632
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}/test_connection",
|
|
22633
|
+
"title": "Testar Conexão Omie",
|
|
22634
|
+
"description": "Testa as credenciais contra a API da Omie (síncrono). ADMIN-ONLY.",
|
|
22635
|
+
"category": "Integracoes",
|
|
22636
|
+
"params": [
|
|
22637
|
+
{
|
|
22638
|
+
"name": "id",
|
|
22639
|
+
"type": "integer",
|
|
22640
|
+
"location": "path",
|
|
22641
|
+
"required": true,
|
|
22642
|
+
"description": "ID da integração"
|
|
22643
|
+
}
|
|
22644
|
+
],
|
|
22645
|
+
"returns": "{ ok, company, error? }",
|
|
22646
|
+
"common_use_cases": [
|
|
22647
|
+
"Diagnosticar credenciais"
|
|
22648
|
+
],
|
|
22649
|
+
"related_tools": []
|
|
22650
|
+
},
|
|
22651
|
+
{
|
|
22652
|
+
"id": "lionchat_omie_integrations_toggle_category",
|
|
22653
|
+
"method": "POST",
|
|
22654
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}/toggle_category",
|
|
22655
|
+
"title": "Ativar/Desativar Categoria Omie",
|
|
22656
|
+
"description": "Liga/desliga uma categoria de eventos da Omie. ADMIN-ONLY.",
|
|
22657
|
+
"category": "Integracoes",
|
|
22658
|
+
"params": [
|
|
22659
|
+
{
|
|
22660
|
+
"name": "id",
|
|
22661
|
+
"type": "integer",
|
|
22662
|
+
"location": "path",
|
|
22663
|
+
"required": true,
|
|
22664
|
+
"description": "ID da integração"
|
|
22665
|
+
},
|
|
22666
|
+
{
|
|
22667
|
+
"name": "category",
|
|
22668
|
+
"type": "string",
|
|
22669
|
+
"location": "body",
|
|
22670
|
+
"required": true,
|
|
22671
|
+
"description": "receivables | payables | sales | purchase_orders | contracts | clients | fiscal"
|
|
22672
|
+
},
|
|
22673
|
+
{
|
|
22674
|
+
"name": "enabled",
|
|
22675
|
+
"type": "boolean",
|
|
22676
|
+
"location": "body",
|
|
22677
|
+
"required": true,
|
|
22678
|
+
"description": "true liga, false desliga"
|
|
22679
|
+
}
|
|
22680
|
+
],
|
|
22681
|
+
"returns": "{ enabled_categories: [...] }",
|
|
22682
|
+
"common_use_cases": [
|
|
22683
|
+
"Processar só contas a receber"
|
|
22684
|
+
],
|
|
22685
|
+
"related_tools": []
|
|
22686
|
+
},
|
|
22687
|
+
{
|
|
22688
|
+
"id": "lionchat_omie_integrations_events",
|
|
22689
|
+
"method": "GET",
|
|
22690
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}/events",
|
|
22691
|
+
"title": "Eventos da Omie",
|
|
22692
|
+
"description": "Últimos 50 eventos de webhook recebidos da Omie. ADMIN-ONLY.",
|
|
22693
|
+
"category": "Integracoes",
|
|
22694
|
+
"params": [
|
|
22695
|
+
{
|
|
22696
|
+
"name": "id",
|
|
22697
|
+
"type": "integer",
|
|
22698
|
+
"location": "path",
|
|
22699
|
+
"required": true,
|
|
22700
|
+
"description": "ID da integração"
|
|
22701
|
+
}
|
|
22702
|
+
],
|
|
22703
|
+
"returns": "[{ id, category, event_type, processing_status, error_message }]",
|
|
22704
|
+
"common_use_cases": [
|
|
22705
|
+
"Diagnosticar evento que não virou ação"
|
|
22706
|
+
],
|
|
22707
|
+
"related_tools": [
|
|
22708
|
+
"lionchat_omie_integrations_retry_event"
|
|
22709
|
+
]
|
|
22710
|
+
},
|
|
22711
|
+
{
|
|
22712
|
+
"id": "lionchat_omie_integrations_retry_event",
|
|
22713
|
+
"method": "POST",
|
|
22714
|
+
"path": "/api/v1/accounts/{account_id}/omie_integrations/{id}/events/{event_id}/retry",
|
|
22715
|
+
"title": "Reprocessar Evento Omie",
|
|
22716
|
+
"description": "Reprocessa um evento com falha. ADMIN-ONLY.",
|
|
22717
|
+
"category": "Integracoes",
|
|
22718
|
+
"params": [
|
|
22719
|
+
{
|
|
22720
|
+
"name": "id",
|
|
22721
|
+
"type": "integer",
|
|
22722
|
+
"location": "path",
|
|
22723
|
+
"required": true,
|
|
22724
|
+
"description": "ID da integração"
|
|
22725
|
+
},
|
|
22726
|
+
{
|
|
22727
|
+
"name": "event_id",
|
|
22728
|
+
"type": "integer",
|
|
22729
|
+
"location": "path",
|
|
22730
|
+
"required": true,
|
|
22731
|
+
"description": "ID do evento"
|
|
22732
|
+
}
|
|
22733
|
+
],
|
|
22734
|
+
"returns": "{ success: true }",
|
|
22735
|
+
"common_use_cases": [
|
|
22736
|
+
"Retentar evento da Omie"
|
|
22737
|
+
],
|
|
22738
|
+
"related_tools": []
|
|
22739
|
+
},
|
|
22740
|
+
{
|
|
22741
|
+
"id": "lionchat_integrations_slack_update",
|
|
22742
|
+
"method": "PATCH",
|
|
22743
|
+
"path": "/api/v1/accounts/{account_id}/integrations/slack",
|
|
22744
|
+
"title": "Trocar Canal do Slack",
|
|
22745
|
+
"description": "Muda o canal Slack que recebe as notificações (a conexão inicial é OAuth no navegador). ADMIN-ONLY.",
|
|
22746
|
+
"category": "Integracoes",
|
|
22747
|
+
"params": [
|
|
22748
|
+
{
|
|
22749
|
+
"name": "reference_id",
|
|
22750
|
+
"type": "string",
|
|
22751
|
+
"location": "body",
|
|
22752
|
+
"required": true,
|
|
22753
|
+
"description": "ID do canal Slack de destino"
|
|
22754
|
+
}
|
|
22755
|
+
],
|
|
22756
|
+
"returns": "{ hook }",
|
|
22757
|
+
"common_use_cases": [
|
|
22758
|
+
"Apontar notificações pra outro canal"
|
|
22759
|
+
],
|
|
22760
|
+
"related_tools": [
|
|
22761
|
+
"lionchat_integrations_slack_list_all_channels"
|
|
22762
|
+
]
|
|
22763
|
+
},
|
|
22764
|
+
{
|
|
22765
|
+
"id": "lionchat_integrations_slack_destroy",
|
|
22766
|
+
"method": "DELETE",
|
|
22767
|
+
"path": "/api/v1/accounts/{account_id}/integrations/slack",
|
|
22768
|
+
"title": "Desconectar Slack",
|
|
22769
|
+
"description": "Remove a integração Slack. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
22770
|
+
"category": "Integracoes",
|
|
22771
|
+
"params": [],
|
|
22772
|
+
"returns": "200 OK",
|
|
22773
|
+
"common_use_cases": [
|
|
22774
|
+
"Desligar notificações no Slack"
|
|
22775
|
+
],
|
|
22776
|
+
"related_tools": []
|
|
22777
|
+
},
|
|
22778
|
+
{
|
|
22779
|
+
"id": "lionchat_integrations_slack_list_all_channels",
|
|
22780
|
+
"method": "GET",
|
|
22781
|
+
"path": "/api/v1/accounts/{account_id}/integrations/slack/list_all_channels",
|
|
22782
|
+
"title": "Listar Canais do Slack",
|
|
22783
|
+
"description": "Lista os canais do workspace Slack conectado (pra escolher o destino). ADMIN-ONLY.",
|
|
22784
|
+
"category": "Integracoes",
|
|
22785
|
+
"params": [],
|
|
22786
|
+
"returns": "[{ id, name, is_private }]",
|
|
22787
|
+
"common_use_cases": [
|
|
22788
|
+
"Escolher canal antes de trocar"
|
|
22789
|
+
],
|
|
22790
|
+
"related_tools": [
|
|
22791
|
+
"lionchat_integrations_slack_update"
|
|
22792
|
+
]
|
|
22793
|
+
},
|
|
22794
|
+
{
|
|
22795
|
+
"id": "lionchat_integrations_linear_teams",
|
|
22796
|
+
"method": "GET",
|
|
22797
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/teams",
|
|
22798
|
+
"title": "Listar Times do Linear",
|
|
22799
|
+
"description": "Lista os times do workspace Linear conectado.",
|
|
22800
|
+
"category": "Integracoes",
|
|
22801
|
+
"params": [],
|
|
22802
|
+
"returns": "{ data: [{ id, name, key }] }",
|
|
22803
|
+
"common_use_cases": [
|
|
22804
|
+
"Escolher time antes de criar issue"
|
|
22805
|
+
],
|
|
22806
|
+
"related_tools": [
|
|
22807
|
+
"lionchat_integrations_linear_create_issue"
|
|
22808
|
+
]
|
|
22809
|
+
},
|
|
22810
|
+
{
|
|
22811
|
+
"id": "lionchat_integrations_linear_team_entities",
|
|
22812
|
+
"method": "GET",
|
|
22813
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/team_entities",
|
|
22814
|
+
"title": "Entidades de um Time Linear",
|
|
22815
|
+
"description": "Projetos, estados, labels e membros de um time Linear.",
|
|
22816
|
+
"category": "Integracoes",
|
|
22817
|
+
"params": [
|
|
22818
|
+
{
|
|
22819
|
+
"name": "team_id",
|
|
22820
|
+
"type": "string",
|
|
22821
|
+
"location": "query",
|
|
22822
|
+
"required": true,
|
|
22823
|
+
"description": "ID do time Linear"
|
|
22824
|
+
}
|
|
22825
|
+
],
|
|
22826
|
+
"returns": "{ data: { projects, states, labels, users } }",
|
|
22827
|
+
"common_use_cases": [
|
|
22828
|
+
"Preencher campos da issue"
|
|
22829
|
+
],
|
|
22830
|
+
"related_tools": []
|
|
22831
|
+
},
|
|
22832
|
+
{
|
|
22833
|
+
"id": "lionchat_integrations_linear_create_issue",
|
|
22834
|
+
"method": "POST",
|
|
22835
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/create_issue",
|
|
22836
|
+
"title": "Criar Issue no Linear",
|
|
22837
|
+
"description": "Cria issue no Linear a partir de uma conversa (registra atividade na conversa).",
|
|
22838
|
+
"category": "Integracoes",
|
|
22839
|
+
"params": [
|
|
22840
|
+
{
|
|
22841
|
+
"name": "conversation_id",
|
|
22842
|
+
"type": "integer",
|
|
22843
|
+
"location": "body",
|
|
22844
|
+
"required": true,
|
|
22845
|
+
"description": "display_id da conversa"
|
|
22846
|
+
},
|
|
22847
|
+
{
|
|
22848
|
+
"name": "team_id",
|
|
22849
|
+
"type": "string",
|
|
22850
|
+
"location": "body",
|
|
22851
|
+
"required": true,
|
|
22852
|
+
"description": "ID do time Linear"
|
|
22853
|
+
},
|
|
22854
|
+
{
|
|
22855
|
+
"name": "title",
|
|
22856
|
+
"type": "string",
|
|
22857
|
+
"location": "body",
|
|
22858
|
+
"required": true,
|
|
22859
|
+
"description": "Título da issue"
|
|
22860
|
+
},
|
|
22861
|
+
{
|
|
22862
|
+
"name": "description",
|
|
22863
|
+
"type": "string",
|
|
22864
|
+
"location": "body",
|
|
22865
|
+
"required": false,
|
|
22866
|
+
"description": "Descrição"
|
|
22867
|
+
},
|
|
22868
|
+
{
|
|
22869
|
+
"name": "project_id",
|
|
22870
|
+
"type": "string",
|
|
22871
|
+
"location": "body",
|
|
22872
|
+
"required": false,
|
|
22873
|
+
"description": "Projeto"
|
|
22874
|
+
},
|
|
22875
|
+
{
|
|
22876
|
+
"name": "assignee_id",
|
|
22877
|
+
"type": "string",
|
|
22878
|
+
"location": "body",
|
|
22879
|
+
"required": false,
|
|
22880
|
+
"description": "Responsável no Linear"
|
|
22881
|
+
},
|
|
22882
|
+
{
|
|
22883
|
+
"name": "priority",
|
|
22884
|
+
"type": "integer",
|
|
22885
|
+
"location": "body",
|
|
22886
|
+
"required": false,
|
|
22887
|
+
"description": "Prioridade (1-4)"
|
|
22888
|
+
},
|
|
22889
|
+
{
|
|
22890
|
+
"name": "state_id",
|
|
22891
|
+
"type": "string",
|
|
22892
|
+
"location": "body",
|
|
22893
|
+
"required": false,
|
|
22894
|
+
"description": "Estado inicial"
|
|
22895
|
+
},
|
|
22896
|
+
{
|
|
22897
|
+
"name": "label_ids",
|
|
22898
|
+
"type": "array",
|
|
22899
|
+
"location": "body",
|
|
22900
|
+
"required": false,
|
|
22901
|
+
"description": "Labels do Linear"
|
|
22902
|
+
}
|
|
22903
|
+
],
|
|
22904
|
+
"returns": "{ data: { id, identifier, title, url } }",
|
|
22905
|
+
"common_use_cases": [
|
|
22906
|
+
"Abrir bug reportado pelo cliente direto no Linear"
|
|
22907
|
+
],
|
|
22908
|
+
"related_tools": [
|
|
22909
|
+
"lionchat_integrations_linear_link_issue"
|
|
22910
|
+
]
|
|
22911
|
+
},
|
|
22912
|
+
{
|
|
22913
|
+
"id": "lionchat_integrations_linear_link_issue",
|
|
22914
|
+
"method": "POST",
|
|
22915
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/link_issue",
|
|
22916
|
+
"title": "Vincular Issue Existente do Linear",
|
|
22917
|
+
"description": "Vincula uma issue Linear já existente à conversa.",
|
|
22918
|
+
"category": "Integracoes",
|
|
22919
|
+
"params": [
|
|
22920
|
+
{
|
|
22921
|
+
"name": "conversation_id",
|
|
22922
|
+
"type": "integer",
|
|
22923
|
+
"location": "body",
|
|
22924
|
+
"required": true,
|
|
22925
|
+
"description": "display_id da conversa"
|
|
22926
|
+
},
|
|
22927
|
+
{
|
|
22928
|
+
"name": "issue_id",
|
|
22929
|
+
"type": "string",
|
|
22930
|
+
"location": "body",
|
|
22931
|
+
"required": true,
|
|
22932
|
+
"description": "ID da issue Linear"
|
|
22933
|
+
},
|
|
22934
|
+
{
|
|
22935
|
+
"name": "title",
|
|
22936
|
+
"type": "string",
|
|
22937
|
+
"location": "body",
|
|
22938
|
+
"required": false,
|
|
22939
|
+
"description": "Título (exibição)"
|
|
22940
|
+
}
|
|
22941
|
+
],
|
|
22942
|
+
"returns": "{ data }",
|
|
22943
|
+
"common_use_cases": [
|
|
22944
|
+
"Ligar conversa a um bug já aberto"
|
|
22945
|
+
],
|
|
22946
|
+
"related_tools": [
|
|
22947
|
+
"lionchat_integrations_linear_search_issue"
|
|
22948
|
+
]
|
|
22949
|
+
},
|
|
22950
|
+
{
|
|
22951
|
+
"id": "lionchat_integrations_linear_unlink_issue",
|
|
22952
|
+
"method": "POST",
|
|
22953
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/unlink_issue",
|
|
22954
|
+
"title": "Desvincular Issue do Linear",
|
|
22955
|
+
"description": "Remove o vínculo entre a issue e a conversa.",
|
|
22956
|
+
"category": "Integracoes",
|
|
22957
|
+
"params": [
|
|
22958
|
+
{
|
|
22959
|
+
"name": "conversation_id",
|
|
22960
|
+
"type": "integer",
|
|
22961
|
+
"location": "body",
|
|
22962
|
+
"required": true,
|
|
22963
|
+
"description": "display_id da conversa"
|
|
22964
|
+
},
|
|
22965
|
+
{
|
|
22966
|
+
"name": "link_id",
|
|
22967
|
+
"type": "string",
|
|
22968
|
+
"location": "body",
|
|
22969
|
+
"required": true,
|
|
22970
|
+
"description": "ID do vínculo"
|
|
22971
|
+
},
|
|
22972
|
+
{
|
|
22973
|
+
"name": "issue_id",
|
|
22974
|
+
"type": "string",
|
|
22975
|
+
"location": "body",
|
|
22976
|
+
"required": true,
|
|
22977
|
+
"description": "ID da issue"
|
|
22978
|
+
}
|
|
22979
|
+
],
|
|
22980
|
+
"returns": "{ data }",
|
|
22981
|
+
"common_use_cases": [
|
|
22982
|
+
"Corrigir vínculo errado"
|
|
22983
|
+
],
|
|
22984
|
+
"related_tools": []
|
|
22985
|
+
},
|
|
22986
|
+
{
|
|
22987
|
+
"id": "lionchat_integrations_linear_search_issue",
|
|
22988
|
+
"method": "GET",
|
|
22989
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/search_issue",
|
|
22990
|
+
"title": "Buscar Issues no Linear",
|
|
22991
|
+
"description": "Busca issues do Linear por termo.",
|
|
22992
|
+
"category": "Integracoes",
|
|
22993
|
+
"params": [
|
|
22994
|
+
{
|
|
22995
|
+
"name": "q",
|
|
22996
|
+
"type": "string",
|
|
22997
|
+
"location": "query",
|
|
22998
|
+
"required": true,
|
|
22999
|
+
"description": "Termo de busca"
|
|
23000
|
+
}
|
|
23001
|
+
],
|
|
23002
|
+
"returns": "{ data: [{ id, identifier, title }] }",
|
|
23003
|
+
"common_use_cases": [
|
|
23004
|
+
"Achar a issue pra vincular"
|
|
23005
|
+
],
|
|
23006
|
+
"related_tools": [
|
|
23007
|
+
"lionchat_integrations_linear_link_issue"
|
|
23008
|
+
]
|
|
23009
|
+
},
|
|
23010
|
+
{
|
|
23011
|
+
"id": "lionchat_integrations_linear_linked_issues",
|
|
23012
|
+
"method": "GET",
|
|
23013
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear/linked_issues",
|
|
23014
|
+
"title": "Issues Vinculadas à Conversa",
|
|
23015
|
+
"description": "Lista as issues Linear vinculadas a uma conversa.",
|
|
23016
|
+
"category": "Integracoes",
|
|
23017
|
+
"params": [
|
|
23018
|
+
{
|
|
23019
|
+
"name": "conversation_id",
|
|
23020
|
+
"type": "integer",
|
|
23021
|
+
"location": "query",
|
|
23022
|
+
"required": true,
|
|
23023
|
+
"description": "display_id da conversa"
|
|
23024
|
+
}
|
|
23025
|
+
],
|
|
23026
|
+
"returns": "{ data: [{ id, identifier, title, status }] }",
|
|
23027
|
+
"common_use_cases": [
|
|
23028
|
+
"Conferir se o problema do cliente já tem issue"
|
|
23029
|
+
],
|
|
23030
|
+
"related_tools": []
|
|
23031
|
+
},
|
|
23032
|
+
{
|
|
23033
|
+
"id": "lionchat_integrations_linear_destroy",
|
|
23034
|
+
"method": "DELETE",
|
|
23035
|
+
"path": "/api/v1/accounts/{account_id}/integrations/linear",
|
|
23036
|
+
"title": "Desconectar Linear",
|
|
23037
|
+
"description": "Remove a integração Linear. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
23038
|
+
"category": "Integracoes",
|
|
23039
|
+
"params": [],
|
|
23040
|
+
"returns": "200 OK",
|
|
23041
|
+
"common_use_cases": [
|
|
23042
|
+
"Desligar o Linear"
|
|
23043
|
+
],
|
|
23044
|
+
"related_tools": []
|
|
23045
|
+
},
|
|
23046
|
+
{
|
|
23047
|
+
"id": "lionchat_integrations_notion_search_pages",
|
|
23048
|
+
"method": "GET",
|
|
23049
|
+
"path": "/api/v1/accounts/{account_id}/integrations/notion/search_pages",
|
|
23050
|
+
"title": "Buscar Páginas do Notion",
|
|
23051
|
+
"description": "Busca páginas no workspace Notion conectado.",
|
|
23052
|
+
"category": "Integracoes",
|
|
23053
|
+
"params": [
|
|
23054
|
+
{
|
|
23055
|
+
"name": "q",
|
|
23056
|
+
"type": "string",
|
|
23057
|
+
"location": "query",
|
|
23058
|
+
"required": true,
|
|
23059
|
+
"description": "Termo de busca"
|
|
23060
|
+
}
|
|
23061
|
+
],
|
|
23062
|
+
"returns": "[{ id, title, url }]",
|
|
23063
|
+
"common_use_cases": [
|
|
23064
|
+
"Achar página pra importar como conhecimento"
|
|
23065
|
+
],
|
|
23066
|
+
"related_tools": [
|
|
23067
|
+
"lionchat_integrations_notion_import_pages"
|
|
23068
|
+
]
|
|
23069
|
+
},
|
|
23070
|
+
{
|
|
23071
|
+
"id": "lionchat_integrations_notion_import_pages",
|
|
23072
|
+
"method": "POST",
|
|
23073
|
+
"path": "/api/v1/accounts/{account_id}/integrations/notion/import_pages",
|
|
23074
|
+
"title": "Importar Páginas do Notion",
|
|
23075
|
+
"description": "Importa páginas do Notion como documentos/artigos (base de conhecimento).",
|
|
23076
|
+
"category": "Integracoes",
|
|
23077
|
+
"params": [
|
|
23078
|
+
{
|
|
23079
|
+
"name": "page_ids",
|
|
23080
|
+
"type": "array",
|
|
23081
|
+
"location": "body",
|
|
23082
|
+
"required": true,
|
|
23083
|
+
"description": "IDs das páginas Notion a importar"
|
|
23084
|
+
}
|
|
23085
|
+
],
|
|
23086
|
+
"returns": "[documentos importados]",
|
|
23087
|
+
"common_use_cases": [
|
|
23088
|
+
"Sincronizar docs do Notion pra IA"
|
|
23089
|
+
],
|
|
23090
|
+
"related_tools": []
|
|
23091
|
+
},
|
|
23092
|
+
{
|
|
23093
|
+
"id": "lionchat_integrations_notion_destroy",
|
|
23094
|
+
"method": "DELETE",
|
|
23095
|
+
"path": "/api/v1/accounts/{account_id}/integrations/notion",
|
|
23096
|
+
"title": "Desconectar Notion",
|
|
23097
|
+
"description": "Remove a integração Notion. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
23098
|
+
"category": "Integracoes",
|
|
23099
|
+
"params": [],
|
|
23100
|
+
"returns": "200 OK",
|
|
23101
|
+
"common_use_cases": [
|
|
23102
|
+
"Desligar o Notion"
|
|
23103
|
+
],
|
|
23104
|
+
"related_tools": []
|
|
23105
|
+
},
|
|
23106
|
+
{
|
|
23107
|
+
"id": "lionchat_integrations_shopify_orders",
|
|
23108
|
+
"method": "GET",
|
|
23109
|
+
"path": "/api/v1/accounts/{account_id}/integrations/shopify/orders",
|
|
23110
|
+
"title": "Pedidos da Loja Shopify",
|
|
23111
|
+
"description": "Lista pedidos da loja Shopify conectada (pra contexto de atendimento).",
|
|
23112
|
+
"category": "Integracoes",
|
|
23113
|
+
"params": [
|
|
23114
|
+
{
|
|
23115
|
+
"name": "limit",
|
|
23116
|
+
"type": "integer",
|
|
23117
|
+
"location": "query",
|
|
23118
|
+
"required": false,
|
|
23119
|
+
"description": "Limite de resultados"
|
|
23120
|
+
},
|
|
23121
|
+
{
|
|
23122
|
+
"name": "status",
|
|
23123
|
+
"type": "string",
|
|
23124
|
+
"location": "query",
|
|
23125
|
+
"required": false,
|
|
23126
|
+
"description": "Status do pedido"
|
|
23127
|
+
}
|
|
23128
|
+
],
|
|
23129
|
+
"returns": "[pedidos]",
|
|
23130
|
+
"common_use_cases": [
|
|
23131
|
+
"Ver pedidos do cliente durante o atendimento"
|
|
23132
|
+
],
|
|
23133
|
+
"related_tools": []
|
|
23134
|
+
},
|
|
23135
|
+
{
|
|
23136
|
+
"id": "lionchat_integrations_shopify_destroy",
|
|
23137
|
+
"method": "DELETE",
|
|
23138
|
+
"path": "/api/v1/accounts/{account_id}/integrations/shopify",
|
|
23139
|
+
"title": "Desconectar Shopify",
|
|
23140
|
+
"description": "Remove a integração Shopify. DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
23141
|
+
"category": "Integracoes",
|
|
23142
|
+
"params": [],
|
|
23143
|
+
"returns": "200 OK",
|
|
23144
|
+
"common_use_cases": [
|
|
23145
|
+
"Desligar a Shopify"
|
|
23146
|
+
],
|
|
23147
|
+
"related_tools": []
|
|
23148
|
+
},
|
|
23149
|
+
{
|
|
23150
|
+
"id": "lionchat_integrations_dyte_create_meeting",
|
|
23151
|
+
"method": "POST",
|
|
23152
|
+
"path": "/api/v1/accounts/{account_id}/integrations/dyte/create_a_meeting",
|
|
23153
|
+
"title": "Criar Videochamada (Dyte)",
|
|
23154
|
+
"description": "Cria uma sala de videochamada Dyte vinculada à conversa.",
|
|
23155
|
+
"category": "Integracoes",
|
|
23156
|
+
"params": [
|
|
23157
|
+
{
|
|
23158
|
+
"name": "conversation_id",
|
|
23159
|
+
"type": "integer",
|
|
23160
|
+
"location": "body",
|
|
23161
|
+
"required": true,
|
|
23162
|
+
"description": "display_id da conversa"
|
|
23163
|
+
}
|
|
23164
|
+
],
|
|
23165
|
+
"returns": "{ meeting_id, meeting_link }",
|
|
23166
|
+
"common_use_cases": [
|
|
23167
|
+
"Iniciar vídeo com o cliente"
|
|
23168
|
+
],
|
|
23169
|
+
"related_tools": [
|
|
23170
|
+
"lionchat_integrations_dyte_add_participant"
|
|
23171
|
+
]
|
|
23172
|
+
},
|
|
23173
|
+
{
|
|
23174
|
+
"id": "lionchat_integrations_dyte_add_participant",
|
|
23175
|
+
"method": "POST",
|
|
23176
|
+
"path": "/api/v1/accounts/{account_id}/integrations/dyte/add_participant_to_meeting",
|
|
23177
|
+
"title": "Adicionar Participante à Videochamada",
|
|
23178
|
+
"description": "Adiciona um participante a uma reunião Dyte existente.",
|
|
23179
|
+
"category": "Integracoes",
|
|
23180
|
+
"params": [
|
|
23181
|
+
{
|
|
23182
|
+
"name": "meeting_id",
|
|
23183
|
+
"type": "string",
|
|
23184
|
+
"location": "body",
|
|
23185
|
+
"required": true,
|
|
23186
|
+
"description": "ID da reunião"
|
|
23187
|
+
},
|
|
23188
|
+
{
|
|
23189
|
+
"name": "participant_name",
|
|
23190
|
+
"type": "string",
|
|
23191
|
+
"location": "body",
|
|
23192
|
+
"required": true,
|
|
23193
|
+
"description": "Nome do participante"
|
|
23194
|
+
}
|
|
23195
|
+
],
|
|
23196
|
+
"returns": "{ participant_id, auth_token }",
|
|
23197
|
+
"common_use_cases": [
|
|
23198
|
+
"Incluir mais alguém na call"
|
|
23199
|
+
],
|
|
23200
|
+
"related_tools": []
|
|
23201
|
+
},
|
|
23202
|
+
{
|
|
23203
|
+
"id": "lionchat_integrations_apps_list",
|
|
23204
|
+
"method": "GET",
|
|
23205
|
+
"path": "/api/v1/accounts/{account_id}/integrations/apps",
|
|
23206
|
+
"title": "Listar Apps de Integração",
|
|
23207
|
+
"description": "Catálogo de apps de integração da conta (OpenAI, Slack, Dialogflow, etc) com status de conexão.",
|
|
23208
|
+
"category": "Integracoes",
|
|
23209
|
+
"params": [],
|
|
23210
|
+
"returns": "[{ id, name, description, enabled, hooks }]",
|
|
23211
|
+
"common_use_cases": [
|
|
23212
|
+
"Descobrir o que dá pra conectar",
|
|
23213
|
+
"Ver o que já está conectado"
|
|
23214
|
+
],
|
|
23215
|
+
"related_tools": [
|
|
23216
|
+
"lionchat_integrations_hooks_create"
|
|
23217
|
+
]
|
|
23218
|
+
},
|
|
23219
|
+
{
|
|
23220
|
+
"id": "lionchat_integrations_apps_show",
|
|
23221
|
+
"method": "GET",
|
|
23222
|
+
"path": "/api/v1/accounts/{account_id}/integrations/apps/{id}",
|
|
23223
|
+
"title": "Detalhe do App de Integração",
|
|
23224
|
+
"description": "Detalhe de um app específico (ex: 'openai') com seus hooks configurados.",
|
|
23225
|
+
"category": "Integracoes",
|
|
23226
|
+
"params": [
|
|
23227
|
+
{
|
|
23228
|
+
"name": "id",
|
|
23229
|
+
"type": "string",
|
|
23230
|
+
"location": "path",
|
|
23231
|
+
"required": true,
|
|
23232
|
+
"description": "ID do app (ex: openai, slack, dialogflow)"
|
|
23233
|
+
}
|
|
23234
|
+
],
|
|
23235
|
+
"returns": "{ id, name, hooks: [...] }",
|
|
23236
|
+
"common_use_cases": [
|
|
23237
|
+
"Ver configuração da integração OpenAI"
|
|
23238
|
+
],
|
|
23239
|
+
"related_tools": []
|
|
23240
|
+
},
|
|
23241
|
+
{
|
|
23242
|
+
"id": "lionchat_integrations_hooks_show",
|
|
23243
|
+
"method": "GET",
|
|
23244
|
+
"path": "/api/v1/accounts/{account_id}/integrations/hooks/{id}",
|
|
23245
|
+
"title": "Detalhe de um Hook de Integração",
|
|
23246
|
+
"description": "Detalhe de um hook (instância de integração — ex: a chave OpenAI da conta). ADMIN-ONLY.",
|
|
23247
|
+
"category": "Integracoes",
|
|
23248
|
+
"params": [
|
|
23249
|
+
{
|
|
23250
|
+
"name": "id",
|
|
23251
|
+
"type": "integer",
|
|
23252
|
+
"location": "path",
|
|
23253
|
+
"required": true,
|
|
23254
|
+
"description": "ID do hook"
|
|
23255
|
+
}
|
|
23256
|
+
],
|
|
23257
|
+
"returns": "{ id, app_id, status, settings, inbox_id }",
|
|
23258
|
+
"common_use_cases": [
|
|
23259
|
+
"Conferir config antes de atualizar"
|
|
23260
|
+
],
|
|
23261
|
+
"related_tools": []
|
|
23262
|
+
},
|
|
23263
|
+
{
|
|
23264
|
+
"id": "lionchat_integrations_hooks_create",
|
|
23265
|
+
"method": "POST",
|
|
23266
|
+
"path": "/api/v1/accounts/{account_id}/integrations/hooks",
|
|
23267
|
+
"title": "Criar Hook de Integração",
|
|
23268
|
+
"description": "Conecta um app (ex: OpenAI — valida a api_key na hora; chave inválida nem salva). ADMIN-ONLY. É mudança de config — confirme com o usuário.",
|
|
23269
|
+
"category": "Integracoes",
|
|
23270
|
+
"params": [
|
|
23271
|
+
{
|
|
23272
|
+
"name": "app_id",
|
|
23273
|
+
"type": "string",
|
|
23274
|
+
"location": "body",
|
|
23275
|
+
"required": true,
|
|
23276
|
+
"description": "ID do app (openai, slack, dialogflow, ...)"
|
|
23277
|
+
},
|
|
23278
|
+
{
|
|
23279
|
+
"name": "settings",
|
|
23280
|
+
"type": "object",
|
|
23281
|
+
"location": "body",
|
|
23282
|
+
"required": false,
|
|
23283
|
+
"description": "Config do app — OpenAI: { api_key, fallback_api_keys: [chaves reservas] }"
|
|
23284
|
+
},
|
|
23285
|
+
{
|
|
23286
|
+
"name": "inbox_id",
|
|
23287
|
+
"type": "integer",
|
|
23288
|
+
"location": "body",
|
|
23289
|
+
"required": false,
|
|
23290
|
+
"description": "Restringir a uma inbox"
|
|
23291
|
+
},
|
|
23292
|
+
{
|
|
23293
|
+
"name": "status",
|
|
23294
|
+
"type": "string",
|
|
23295
|
+
"location": "body",
|
|
23296
|
+
"required": false,
|
|
23297
|
+
"description": "enabled | disabled"
|
|
23298
|
+
}
|
|
23299
|
+
],
|
|
23300
|
+
"returns": "{ id, app_id, status } (201)",
|
|
23301
|
+
"common_use_cases": [
|
|
23302
|
+
"Configurar a chave OpenAI da conta"
|
|
23303
|
+
],
|
|
23304
|
+
"related_tools": [
|
|
23305
|
+
"lionchat_integrations_hooks_update"
|
|
23306
|
+
]
|
|
23307
|
+
},
|
|
23308
|
+
{
|
|
23309
|
+
"id": "lionchat_integrations_hooks_update",
|
|
23310
|
+
"method": "PATCH",
|
|
23311
|
+
"path": "/api/v1/accounts/{account_id}/integrations/hooks/{id}",
|
|
23312
|
+
"title": "Atualizar Hook de Integração",
|
|
23313
|
+
"description": "Atualiza settings/status do hook (chaves OpenAI revalidadas ao trocar). ADMIN-ONLY. Confirme com o usuário.",
|
|
23314
|
+
"category": "Integracoes",
|
|
23315
|
+
"params": [
|
|
23316
|
+
{
|
|
23317
|
+
"name": "id",
|
|
23318
|
+
"type": "integer",
|
|
23319
|
+
"location": "path",
|
|
23320
|
+
"required": true,
|
|
23321
|
+
"description": "ID do hook"
|
|
23322
|
+
},
|
|
23323
|
+
{
|
|
23324
|
+
"name": "settings",
|
|
23325
|
+
"type": "object",
|
|
23326
|
+
"location": "body",
|
|
23327
|
+
"required": false,
|
|
23328
|
+
"description": "Novas settings"
|
|
23329
|
+
},
|
|
23330
|
+
{
|
|
23331
|
+
"name": "status",
|
|
23332
|
+
"type": "string",
|
|
23333
|
+
"location": "body",
|
|
23334
|
+
"required": false,
|
|
23335
|
+
"description": "enabled | disabled"
|
|
23336
|
+
}
|
|
23337
|
+
],
|
|
23338
|
+
"returns": "{ id, ... }",
|
|
23339
|
+
"common_use_cases": [
|
|
23340
|
+
"Trocar chave OpenAI",
|
|
23341
|
+
"Adicionar chaves reservas (fallback)"
|
|
23342
|
+
],
|
|
23343
|
+
"related_tools": []
|
|
23344
|
+
},
|
|
23345
|
+
{
|
|
23346
|
+
"id": "lionchat_integrations_hooks_destroy",
|
|
23347
|
+
"method": "DELETE",
|
|
23348
|
+
"path": "/api/v1/accounts/{account_id}/integrations/hooks/{id}",
|
|
23349
|
+
"title": "Excluir Hook de Integração",
|
|
23350
|
+
"description": "Remove o hook (ex: desconecta OpenAI — a IA da conta PARA de responder). DESTRUTIVO — confirme antes. ADMIN-ONLY.",
|
|
23351
|
+
"category": "Integracoes",
|
|
23352
|
+
"params": [
|
|
23353
|
+
{
|
|
23354
|
+
"name": "id",
|
|
23355
|
+
"type": "integer",
|
|
23356
|
+
"location": "path",
|
|
23357
|
+
"required": true,
|
|
23358
|
+
"description": "ID do hook"
|
|
23359
|
+
}
|
|
23360
|
+
],
|
|
23361
|
+
"returns": "200 OK",
|
|
23362
|
+
"common_use_cases": [
|
|
23363
|
+
"Desconectar um app"
|
|
23364
|
+
],
|
|
23365
|
+
"related_tools": []
|
|
23366
|
+
},
|
|
23367
|
+
{
|
|
23368
|
+
"id": "lionchat_contacts_tracking_events_list",
|
|
23369
|
+
"method": "GET",
|
|
23370
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/tracking_events",
|
|
23371
|
+
"title": "Eventos de Navegação do Contato (LionTrack)",
|
|
23372
|
+
"description": "Linha do tempo de rastreamento do contato no site: pageviews e eventos (UTMs, dispositivo, duração). Base da Jornada do Lead. URLs vêm SEM querystring (LGPD).",
|
|
23373
|
+
"category": "LionTrack",
|
|
23374
|
+
"params": [
|
|
23375
|
+
{
|
|
23376
|
+
"name": "contact_id",
|
|
23377
|
+
"type": "integer",
|
|
23378
|
+
"location": "path",
|
|
23379
|
+
"required": true,
|
|
23380
|
+
"description": "ID do contato"
|
|
23381
|
+
},
|
|
23382
|
+
{
|
|
23383
|
+
"name": "only_pageviews",
|
|
23384
|
+
"type": "boolean",
|
|
23385
|
+
"location": "query",
|
|
23386
|
+
"required": false,
|
|
23387
|
+
"description": "true = só pageviews (trilha de navegação da Jornada do Lead)"
|
|
23388
|
+
},
|
|
23389
|
+
{
|
|
23390
|
+
"name": "page",
|
|
23391
|
+
"type": "integer",
|
|
23392
|
+
"location": "query",
|
|
23393
|
+
"required": false,
|
|
23394
|
+
"description": "Página"
|
|
23395
|
+
}
|
|
23396
|
+
],
|
|
23397
|
+
"returns": "{ events: [{ event_name, page_url, page_title, utm_source, utm_campaign, device, created_at }], meta }",
|
|
23398
|
+
"common_use_cases": [
|
|
23399
|
+
"Ver por onde o lead navegou antes de chamar",
|
|
23400
|
+
"Conferir origem (UTM) de um contato"
|
|
23401
|
+
],
|
|
23402
|
+
"related_tools": [
|
|
23403
|
+
"lionchat_journey_funnel_reports"
|
|
23404
|
+
]
|
|
23405
|
+
},
|
|
23406
|
+
{
|
|
23407
|
+
"id": "lionchat_wavoip_status",
|
|
23408
|
+
"method": "GET",
|
|
23409
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/wavoip/status",
|
|
23410
|
+
"title": "Status da Ligação WP (Wavoip)",
|
|
23411
|
+
"description": "Status do device Wavoip da caixa QR Code: conectado, vencimento, QR pra parear. Flag wavoip_calling.",
|
|
23412
|
+
"category": "Ligacao WP (Wavoip)",
|
|
23413
|
+
"params": [
|
|
23414
|
+
{
|
|
23415
|
+
"name": "inbox_id",
|
|
23416
|
+
"type": "integer",
|
|
23417
|
+
"location": "path",
|
|
23418
|
+
"required": true,
|
|
23419
|
+
"description": "ID da caixa de entrada (WhatsApp QR Code)"
|
|
23420
|
+
}
|
|
23421
|
+
],
|
|
23422
|
+
"returns": "{ status, due_date, qr_url, num_channels }",
|
|
23423
|
+
"common_use_cases": [
|
|
23424
|
+
"Diagnosticar ligação que não conecta"
|
|
23425
|
+
],
|
|
23426
|
+
"related_tools": [
|
|
23427
|
+
"lionchat_wavoip_connect"
|
|
23428
|
+
]
|
|
23429
|
+
},
|
|
23430
|
+
{
|
|
23431
|
+
"id": "lionchat_wavoip_calls",
|
|
23432
|
+
"method": "GET",
|
|
23433
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/wavoip/calls",
|
|
23434
|
+
"title": "Histórico de Ligações WP",
|
|
23435
|
+
"description": "Histórico de ligações de voz da caixa (Wavoip), com gravação e transcrição quando configuradas. Membro da caixa pode ver.",
|
|
23436
|
+
"category": "Ligacao WP (Wavoip)",
|
|
23437
|
+
"params": [
|
|
23438
|
+
{
|
|
23439
|
+
"name": "inbox_id",
|
|
23440
|
+
"type": "integer",
|
|
23441
|
+
"location": "path",
|
|
23442
|
+
"required": true,
|
|
23443
|
+
"description": "ID da caixa de entrada (WhatsApp QR Code)"
|
|
23444
|
+
},
|
|
23445
|
+
{
|
|
23446
|
+
"name": "status",
|
|
23447
|
+
"type": "string",
|
|
23448
|
+
"location": "query",
|
|
23449
|
+
"required": false,
|
|
23450
|
+
"description": "Filtro por status"
|
|
23451
|
+
},
|
|
23452
|
+
{
|
|
23453
|
+
"name": "agent_id",
|
|
23454
|
+
"type": "integer",
|
|
23455
|
+
"location": "query",
|
|
23456
|
+
"required": false,
|
|
23457
|
+
"description": "Por agente"
|
|
23458
|
+
},
|
|
23459
|
+
{
|
|
23460
|
+
"name": "date_from",
|
|
23461
|
+
"type": "string",
|
|
23462
|
+
"location": "query",
|
|
23463
|
+
"required": false,
|
|
23464
|
+
"description": "Início ISO 8601"
|
|
23465
|
+
},
|
|
23466
|
+
{
|
|
23467
|
+
"name": "date_to",
|
|
23468
|
+
"type": "string",
|
|
23469
|
+
"location": "query",
|
|
23470
|
+
"required": false,
|
|
23471
|
+
"description": "Fim ISO 8601"
|
|
23472
|
+
},
|
|
23473
|
+
{
|
|
23474
|
+
"name": "favorited",
|
|
23475
|
+
"type": "boolean",
|
|
23476
|
+
"location": "query",
|
|
23477
|
+
"required": false,
|
|
23478
|
+
"description": "Só favoritas"
|
|
23479
|
+
},
|
|
23480
|
+
{
|
|
23481
|
+
"name": "q",
|
|
23482
|
+
"type": "string",
|
|
23483
|
+
"location": "query",
|
|
23484
|
+
"required": false,
|
|
23485
|
+
"description": "Busca por nome/telefone"
|
|
23486
|
+
}
|
|
23487
|
+
],
|
|
23488
|
+
"returns": "{ calls: [...], meta }",
|
|
23489
|
+
"common_use_cases": [
|
|
23490
|
+
"Ver ligações do dia",
|
|
23491
|
+
"Achar gravação de uma ligação"
|
|
23492
|
+
],
|
|
23493
|
+
"related_tools": [
|
|
23494
|
+
"lionchat_wavoip_settings_update"
|
|
23495
|
+
]
|
|
23496
|
+
},
|
|
23497
|
+
{
|
|
23498
|
+
"id": "lionchat_wavoip_token",
|
|
23499
|
+
"method": "GET",
|
|
23500
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/wavoip/token",
|
|
23501
|
+
"title": "Token do Device Wavoip (agente)",
|
|
23502
|
+
"description": "Token do device pro agente discar/atender no widget. Membro da caixa.",
|
|
23503
|
+
"category": "Ligacao WP (Wavoip)",
|
|
23504
|
+
"params": [
|
|
23505
|
+
{
|
|
23506
|
+
"name": "inbox_id",
|
|
23507
|
+
"type": "integer",
|
|
23508
|
+
"location": "path",
|
|
23509
|
+
"required": true,
|
|
23510
|
+
"description": "ID da caixa de entrada (WhatsApp QR Code)"
|
|
23511
|
+
}
|
|
23512
|
+
],
|
|
23513
|
+
"returns": "{ token }",
|
|
23514
|
+
"common_use_cases": [
|
|
23515
|
+
"Destravar o discador de um agente"
|
|
23516
|
+
],
|
|
23517
|
+
"related_tools": []
|
|
23518
|
+
},
|
|
23519
|
+
{
|
|
23520
|
+
"id": "lionchat_wavoip_connect",
|
|
23521
|
+
"method": "POST",
|
|
23522
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/wavoip/connect",
|
|
23523
|
+
"title": "Conectar Ligação WP",
|
|
23524
|
+
"description": "Cria o device Wavoip da caixa (checa limite do plano wavoip_voice_inboxes; custo R$70/device/mês). ADMIN. Mudança de config — confirme com o usuário.",
|
|
23525
|
+
"category": "Ligacao WP (Wavoip)",
|
|
23526
|
+
"params": [
|
|
23527
|
+
{
|
|
23528
|
+
"name": "inbox_id",
|
|
23529
|
+
"type": "integer",
|
|
23530
|
+
"location": "path",
|
|
23531
|
+
"required": true,
|
|
23532
|
+
"description": "ID da caixa de entrada (WhatsApp QR Code)"
|
|
23533
|
+
}
|
|
23534
|
+
],
|
|
23535
|
+
"returns": "{ status, qr_url }",
|
|
23536
|
+
"common_use_cases": [
|
|
23537
|
+
"Ativar voz numa caixa QR Code"
|
|
23538
|
+
],
|
|
23539
|
+
"related_tools": [
|
|
23540
|
+
"lionchat_wavoip_status"
|
|
23541
|
+
]
|
|
23542
|
+
},
|
|
23543
|
+
{
|
|
23544
|
+
"id": "lionchat_wavoip_disconnect",
|
|
23545
|
+
"method": "POST",
|
|
23546
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/wavoip/disconnect",
|
|
23547
|
+
"title": "Desconectar Ligação WP",
|
|
23548
|
+
"description": "Deleta o device Wavoip (cancela a cobrança). ADMIN. DESTRUTIVO — confirme antes.",
|
|
23549
|
+
"category": "Ligacao WP (Wavoip)",
|
|
23550
|
+
"params": [
|
|
23551
|
+
{
|
|
23552
|
+
"name": "inbox_id",
|
|
23553
|
+
"type": "integer",
|
|
23554
|
+
"location": "path",
|
|
23555
|
+
"required": true,
|
|
23556
|
+
"description": "ID da caixa de entrada (WhatsApp QR Code)"
|
|
23557
|
+
}
|
|
23558
|
+
],
|
|
23559
|
+
"returns": "200 OK",
|
|
23560
|
+
"common_use_cases": [
|
|
23561
|
+
"Desativar voz e parar cobrança"
|
|
23562
|
+
],
|
|
23563
|
+
"related_tools": []
|
|
23564
|
+
},
|
|
23565
|
+
{
|
|
23566
|
+
"id": "lionchat_wavoip_settings_update",
|
|
23567
|
+
"method": "PUT",
|
|
23568
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/wavoip/settings",
|
|
23569
|
+
"title": "Configurar Gravação/Transcrição (Wavoip)",
|
|
23570
|
+
"description": "Define gravação e transcrição automática das ligações da caixa. ADMIN.",
|
|
23571
|
+
"category": "Ligacao WP (Wavoip)",
|
|
23572
|
+
"params": [
|
|
23573
|
+
{
|
|
23574
|
+
"name": "inbox_id",
|
|
23575
|
+
"type": "integer",
|
|
23576
|
+
"location": "path",
|
|
23577
|
+
"required": true,
|
|
23578
|
+
"description": "ID da caixa de entrada (WhatsApp QR Code)"
|
|
23579
|
+
},
|
|
23580
|
+
{
|
|
23581
|
+
"name": "record_all_calls",
|
|
23582
|
+
"type": "boolean",
|
|
23583
|
+
"location": "body",
|
|
23584
|
+
"required": false,
|
|
23585
|
+
"description": "Gravar todas as ligações"
|
|
23586
|
+
},
|
|
23587
|
+
{
|
|
23588
|
+
"name": "auto_transcribe",
|
|
23589
|
+
"type": "boolean",
|
|
23590
|
+
"location": "body",
|
|
23591
|
+
"required": false,
|
|
23592
|
+
"description": "Transcrever automaticamente com IA"
|
|
23593
|
+
},
|
|
23594
|
+
{
|
|
23595
|
+
"name": "transcription_provider",
|
|
23596
|
+
"type": "string",
|
|
23597
|
+
"location": "body",
|
|
23598
|
+
"required": false,
|
|
23599
|
+
"description": "groq | openai"
|
|
23600
|
+
}
|
|
23601
|
+
],
|
|
23602
|
+
"returns": "{ settings }",
|
|
23603
|
+
"common_use_cases": [
|
|
23604
|
+
"Ligar gravação + transcrição automática"
|
|
23605
|
+
],
|
|
23606
|
+
"related_tools": []
|
|
23607
|
+
},
|
|
23608
|
+
{
|
|
23609
|
+
"id": "lionchat_contacts_documents_list",
|
|
23610
|
+
"method": "GET",
|
|
23611
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents",
|
|
23612
|
+
"title": "Documentos do Contato",
|
|
23613
|
+
"description": "Central de arquivos do contato: uploads diretos + espelho dos anexos dos cards Kanban + das conversas (só imagem/documento). Dedup por arquivo.",
|
|
23614
|
+
"category": "Documentos do Contato",
|
|
23615
|
+
"params": [
|
|
23616
|
+
{
|
|
23617
|
+
"name": "contact_id",
|
|
23618
|
+
"type": "integer",
|
|
23619
|
+
"location": "path",
|
|
23620
|
+
"required": true,
|
|
23621
|
+
"description": "ID do contato"
|
|
23622
|
+
}
|
|
23623
|
+
],
|
|
23624
|
+
"returns": "{ documents: [{ id, name, source (upload|kanban|conversation), favorited, url, created_at }] }",
|
|
23625
|
+
"common_use_cases": [
|
|
23626
|
+
"Ver todos os arquivos de um cliente num lugar só"
|
|
23627
|
+
],
|
|
23628
|
+
"related_tools": [
|
|
23629
|
+
"lionchat_contacts_documents_create"
|
|
23630
|
+
]
|
|
23631
|
+
},
|
|
23632
|
+
{
|
|
23633
|
+
"id": "lionchat_contacts_documents_create",
|
|
23634
|
+
"method": "POST",
|
|
23635
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents",
|
|
23636
|
+
"title": "Adicionar Documento ao Contato",
|
|
23637
|
+
"description": "Upload direto de arquivo pro contato (via MCP: use lionchat_upload_create antes e passe a URL/signed_id, se suportado — upload multipart direto não é suportado).",
|
|
23638
|
+
"category": "Documentos do Contato",
|
|
23639
|
+
"params": [
|
|
23640
|
+
{
|
|
23641
|
+
"name": "contact_id",
|
|
23642
|
+
"type": "integer",
|
|
23643
|
+
"location": "path",
|
|
23644
|
+
"required": true,
|
|
23645
|
+
"description": "ID do contato"
|
|
23646
|
+
},
|
|
23647
|
+
{
|
|
23648
|
+
"name": "file",
|
|
23649
|
+
"type": "string",
|
|
23650
|
+
"location": "body",
|
|
23651
|
+
"required": false,
|
|
23652
|
+
"description": "Arquivo (signed_id do upload ou URL)"
|
|
23653
|
+
},
|
|
23654
|
+
{
|
|
23655
|
+
"name": "name",
|
|
23656
|
+
"type": "string",
|
|
23657
|
+
"location": "body",
|
|
23658
|
+
"required": false,
|
|
23659
|
+
"description": "Nome de exibição"
|
|
23660
|
+
}
|
|
23661
|
+
],
|
|
23662
|
+
"returns": "{ document } (201)",
|
|
23663
|
+
"common_use_cases": [
|
|
23664
|
+
"Guardar contrato/documento do cliente"
|
|
23665
|
+
],
|
|
23666
|
+
"related_tools": [
|
|
23667
|
+
"lionchat_upload_create"
|
|
23668
|
+
]
|
|
23669
|
+
},
|
|
23670
|
+
{
|
|
23671
|
+
"id": "lionchat_contacts_documents_update",
|
|
23672
|
+
"method": "PATCH",
|
|
23673
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents/{id}",
|
|
23674
|
+
"title": "Renomear/Favoritar Documento",
|
|
23675
|
+
"description": "Renomeia ou favorita um documento direto do contato.",
|
|
23676
|
+
"category": "Documentos do Contato",
|
|
23677
|
+
"params": [
|
|
23678
|
+
{
|
|
23679
|
+
"name": "contact_id",
|
|
23680
|
+
"type": "integer",
|
|
23681
|
+
"location": "path",
|
|
23682
|
+
"required": true,
|
|
23683
|
+
"description": "ID do contato"
|
|
23684
|
+
},
|
|
23685
|
+
{
|
|
23686
|
+
"name": "id",
|
|
23687
|
+
"type": "integer",
|
|
23688
|
+
"location": "path",
|
|
23689
|
+
"required": true,
|
|
23690
|
+
"description": "ID do documento"
|
|
23691
|
+
},
|
|
23692
|
+
{
|
|
23693
|
+
"name": "name",
|
|
23694
|
+
"type": "string",
|
|
23695
|
+
"location": "body",
|
|
23696
|
+
"required": false,
|
|
23697
|
+
"description": "Novo nome"
|
|
23698
|
+
},
|
|
23699
|
+
{
|
|
23700
|
+
"name": "favorited",
|
|
23701
|
+
"type": "boolean",
|
|
23702
|
+
"location": "body",
|
|
23703
|
+
"required": false,
|
|
23704
|
+
"description": "Favoritar"
|
|
23705
|
+
}
|
|
23706
|
+
],
|
|
23707
|
+
"returns": "{ document }",
|
|
23708
|
+
"common_use_cases": [
|
|
23709
|
+
"Organizar arquivos do cliente"
|
|
23710
|
+
],
|
|
23711
|
+
"related_tools": []
|
|
23712
|
+
},
|
|
23713
|
+
{
|
|
23714
|
+
"id": "lionchat_contacts_documents_destroy",
|
|
23715
|
+
"method": "DELETE",
|
|
23716
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents/{id}",
|
|
23717
|
+
"title": "Excluir Documento do Contato",
|
|
23718
|
+
"description": "Exclui documento de upload direto. DESTRUTIVO — confirme antes. (Anexos de conversa são só-leitura.)",
|
|
23719
|
+
"category": "Documentos do Contato",
|
|
23720
|
+
"params": [
|
|
23721
|
+
{
|
|
23722
|
+
"name": "contact_id",
|
|
23723
|
+
"type": "integer",
|
|
23724
|
+
"location": "path",
|
|
23725
|
+
"required": true,
|
|
23726
|
+
"description": "ID do contato"
|
|
23727
|
+
},
|
|
23728
|
+
{
|
|
23729
|
+
"name": "id",
|
|
23730
|
+
"type": "integer",
|
|
23731
|
+
"location": "path",
|
|
23732
|
+
"required": true,
|
|
23733
|
+
"description": "ID do documento"
|
|
23734
|
+
}
|
|
23735
|
+
],
|
|
23736
|
+
"returns": "200 OK",
|
|
23737
|
+
"common_use_cases": [
|
|
23738
|
+
"Remover arquivo errado"
|
|
23739
|
+
],
|
|
23740
|
+
"related_tools": []
|
|
23741
|
+
},
|
|
23742
|
+
{
|
|
23743
|
+
"id": "lionchat_contacts_documents_mirror",
|
|
23744
|
+
"method": "POST",
|
|
23745
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents/mirror",
|
|
23746
|
+
"title": "Ajustar Documento Espelhado",
|
|
23747
|
+
"description": "Define nome/favorito de um anexo espelhado (de card Kanban/conversa) sem alterar o original.",
|
|
23748
|
+
"category": "Documentos do Contato",
|
|
23749
|
+
"params": [
|
|
23750
|
+
{
|
|
23751
|
+
"name": "contact_id",
|
|
23752
|
+
"type": "integer",
|
|
23753
|
+
"location": "path",
|
|
23754
|
+
"required": true,
|
|
23755
|
+
"description": "ID do contato"
|
|
23756
|
+
},
|
|
23757
|
+
{
|
|
23758
|
+
"name": "attachment_id",
|
|
23759
|
+
"type": "integer",
|
|
23760
|
+
"location": "body",
|
|
23761
|
+
"required": true,
|
|
23762
|
+
"description": "ID do anexo espelhado"
|
|
23763
|
+
},
|
|
23764
|
+
{
|
|
23765
|
+
"name": "name",
|
|
23766
|
+
"type": "string",
|
|
23767
|
+
"location": "body",
|
|
23768
|
+
"required": false,
|
|
23769
|
+
"description": "Nome de exibição"
|
|
23770
|
+
},
|
|
23771
|
+
{
|
|
23772
|
+
"name": "favorited",
|
|
23773
|
+
"type": "boolean",
|
|
23774
|
+
"location": "body",
|
|
23775
|
+
"required": false,
|
|
23776
|
+
"description": "Favoritar"
|
|
23777
|
+
}
|
|
23778
|
+
],
|
|
23779
|
+
"returns": "{ document }",
|
|
23780
|
+
"common_use_cases": [
|
|
23781
|
+
"Renomear arquivo vindo do card"
|
|
23782
|
+
],
|
|
23783
|
+
"related_tools": []
|
|
23784
|
+
},
|
|
23785
|
+
{
|
|
23786
|
+
"id": "lionchat_contacts_documents_destroy_mirror",
|
|
23787
|
+
"method": "DELETE",
|
|
23788
|
+
"path": "/api/v1/accounts/{account_id}/contacts/{contact_id}/documents/mirror/{attachment_id}",
|
|
23789
|
+
"title": "Excluir Anexo Espelhado (card)",
|
|
23790
|
+
"description": "Exclui o anexo do CARD Kanban espelhado na aba Documentos (anexos de conversa não podem). DESTRUTIVO — confirme antes.",
|
|
23791
|
+
"category": "Documentos do Contato",
|
|
23792
|
+
"params": [
|
|
23793
|
+
{
|
|
23794
|
+
"name": "contact_id",
|
|
23795
|
+
"type": "integer",
|
|
23796
|
+
"location": "path",
|
|
23797
|
+
"required": true,
|
|
23798
|
+
"description": "ID do contato"
|
|
23799
|
+
},
|
|
23800
|
+
{
|
|
23801
|
+
"name": "attachment_id",
|
|
23802
|
+
"type": "integer",
|
|
23803
|
+
"location": "path",
|
|
23804
|
+
"required": true,
|
|
23805
|
+
"description": "ID do anexo do card"
|
|
23806
|
+
}
|
|
23807
|
+
],
|
|
23808
|
+
"returns": "200 OK",
|
|
23809
|
+
"common_use_cases": [
|
|
23810
|
+
"Limpar arquivo do card"
|
|
23811
|
+
],
|
|
23812
|
+
"related_tools": []
|
|
23813
|
+
},
|
|
23814
|
+
{
|
|
23815
|
+
"id": "lionchat_inboxes_update",
|
|
23816
|
+
"method": "PATCH",
|
|
23817
|
+
"path": "/api/v1/accounts/{account_id}/inboxes/{id}",
|
|
23818
|
+
"title": "Atualizar Caixa de Entrada",
|
|
23819
|
+
"description": "Atualiza configurações da caixa (nome, saudação, atribuição automática, atributos extras). MUDANÇA DE CONFIG — confirme com o usuário antes. additional_attributes.mark_as_seen (bool, default true, SÓ WhatsApp oficial, 2026-06-11): envia o visto/check azul quando o agente abre a conversa — desligar em coexistência app+API. ATENÇÃO: enviar additional_attributes substitui o objeto; para WAHA prefira não mexer nesse campo (config sensível).",
|
|
23820
|
+
"category": "Caixas de Entrada",
|
|
23821
|
+
"params": [
|
|
23822
|
+
{
|
|
23823
|
+
"name": "id",
|
|
23824
|
+
"type": "integer",
|
|
23825
|
+
"location": "path",
|
|
23826
|
+
"required": true,
|
|
23827
|
+
"description": "ID da caixa"
|
|
23828
|
+
},
|
|
23829
|
+
{
|
|
23830
|
+
"name": "name",
|
|
23831
|
+
"type": "string",
|
|
23832
|
+
"location": "body",
|
|
23833
|
+
"required": false,
|
|
23834
|
+
"description": "Novo nome"
|
|
23835
|
+
},
|
|
23836
|
+
{
|
|
23837
|
+
"name": "greeting_enabled",
|
|
23838
|
+
"type": "boolean",
|
|
23839
|
+
"location": "body",
|
|
23840
|
+
"required": false,
|
|
23841
|
+
"description": "Saudação automática ligada"
|
|
23842
|
+
},
|
|
23843
|
+
{
|
|
23844
|
+
"name": "greeting_message",
|
|
23845
|
+
"type": "string",
|
|
23846
|
+
"location": "body",
|
|
23847
|
+
"required": false,
|
|
23848
|
+
"description": "Texto da saudação"
|
|
23849
|
+
},
|
|
23850
|
+
{
|
|
23851
|
+
"name": "enable_auto_assignment",
|
|
23852
|
+
"type": "boolean",
|
|
23853
|
+
"location": "body",
|
|
23854
|
+
"required": false,
|
|
23855
|
+
"description": "Atribuição automática"
|
|
23856
|
+
},
|
|
23857
|
+
{
|
|
23858
|
+
"name": "additional_attributes",
|
|
23859
|
+
"type": "object",
|
|
23860
|
+
"location": "body",
|
|
23861
|
+
"required": false,
|
|
23862
|
+
"description": "Atributos extras (ex: { mark_as_seen: false } no WhatsApp oficial)"
|
|
23863
|
+
}
|
|
23864
|
+
],
|
|
23865
|
+
"returns": "{ inbox }",
|
|
23866
|
+
"common_use_cases": [
|
|
23867
|
+
"Desligar o visto numa caixa em coexistência",
|
|
23868
|
+
"Trocar saudação da caixa"
|
|
23869
|
+
],
|
|
23870
|
+
"related_tools": [
|
|
23871
|
+
"lionchat_inboxes_show"
|
|
23872
|
+
]
|
|
19754
23873
|
}
|
|
19755
23874
|
]
|