Digitalk Developers
  1. Genérico (data)
Raiz
  • Raiz
  • CRM
    • CRM — Overview
    • Genérico (data)
      • CRM - Genérico
      • Listar/filtrar registros (qualquer tabela do CRM)
        POST
      • Criar/atualizar registros (qualquer tabela do CRM)
        POST
      • Hard-delete (não permitido para tabelas company)
        POST
    • Empresas Relacionadas
      • CRM - Empresas relacionadas
      • Tipos de relacionamento disponíveis
      • Listar relacionamentos de uma empresa (ambas as direções)
      • Criar relacionamento entre duas empresas
      • Alterar o tipo do relacionamento
      • Inativar relacionamento (reversível)
      • Excluir relacionamento (hard-delete)
    • Ticket ↔ Empresa
      • CRM - Ticket <-> Empresa
      • Empresas elegíveis para o ticket
      • Vincular / trocar a empresa do ticket
    • Templates
      • CRM - Templates
      • Listar templates do tenant (apenas IDs, sem fields)
      • Detalhe completo do template (com fields)
      • Pesquisa formatada por scope (CRMSearchResult)
  • Workflow
    • Workflow - Overview
    • Tickets
      • Workflow - Tickets
      • Detalhe completo do ticket (mensagens, SLA, fases, customer, empresa, business)
      • Criar ticket (básico, com integração CRM opcional)
      • Criar ticket com auto-vínculo / criação de customer via contato
      • Movimentar ticket entre fases (ou finalizar)
      • Atualizar dados do ticket (nome, descrição)
      • Vincular cliente CRM a um ticket existente
      • Adicionar nota ou mensagem ao ticket
    • Workspaces & Workflows
      • Workflow - Workspaces & Workflows
      • Listar workspaces e workflows acessíveis ao usuário
      • Listar fases de um workflow
      • Listar tickets de uma ou mais fases (paginado)
  1. Genérico (data)

Listar/filtrar registros (qualquer tabela do CRM)

POST
/api/v2/crm/data/filter
Última modificação:2026-05-28 20:05:32
Leitura genérica de qualquer tabela do CRM (empresa, cliente, negociacao,
financeiro, contrato, …).

Estrutura do payload#

CampoTipoObrigatórioO que faz
tablestringsimTabela a consultar (empresa, cliente, negociacao, financeiro, …).
selectstring[]nãoColunas a retornar. Omita pra trazer todas as visíveis.
filterobject[]nãoLista de condições AND ({field, operator, value}).
sortBystringnãoColuna pra ordenar.
sortDirectionstringnãoasc (padrão) ou desc.
pageobjectnãoPaginação {page, limit} — page é 0-indexado.

Operadores aceitos (filter[].operator)#

OperadorSignificadoTipo de valueExemplo
=igualstring / number / boolean{"field":"ativo","operator":"=","value":true}
!= ou <>diferentestring / number / boolean{"field":"ativo","operator":"!=","value":false}
> < >= <=comparação numérica/datanumber / date{"field":"id","operator":">=","value":100}
inestá na listaarray{"field":"id","operator":"in","value":[1,2,3]}
Comparação exata — não há LIKE/fuzzy. Pra busca textual livre,
use o endpoint de search específico (fora do escopo desta API).

Tipos de valor#

string: texto exato ("00.000.000/0001-00"). Aspas obrigatórias.
number: id ou decimal sem aspas (12, 12.5).
boolean: true/false (sem aspas — não use "true").
date: ISO-8601 ("2026-01-01T00:00:00Z").
array: usado só com in ([1,2,3]).

Gotchas#

Sem filter[] retorna tudo (até page.limit registros).
cnpj / cpf_cnpj no banco são sem formatação (sem pontos/barras): use "11111111000111", não "11.111.111/0001-11".
Tabelas do scope company filtram deleted_at IS NULL automaticamente — soft-deletadas somem do read.
page.page começa em 0 (primeira página = 0).
É POST (não GET) porque o payload é complexo (filtros aninhados, arrays).

Requisição

Parâmetros Header

Parâmetros Bodyapplication/jsonObrigatório

Examples
{
    "table": "empresa",
    "select": [
        "id",
        "razao_social",
        "nome_fantasia",
        "cnpj",
        "ativo"
    ],
    "filter": [
        {
            "field": "cnpj",
            "operator": "=",
            "value": "11111111000111"
        }
    ],
    "sortBy": "id",
    "sortDirection": "asc",
    "page": {
        "limit": 100,
        "page": 0
    }
}

Códigos de solicitação

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/api/v2/crm/data/filter' \
--header 'api-key: {{api-key}}' \
--header 'Content-Type: application/json' \
--data '{
    "table": "empresa",
    "select": [
        "id",
        "razao_social",
        "nome_fantasia",
        "cnpj",
        "ativo"
    ],
    "filter": [
        {
            "field": "cnpj",
            "operator": "=",
            "value": "11111111000111"
        }
    ],
    "sortBy": "id",
    "sortDirection": "asc",
    "page": {
        "limit": 100,
        "page": 0
    }
}'

Respostas

🟢200OK
application/json
Array nu de registros (sem envelope {ok,data}). Cada item carrega
só as colunas pedidas em select (ou todas as visíveis se select for omitido).
Lista vazia ([]) quando o filtro não casa com nada.
Bodyapplication/json

Examples
[
    {
        "id": 1,
        "nome_fantasia": "Digitalk Fantasia",
        "cnpj": "11111111000111"
    },
    {
        "id": 2,
        "nome_fantasia": "Comtexto fantasia",
        "cnpj": "22222222000122"
    },
    {
        "id": 3,
        "nome_fantasia": "Midiahub fantasia",
        "cnpj": "22222222222222"
    }
]
🟠400Pedido Inválido
🟠401Não Autorizado
Modificado em 2026-05-28 20:05:32
Página anterior
CRM - Genérico
Próxima página
Criar/atualizar registros (qualquer tabela do CRM)
Built with