Chat SentraX

API Kanban (Funnels + Items)

Endpoints para gerenciar funis, itens, etapas, checklists e automações Kanban no Chat SentraX.

Referência Completa da API Kanban

Este guia mapeia todas as APIs de Kanban/Funnel disponíveis e documenta cada requisição (método, rota, parâmetros e payloads principais).

Autenticação

Todas as rotas de conta usam autenticação por token de usuário/API.

Headers recomendados:

  • api_access_token: <TOKEN>
  • Content-Type: application/json

Base URLs

  • Escopo de conta: /api/v1/accounts/:account_id
  • Global (legado): /api/v1

Mudanças implementadas neste mapeamento

  • Novo endpoint: GET /api/v1/accounts/:account_id/kanban_items/batch
  • Novo endpoint: PATCH /api/v1/accounts/:account_id/funnels/:id/reorder
  • Novo filtro suportado em listagens Kanban: conversation_id

1) Funnels

MétodoEndpointParâmetrosDescrição
GET/funnels-Lista funis da conta
GET/funnels/:ididExibe funil
POST/funnelsbody funnelCria funil
PATCH/PUT/funnels/:idbody funnelAtualiza funil
DELETE/funnels/:ididRemove funil e itens relacionados
GET/funnels/:id/stage_statsfiltros opcionaisMétricas por etapa
PATCH/funnels/:id/reorderbody stages[]Reordena etapas do funil
GET/funnels/:funnel_id/kanban_itemsfunnel_idLista itens do funil

Payload de criação/atualização de funil

{
  "funnel": {
    "name": "Vendas SMB",
    "description": "Pipeline comercial",
    "active": true,
    "is_default": false,
    "stages": {
      "lead": {
        "id": "lead",
        "name": "Lead",
        "color": "#94a3b8",
        "position": 1,
        "description": "Primeiro contato"
      },
      "proposal": {
        "id": "proposal",
        "name": "Proposta",
        "color": "#22c55e",
        "position": 2,
        "description": "Oferta enviada"
      }
    },
    "settings": {},
    "global_custom_attributes": []
  }
}

Payload para reorder de etapas

{
  "stages": ["proposal", "lead", "won"]
}

2) Kanban Items (core)

MétodoEndpointParâmetrosDescrição
GET/kanban_itemsfunnel_id, stage_id, agent_id, conversation_id, pageLista paginada
GET/kanban_items/batchmesmos filtros do indexLista + metadados agregados (stage_counts, total_items)
GET/kanban_items/:ididDetalhe do item
POST/kanban_itemsbody kanban_itemCria item
PATCH/PUT/kanban_items/:idbody kanban_itemAtualiza item
DELETE/kanban_items/:ididExclui item

Exemplo de query (filtro por conversa)

curl -X GET \
  "$BASE_URL/api/v1/accounts/$ACCOUNT_ID/kanban_items?conversation_id=12345" \
  -H "api_access_token: $API_TOKEN"

Payload de criação/atualização de item

{
  "kanban_item": {
    "funnel_id": 10,
    "funnel_stage": "lead",
    "position": 1,
    "conversation_display_id": 12345,
    "assigned_agents": [7, 11],
    "item_details": {
      "title": "Oportunidade ACME",
      "description": "Follow-up comercial",
      "status": "open",
      "priority": "high",
      "value": 1500,
      "currency": {
        "symbol": "$",
        "code": "USD",
        "locale": "en"
      },
      "conversation_id": 12345,
      "notes": []
    }
  }
}

3) Movimentação e ordenação

MétodoEndpointPayloadDescrição
POST/kanban_items/:id/move_to_stagefunnel_stage, opcional funnel_idMove item para outra etapa
POST/kanban_items/:id/movefunnel_id, funnel_stageMove item entre funil/etapa
POST/kanban_items/reorderpositions[]Reordena itens no quadro

Payload de reorder de itens

{
  "positions": [
    { "id": 101, "position": 1, "funnel_stage": "lead" },
    { "id": 102, "position": 2, "funnel_stage": "lead" }
  ]
}

4) Busca, filtros e relatórios

MétodoEndpointParâmetrosDescrição
GET/kanban_items/searchquery, funnel_id, agent_idBusca textual
GET/kanban_items/filterfunnel_id, priorities[], value_min, value_max, agent_id, intervalos de dataFiltro avançado
GET/kanban_items/reportsfunnel_id, from, to, user_ids[], inbox_idMétricas do quadro
GET/kanban_items/debugfunnel_idDados técnicos de debug

5) Checklist por item

MétodoEndpointPayload/ParâmetrosDescrição
POST/kanban_items/:id/create_checklist_itemtext, due_date, priority, agent_idCria tarefa de checklist
GET/kanban_items/:id/get_checklist-Lista checklist
PATCH/kanban_items/:id/update_checklist_itemchecklist_item_id + campos editáveisAtualiza tarefa
POST/kanban_items/:id/toggle_checklist_itemchecklist_item_idMarca/desmarca conclusão
DELETE/kanban_items/:id/delete_checklist_itemchecklist_item_idExclui tarefa
POST/kanban_items/:id/assign_agent_to_checklist_itemchecklist_item_id, agent_idAtribui agente
DELETE/kanban_items/:id/remove_agent_from_checklist_itemchecklist_item_idRemove agente
POST/kanban_items/:id/duplicate_checklisttarget_item_id, mergeDuplica checklist
GET/kanban_items/:id/search_checklistqueryBusca no checklist
GET/kanban_items/:id/checklist_progress_by_agent-Progresso por agente

6) Notas por item

MétodoEndpointPayload/ParâmetrosDescrição
POST/kanban_items/:id/create_notetext, attachments[], linked_item_id, linked_conversation_id, linked_contact_idCria nota
GET/kanban_items/:id/get_notes-Lista notas
PATCH/kanban_items/:id/update_notenote_id + campos editáveisAtualiza nota
DELETE/kanban_items/:id/delete_notenote_idExclui nota

7) Anexos (item e nota)

MétodoEndpointPayload/ParâmetrosDescrição
GET/kanban/items/:item_id/attachments-Lista anexos do item
POST/kanban/items/:item_id/attachmentsmultipart attachmentEnvia anexo do item
DELETE/kanban/items/:item_id/attachments/:ididExclui anexo do item
POST/kanban/items/:item_id/note_attachmentsmultipart attachmentEnvia anexo de nota
DELETE/kanban/items/:item_id/note_attachments/:ididExclui anexo de nota

8) Atribuição, status e tempo

MétodoEndpointPayload/ParâmetrosDescrição
POST/kanban_items/:id/assign_agentagent_idAtribui agente
DELETE/kanban_items/:id/remove_agentagent_idRemove agente
GET/kanban_items/:id/assigned_agents-Lista agentes atribuídos
POST/kanban_items/:id/change_statusstatus (won,lost,open)Altera status comercial
GET/kanban_items/:id/time_report-Relatório de tempo do item
GET/kanban_items/:id/stage_time_breakdown-Tempo por etapa
GET/kanban_items/:id/counts-Contadores (notas/checklist/anexos)

9) Ações em massa

MétodoEndpointPayloadDescrição
POST/kanban_items/bulk_move_itemsitem_ids[], new_stage, opcional funnel_idMove múltiplos itens
POST/kanban_items/bulk_assign_agentitem_ids[], agent_id, mode (replace,add)Atribui agente em lote
POST/kanban_items/bulk_set_priorityitem_ids[], priorityAtualiza prioridade em lote

10) Importação/exportação CSV

MétodoEndpointPayload/ParâmetrosDescrição
GET/kanban_items/exportfunnel_id + filtros opcionaisExporta CSV
POST/kanban_items/import_previewmultipart filePré-visualiza CSV
POST/kanban_items/importmultipart file, funnel_id, mappings, opcional default_stage_idImporta CSV

11) Configuração de Kanban

MétodoEndpointPayloadDescrição
GET/kanban_config-Obtém configuração
POST/kanban_configbody kanban_configCria configuração
PUT/PATCH/kanban_configbody kanban_configAtualiza configuração
DELETE/kanban_config-Exclui configuração
POST/kanban_config/test_webhook-Testa webhook

Payload de configuração

{
  "kanban_config": {
    "enabled": true,
    "webhook_url": "https://hooks.example.com/kanban",
    "webhook_secret": "secret",
    "webhook_events": ["kanban.item.created", "kanban.item.updated"],
    "config": {
      "title": "Meu Kanban",
      "default_view": "kanban",
      "auto_assignment": false,
      "notifications_enabled": true,
      "dragbar_enabled": true,
      "list_view_enabled": true,
      "agenda_view_enabled": true
    }
  }
}

12) Automações Kanban

12.1 Escopo de conta (recomendado)

MétodoEndpointPayloadDescrição
GET/kanban/automations-Lista automações
GET/kanban/automations/:id-Exibe automação
POST/kanban/automationsbody kanban_automationCria automação
PATCH/PUT/kanban/automations/:idbody kanban_automationAtualiza automação
DELETE/kanban/automations/:id-Exclui automação

12.2 Global legado (sem escopo de conta)

MétodoEndpointPayloadDescrição
GET/api/v1/kanban_automations-Lista global legado
GET/api/v1/kanban_automations/:id-Detalhe global legado
POST/api/v1/kanban_automationsbody kanban_automationCria registro legado
PATCH/PUT/api/v1/kanban_automations/:idbody kanban_automationAtualiza registro legado
DELETE/api/v1/kanban_automations/:id-Exclui registro legado

12.3 Namespace Kanban adicional

MétodoEndpointPayload/ParâmetrosDescrição
GET/kanban/funnels-Lista funis via namespace Kanban
GET/kanban/funnels/:ididExibe funil via namespace Kanban
POST/kanban/funnelsbody funnelCria funil via namespace Kanban
PATCH/PUT/kanban/funnels/:idbody funnelAtualiza funil via namespace Kanban
DELETE/kanban/funnels/:ididExclui funil via namespace Kanban
GET/kanban/stagesfunnel_idLista etapas do funil
GET/kanban/stages/:idopcional funnel_idExibe etapa por id
POST/kanban/stagesfunnel_id, body stageCria etapa
PATCH/PUT/kanban/stages/:idopcional funnel_id, body stageAtualiza etapa
DELETE/kanban/stages/:idopcional funnel_id, opcional fallback_stage_idExclui etapa e move itens

13) Códigos de resposta esperados

  • 200 OK: leitura/atualização com sucesso
  • 201 Created: criação com sucesso
  • 204 No Content: exclusão sem corpo
  • 400 Bad Request: payload/parâmetros inválidos
  • 401 Unauthorized: token ausente/inválido
  • 403 Forbidden: sem permissão/licença
  • 404 Not Found: recurso não encontrado
  • 422 Unprocessable Entity: validações de negócio
  • 500 Internal Server Error: erro inesperado