@lionchat/mcp-server 0.1.0 → 0.1.3
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/README.md +144 -16
- package/dist/tools.js +133 -1
- package/dist/tools.js.map +1 -1
- package/endpoints.json +49 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -154,35 +154,163 @@ npx @lionchat/mcp-server --categories=contacts,conversations,kanban_items
|
|
|
154
154
|
|
|
155
155
|
---
|
|
156
156
|
|
|
157
|
-
##
|
|
157
|
+
## O que o MCP pode fazer por voce
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
O MCP transforma o LionChat em uma plataforma controlavel por IA. Em vez de clicar em menus e preencher formularios, voce fala o que precisa e o agente faz.
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
### Gestao de Contatos e CRM
|
|
162
162
|
|
|
163
163
|
```
|
|
164
|
-
"
|
|
165
|
-
→ lionchat_contacts_list
|
|
164
|
+
"Importa esses 50 leads que recebi hoje e adiciona a label 'Evento Marco 2026' em todos"
|
|
166
165
|
|
|
167
|
-
"
|
|
168
|
-
→ lionchat_funnels_create
|
|
166
|
+
"Busca todos os contatos que tem 'advogado' no campo profissao e cria um segmento"
|
|
169
167
|
|
|
170
|
-
"
|
|
171
|
-
→ lionchat_kanban_items_move_to_stage
|
|
168
|
+
"Mescla o contato duplicado do Joao — o ID 45 e o ID 128 sao a mesma pessoa"
|
|
172
169
|
|
|
173
|
-
"
|
|
174
|
-
|
|
170
|
+
"Quais contatos novos entraram essa semana? Me da um resumo por canal de origem"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Kanban e Funil de Vendas
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
"Cria um funil chamado 'Lancamento Produto X' com as etapas:
|
|
177
|
+
Interesse, Qualificacao, Proposta Enviada, Negociacao, Fechado Ganho, Perdido"
|
|
178
|
+
|
|
179
|
+
"Pega todos os cards que estao na etapa 'Qualificacao' ha mais de 7 dias e move pra 'Perdido'"
|
|
180
|
+
|
|
181
|
+
"Cria um card no funil de Vendas pra cada contato que tem a label 'Lead Quente'"
|
|
182
|
+
|
|
183
|
+
"Qual o valor total dos cards na etapa 'Proposta Enviada'? E quantos tem?"
|
|
184
|
+
|
|
185
|
+
"Atribui o agente Maria a todos os cards do funil 'Suporte Tecnico'"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Conversas e Atendimento
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
"Quantas conversas abertas eu tenho agora? Separa por time"
|
|
192
|
+
|
|
193
|
+
"Pega as 10 conversas mais antigas sem resposta e atribui ao time de Suporte"
|
|
194
|
+
|
|
195
|
+
"Envia 'Ola! Como posso ajudar?' na conversa 234"
|
|
196
|
+
|
|
197
|
+
"Fecha todas as conversas resolvidas que estao paradas ha mais de 48 horas"
|
|
198
|
+
|
|
199
|
+
"Agenda uma mensagem pra amanha as 9h na conversa 56: 'Bom dia! Tudo bem com o orcamento?'"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Automacoes e Regras
|
|
175
203
|
|
|
176
|
-
|
|
177
|
-
|
|
204
|
+
```
|
|
205
|
+
"Cria uma automacao: quando uma conversa receber a label 'Urgente',
|
|
206
|
+
atribuir ao time Premium e enviar notificacao"
|
|
207
|
+
|
|
208
|
+
"Lista todas as minhas regras de automacao ativas"
|
|
209
|
+
|
|
210
|
+
"Duplica a automacao 'Boas-vindas VIP' e muda o time de destino pra 'Vendas B2B'"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Agenda e Tarefas
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
"Cria uma tarefa pra ligar pro Joao amanha as 14h"
|
|
217
|
+
|
|
218
|
+
"Quais tarefas estao pendentes pra hoje?"
|
|
219
|
+
|
|
220
|
+
"Cancela todas as tarefas de follow-up da semana passada que nao foram feitas"
|
|
178
221
|
|
|
179
|
-
"
|
|
180
|
-
|
|
222
|
+
"Agenda uma reuniao com o contato 45 pra quinta-feira as 10h"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Mensagens e Templates WhatsApp
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
"Lista os templates WhatsApp aprovados"
|
|
229
|
+
|
|
230
|
+
"Agenda o envio do template 'Lembrete Pagamento' pra todos os contatos com label 'Inadimplente'"
|
|
181
231
|
|
|
232
|
+
"Envia uma imagem do produto novo na conversa 89 com a legenda 'Confira nossa novidade!'"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Relatorios e Metricas
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
"Qual foi o tempo medio de primeira resposta essa semana?"
|
|
239
|
+
|
|
240
|
+
"Me da o relatorio de desempenho dos agentes do mes passado"
|
|
241
|
+
|
|
242
|
+
"Quantas conversas cada inbox recebeu nos ultimos 30 dias?"
|
|
243
|
+
|
|
244
|
+
"Qual a nota media do CSAT esse mes? Compara com o mes anterior"
|
|
245
|
+
|
|
246
|
+
"Quais agentes estao online agora e quantas conversas cada um tem?"
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Grupos WhatsApp
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
"Lista todos os grupos WhatsApp da inbox 5"
|
|
253
|
+
|
|
254
|
+
"Adiciona o numero 5511999887766 no grupo 'Clientes Premium'"
|
|
255
|
+
|
|
256
|
+
"Qual o link de convite do grupo 'Suporte Tecnico'?"
|
|
257
|
+
|
|
258
|
+
"Remove o participante 5511888776655 do grupo 'Equipe Interna'"
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### IA e Assistentes
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
"Lista meus assistentes de IA configurados"
|
|
265
|
+
|
|
266
|
+
"Pede pro assistente 'Vendas' sugerir uma resposta pra conversa 123"
|
|
267
|
+
|
|
268
|
+
"Resume a conversa 456 em 3 pontos principais"
|
|
269
|
+
|
|
270
|
+
"Adiciona a URL https://empresa.com/faq na base de conhecimento do assistente"
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### VoIP e Ligacoes
|
|
274
|
+
|
|
275
|
+
```
|
|
182
276
|
"Qual o saldo do meu VoIP?"
|
|
183
|
-
|
|
277
|
+
|
|
278
|
+
"Lista as ultimas 20 ligacoes recebidas"
|
|
279
|
+
|
|
280
|
+
"Transcreve a ligacao 78 e me da o resumo"
|
|
281
|
+
|
|
282
|
+
"Analisa a ligacao 92 — o cliente ficou satisfeito?"
|
|
184
283
|
```
|
|
185
284
|
|
|
285
|
+
### Operacoes em Massa
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
"Pega todos os contatos com label 'Inativo' e remove a label"
|
|
289
|
+
|
|
290
|
+
"Move todos os cards do agente Pedro pro agente Ana (ele saiu de ferias)"
|
|
291
|
+
|
|
292
|
+
"Adiciona a label 'Black Friday' em todos os contatos que compraram em novembro"
|
|
293
|
+
|
|
294
|
+
"Exporta todos os cards do funil 'Vendas Q1' pra eu analisar"
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
### Exemplos rapidos (comando e ferramenta usada)
|
|
300
|
+
|
|
301
|
+
| Voce diz | Ferramenta chamada |
|
|
302
|
+
|----------|-------------------|
|
|
303
|
+
| "Liste meus contatos" | `lionchat_contacts_list` |
|
|
304
|
+
| "Crie um funil com 4 etapas" | `lionchat_funnels_create` |
|
|
305
|
+
| "Mova o card 42 pra Proposta" | `lionchat_kanban_items_move_to_stage` |
|
|
306
|
+
| "Envie mensagem na conversa 15" | `lionchat_conversations_messages_create` |
|
|
307
|
+
| "Conversas abertas por time" | `lionchat_conversations_list` |
|
|
308
|
+
| "Crie regra de automacao" | `lionchat_automation_rules_create` |
|
|
309
|
+
| "Saldo do VoIP" | `lionchat_voip_calls_balance` |
|
|
310
|
+
| "Templates WhatsApp" | `lionchat_whatsapp_templates_list` |
|
|
311
|
+
| "Relatorio de agentes" | `lionchat_reports_agents` |
|
|
312
|
+
| "Grupos do WhatsApp" | `lionchat_waha_groups_list` |
|
|
313
|
+
|
|
186
314
|
### No n8n
|
|
187
315
|
|
|
188
316
|
O n8n suporta MCP de duas formas:
|
package/dist/tools.js
CHANGED
|
@@ -244,6 +244,137 @@ function registerListCategoriesTool(server, allEndpoints) {
|
|
|
244
244
|
};
|
|
245
245
|
});
|
|
246
246
|
}
|
|
247
|
+
// AIDEV-NOTE: Meta tool — returns full Flow Builder schema reference (no API call).
|
|
248
|
+
// Helps LLMs build correct flow_data without hitting trial-and-error on
|
|
249
|
+
// node types, action keys, source handles, etc.
|
|
250
|
+
function registerFlowsSchemaReferenceTool(server) {
|
|
251
|
+
const reference = `LIONCHAT FLOW BUILDER — SCHEMA REFERENCE
|
|
252
|
+
|
|
253
|
+
flow_data tem o formato Vue Flow: { nodes: [...], edges: [...] }.
|
|
254
|
+
|
|
255
|
+
═══ NODE GERAL ═══
|
|
256
|
+
{ "id": "string-unico", "type": "start|send_message|wait_response|condition|action|api|set_variable|wait|randomizer|update_group|ai|end", "position": {"x":0,"y":0}, "data": { ... } }
|
|
257
|
+
|
|
258
|
+
═══ NODE TYPES + source handles ═══
|
|
259
|
+
|
|
260
|
+
▸ start
|
|
261
|
+
data: { label }
|
|
262
|
+
(sem handles — start tem so output default pro proximo node)
|
|
263
|
+
|
|
264
|
+
▸ send_message
|
|
265
|
+
data: { label, messageItems: [
|
|
266
|
+
{ id, type:"text", content },
|
|
267
|
+
{ id, type:"image", url, caption },
|
|
268
|
+
{ id, type:"template", template_name, ... }
|
|
269
|
+
]}
|
|
270
|
+
Handles: "success", "no_response" (se timeout), "error", "window_closed" (WhatsApp API Official).
|
|
271
|
+
Se messageItem text com buttons_enabled=true: gera "button_{value}" por botao.
|
|
272
|
+
|
|
273
|
+
▸ wait_response
|
|
274
|
+
data: {
|
|
275
|
+
label, waitTime, waitUnit: "minutes"|"seconds",
|
|
276
|
+
validation: "any"|"options"|"regex",
|
|
277
|
+
acceptedOptions: ["1","2"], // se validation='options'
|
|
278
|
+
regexPattern, // se validation='regex'
|
|
279
|
+
invalidMessage, maxRetries,
|
|
280
|
+
saveTo: "variable"|"attribute"|"",
|
|
281
|
+
saveVariable, saveAttrKey
|
|
282
|
+
}
|
|
283
|
+
Handles validation='options': "option_{val}" por opcao + "timeout"
|
|
284
|
+
Handles outros: "success" + "timeout"
|
|
285
|
+
IMPORTANTE: validation='options' ja roteia por opcao — NAO precisa condition depois.
|
|
286
|
+
|
|
287
|
+
▸ condition
|
|
288
|
+
data: { label, conditions: [
|
|
289
|
+
{ id, label, field, operator, value, valueType }
|
|
290
|
+
]}
|
|
291
|
+
Handles: id de cada condicao + "default" (fallback).
|
|
292
|
+
|
|
293
|
+
▸ action
|
|
294
|
+
data: { label, items: [
|
|
295
|
+
{ key, config: {...} }
|
|
296
|
+
]}
|
|
297
|
+
ATENCAO: items[].config NAO items[].params.
|
|
298
|
+
Keys validas:
|
|
299
|
+
Conversa: assign_agent({agent_id}), assign_team({team_id}),
|
|
300
|
+
change_status({status,snooze_option}), change_priority({priority}),
|
|
301
|
+
mute_conversation({}), add_private_note({content}),
|
|
302
|
+
send_email_transcript({email}), deactivate_flow({}),
|
|
303
|
+
assign_captain({assistant_id}), deactivate_captain({})
|
|
304
|
+
Contato: add_label({labels:[...]}), remove_label({labels:[...]}),
|
|
305
|
+
update_attribute({attr_source,attr_key,attr_value})
|
|
306
|
+
Kanban: create_kanban_item({funnel_id,funnel_stage,...}),
|
|
307
|
+
move_kanban_stage({funnel_id,funnel_stage}),
|
|
308
|
+
set_won({funnel_id}), set_lost({funnel_id,lost_reason}),
|
|
309
|
+
assign_agent_card({funnel_id,agent_id}),
|
|
310
|
+
add_card_note({funnel_id,text})
|
|
311
|
+
Handles: "success", "error"
|
|
312
|
+
|
|
313
|
+
▸ api
|
|
314
|
+
data: { label, method, url, headers:[{key,value}], body, apiResponseVar }
|
|
315
|
+
Handles: "success", "error"
|
|
316
|
+
|
|
317
|
+
▸ set_variable
|
|
318
|
+
data: { label, variables: [{name,value}] }
|
|
319
|
+
|
|
320
|
+
▸ wait
|
|
321
|
+
data: { label, waitTime, waitUnit }
|
|
322
|
+
|
|
323
|
+
▸ randomizer
|
|
324
|
+
data: { label, branches:[{id,percent}] }
|
|
325
|
+
Handles: id de cada branch.
|
|
326
|
+
|
|
327
|
+
═══ EDGES ═══
|
|
328
|
+
[{ "id", "source", "target", "sourceHandle", "type":"deletable", "animated":true }]
|
|
329
|
+
sourceHandle OBRIGATORIO casar com handle exposto pelo node source.
|
|
330
|
+
|
|
331
|
+
═══ ERROS COMUNS ═══
|
|
332
|
+
1. action items[].config (nao params)
|
|
333
|
+
2. send_message messageItems (nao items)
|
|
334
|
+
3. wait_response validation='options' roteia por handle 'option_X' — NAO use condition depois
|
|
335
|
+
4. sourceHandle precisa ser o handle REAL do node source ('success', 'option_1', 'timeout', 'no_response', 'c1' do condition, etc)
|
|
336
|
+
5. inbox_ids no MCP vai no nivel raiz; no PUT bruto vai em {flow:{inbox_ids:[]}}
|
|
337
|
+
6. send_message com buttons gera 'button_{value}' (value do botao, nao titulo)
|
|
338
|
+
7. condition.field aceita liquid: '{{conversation.team_id}}', '{{contact.attributes.cpf}}', '{{var_nome}}'
|
|
339
|
+
|
|
340
|
+
═══ EXEMPLO MINIMO — Menu 3 opcoes ═══
|
|
341
|
+
{
|
|
342
|
+
"nodes": [
|
|
343
|
+
{"id":"s1","type":"start","position":{"x":50,"y":200},"data":{"label":"Inicio"}},
|
|
344
|
+
{"id":"m1","type":"send_message","position":{"x":300,"y":200},"data":{
|
|
345
|
+
"label":"Menu",
|
|
346
|
+
"messageItems":[{"id":"t1","type":"text","content":"Digite:\\n1 - Vendas\\n2 - Suporte\\n3 - Financeiro"}]
|
|
347
|
+
}},
|
|
348
|
+
{"id":"w1","type":"wait_response","position":{"x":600,"y":200},"data":{
|
|
349
|
+
"label":"Aguarda","waitTime":60,"waitUnit":"minutes",
|
|
350
|
+
"validation":"options","acceptedOptions":["1","2","3"],
|
|
351
|
+
"invalidMessage":"Digite 1, 2 ou 3.","maxRetries":3,
|
|
352
|
+
"saveTo":"variable","saveVariable":"menu"
|
|
353
|
+
}},
|
|
354
|
+
{"id":"a1","type":"action","position":{"x":900,"y":50},"data":{
|
|
355
|
+
"label":"Vendas","items":[{"key":"assign_team","config":{"team_id":24}}]
|
|
356
|
+
}},
|
|
357
|
+
{"id":"a2","type":"action","position":{"x":900,"y":200},"data":{
|
|
358
|
+
"label":"Suporte","items":[{"key":"assign_team","config":{"team_id":23}}]
|
|
359
|
+
}},
|
|
360
|
+
{"id":"a3","type":"action","position":{"x":900,"y":350},"data":{
|
|
361
|
+
"label":"Financeiro","items":[{"key":"assign_team","config":{"team_id":25}}]
|
|
362
|
+
}}
|
|
363
|
+
],
|
|
364
|
+
"edges":[
|
|
365
|
+
{"id":"e1","source":"s1","target":"m1","type":"deletable","animated":true},
|
|
366
|
+
{"id":"e2","source":"m1","target":"w1","type":"deletable","animated":true},
|
|
367
|
+
{"id":"e3","source":"w1","sourceHandle":"option_1","target":"a1","type":"deletable","animated":true},
|
|
368
|
+
{"id":"e4","source":"w1","sourceHandle":"option_2","target":"a2","type":"deletable","animated":true},
|
|
369
|
+
{"id":"e5","source":"w1","sourceHandle":"option_3","target":"a3","type":"deletable","animated":true}
|
|
370
|
+
]
|
|
371
|
+
}`;
|
|
372
|
+
server.tool('lionchat_flows_schema_reference', 'Returns the full Flow Builder schema reference: node types, action keys, source handles, edge format, common pitfalls and a minimal working example. CALL THIS BEFORE building or editing a flow_data via lionchat_flows_create or lionchat_flows_update.', {}, { readOnlyHint: true, destructiveHint: false, idempotentHint: true }, async () => {
|
|
373
|
+
return {
|
|
374
|
+
content: [{ type: 'text', text: reference }],
|
|
375
|
+
};
|
|
376
|
+
});
|
|
377
|
+
}
|
|
247
378
|
// AIDEV-NOTE: Main entry point — reads endpoints.json, filters, and registers all tools + meta tools
|
|
248
379
|
export function registerTools(server, config, client) {
|
|
249
380
|
// AIDEV-NOTE: Resolve endpoints.json relative to compiled dist/ directory (one level up)
|
|
@@ -275,6 +406,7 @@ export function registerTools(server, config, client) {
|
|
|
275
406
|
// AIDEV-NOTE: Always register meta tools regardless of category filters
|
|
276
407
|
registerPingTool(server, config, client);
|
|
277
408
|
registerListCategoriesTool(server, endpoints);
|
|
278
|
-
|
|
409
|
+
registerFlowsSchemaReferenceTool(server);
|
|
410
|
+
return filtered.length + 3; // +3 for ping, list_categories, flows_schema_reference
|
|
279
411
|
}
|
|
280
412
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/endpoints.json
CHANGED
|
@@ -5459,7 +5459,7 @@
|
|
|
5459
5459
|
"method": "POST",
|
|
5460
5460
|
"path": "/api/v1/accounts/{account_id}/flows",
|
|
5461
5461
|
"title": "Criar Flow",
|
|
5462
|
-
"description": "Cria um flow (FlowBuilder) na conta.
|
|
5462
|
+
"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'|'attribute'|'', 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 = id de cada condicao + '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.",
|
|
5463
5463
|
"category": "Flows",
|
|
5464
5464
|
"params": [
|
|
5465
5465
|
{
|
|
@@ -5481,21 +5481,21 @@
|
|
|
5481
5481
|
"type": "string",
|
|
5482
5482
|
"location": "body",
|
|
5483
5483
|
"required": true,
|
|
5484
|
-
"description": "Tipo de canal (ex: Channel::Waha)"
|
|
5484
|
+
"description": "Tipo de canal (ex: Channel::Waha, Channel::WebWidget, Channel::Whatsapp)"
|
|
5485
5485
|
},
|
|
5486
5486
|
{
|
|
5487
5487
|
"name": "inbox_ids",
|
|
5488
5488
|
"type": "array",
|
|
5489
5489
|
"location": "body",
|
|
5490
5490
|
"required": false,
|
|
5491
|
-
"description": "IDs das caixas de entrada"
|
|
5491
|
+
"description": "IDs das caixas de entrada a vincular"
|
|
5492
5492
|
},
|
|
5493
5493
|
{
|
|
5494
5494
|
"name": "flow_data",
|
|
5495
5495
|
"type": "object",
|
|
5496
5496
|
"location": "body",
|
|
5497
5497
|
"required": false,
|
|
5498
|
-
"description": "
|
|
5498
|
+
"description": "Estrutura {nodes:[], edges:[]} em formato Vue Flow. CONSULTE A DESCRICAO DO TOOL para schema completo dos nodes (start, send_message, wait_response, condition, action, api, set_variable, wait). Cada node tem campo 'data' com formato especifico por tipo. Edges precisam ter sourceHandle correto (ex: 'option_1', 'success', 'timeout', 'no_response')."
|
|
5499
5499
|
}
|
|
5500
5500
|
]
|
|
5501
5501
|
},
|
|
@@ -5521,7 +5521,7 @@
|
|
|
5521
5521
|
"method": "PUT",
|
|
5522
5522
|
"path": "/api/v1/accounts/{account_id}/flows/{id}",
|
|
5523
5523
|
"title": "Atualizar Flow",
|
|
5524
|
-
"description": "Atualiza nome,
|
|
5524
|
+
"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.",
|
|
5525
5525
|
"category": "Flows",
|
|
5526
5526
|
"params": [
|
|
5527
5527
|
{
|
|
@@ -5550,14 +5550,14 @@
|
|
|
5550
5550
|
"type": "array",
|
|
5551
5551
|
"location": "body",
|
|
5552
5552
|
"required": false,
|
|
5553
|
-
"description": "IDs das caixas"
|
|
5553
|
+
"description": "IDs das caixas de entrada a vincular (substitui a lista atual)"
|
|
5554
5554
|
},
|
|
5555
5555
|
{
|
|
5556
5556
|
"name": "flow_data",
|
|
5557
5557
|
"type": "object",
|
|
5558
5558
|
"location": "body",
|
|
5559
5559
|
"required": false,
|
|
5560
|
-
"description": "
|
|
5560
|
+
"description": "Estrutura {nodes:[], edges:[]} em formato Vue Flow. Ver descricao do tool lionchat_flows_create para schema dos nodes."
|
|
5561
5561
|
}
|
|
5562
5562
|
]
|
|
5563
5563
|
},
|
|
@@ -12512,6 +12512,48 @@
|
|
|
12512
12512
|
"location": "body",
|
|
12513
12513
|
"required": true,
|
|
12514
12514
|
"description": "Modelo: contact_attribute ou conversation_attribute"
|
|
12515
|
+
},
|
|
12516
|
+
{
|
|
12517
|
+
"name": "attribute_key",
|
|
12518
|
+
"type": "string",
|
|
12519
|
+
"location": "body",
|
|
12520
|
+
"required": true,
|
|
12521
|
+
"description": "Chave unica (slug snake_case, ex: cpf, data_nascimento). Aceita letras, numeros, underscore, hifen e ponto"
|
|
12522
|
+
},
|
|
12523
|
+
{
|
|
12524
|
+
"name": "attribute_description",
|
|
12525
|
+
"type": "string",
|
|
12526
|
+
"location": "body",
|
|
12527
|
+
"required": false,
|
|
12528
|
+
"description": "Descricao do atributo (opcional)"
|
|
12529
|
+
},
|
|
12530
|
+
{
|
|
12531
|
+
"name": "attribute_values",
|
|
12532
|
+
"type": "array",
|
|
12533
|
+
"location": "body",
|
|
12534
|
+
"required": false,
|
|
12535
|
+
"description": "Lista de opcoes (apenas para attribute_display_type=list). Ex: [\"Sim\", \"Nao\"]"
|
|
12536
|
+
},
|
|
12537
|
+
{
|
|
12538
|
+
"name": "regex_pattern",
|
|
12539
|
+
"type": "string",
|
|
12540
|
+
"location": "body",
|
|
12541
|
+
"required": false,
|
|
12542
|
+
"description": "Regex de validacao (opcional, para tipo text)"
|
|
12543
|
+
},
|
|
12544
|
+
{
|
|
12545
|
+
"name": "regex_cue",
|
|
12546
|
+
"type": "string",
|
|
12547
|
+
"location": "body",
|
|
12548
|
+
"required": false,
|
|
12549
|
+
"description": "Dica de formato exibida ao usuario quando regex_pattern falha"
|
|
12550
|
+
},
|
|
12551
|
+
{
|
|
12552
|
+
"name": "default_value",
|
|
12553
|
+
"type": "string",
|
|
12554
|
+
"location": "body",
|
|
12555
|
+
"required": false,
|
|
12556
|
+
"description": "Valor default do atributo"
|
|
12515
12557
|
}
|
|
12516
12558
|
]
|
|
12517
12559
|
},
|