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, valor)
      • 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)
  • Webhooks
    • Eventos
      • Catálogo de eventos disponíveis
      • 📨 [Contrato] Evento entregue na sua URL
    • Assinaturas
      • Listar webhooks cadastrados
      • Criar webhook (o secret aparece UMA única vez)
      • Testar conectividade de uma URL
      • Detalhar webhook
      • Atualizar webhook
      • Ativar/desativar webhook (toggle)
      • Remover webhook (soft delete)
    • Entregas
      • Log de entregas de uma assinatura
      • Reprocessar uma entrega
      • Reprocessar TODAS as entregas com falha
  • Configurações
    • Canais
      • WhatsApp oficial
        • Listar conexões de WhatsApp (a tela Canais › WhatsApp oficial)
        • Listar números disponíveis de uma WABA
        • Criar conexão de WhatsApp oficial
        • Conectar o número oficial (ativar a conexão)
      • Telefonia
        • Anexar gravação de ligação (telefonia de terceiros)
        • Registrar CSAT de ligação
        • Consultar status da gravação enviada
    • Templates
      • WhatsApp oficial
        • Listar templates HSM (a tela Templates › WhatsApp oficial)
        • Criar template HSM (+ Novo modelo)
        • Detalhar template
        • Atualizar template
        • Excluir template
        • Sincronizar templates com a Meta
        • Upload de mídia para o header do template
      • RCS
        • Listar templates de RCS
    • Base de dados
      • Modelo de colunas do CSV
      • Importar base (CSV) para uma tabela do CRM
      • Acompanhar as importações (validar o resultado)
      • Erros de uma importação
      • Exportar os erros em planilha
  1. Genérico (data)

Criar/atualizar registros (qualquer tabela do CRM)

POST
{{baseURL}}/api/v2/crm/data/set
Última modificação:2026-09-23 17:34:54
Criação ou atualização de qualquer tabela do CRM.

Estrutura do payload#

CampoTipoObrigatórioO que faz
tablestringsimTabela alvo.
methodstringsim"post" (cria) ou "patch" (atualiza).
payloadobjectsim{coluna: valor} — só as colunas a definir/atualizar.
filterobject[]só pra patchDefine quais registros atualizar (mesma sintaxe de data/filter).

post vs patch#

post cria um registro novo. Não use filter. O payload vira a linha inserida (auto-incremento do id).
patch atualiza registros existentes que casarem com filter. Sem filter o patch é rejeitado (proteção contra update global acidental).

Inativar vs soft-delete em tabela company (WF-3636)#

data/delete em tabela do scope company retorna 400 (bloqueado). Pra "remover":
OperaçãopayloadEfeito
Inativar (reversível){"ativo": false}Some dos seletores; reversível com ativo: true.
Soft-delete (destrutivo, auditável){"ativo": false, "deleted_at": "<ISO-8601>"}Marca como deletado; reads filtram automaticamente. Setar os dois campos.

Auditoria (WF-3636)#

Toda mutação (post/patch) em tabela company grava trilha em crm_data_audit (registro antes/depois + id_usuario). Trilha interna — sem endpoint público de leitura.

⚠️ id_ticket nas tabelas do CRM é o id_seq, não o UUID#

Nas tabelas do CRM que apontam para um atendimento — negociacao é a mais comum — a coluna id_ticket guarda o id_seq do ticket (o número sequencial, ex.: 564448), não o UUID.
Os dois identificadores convivem e não são intercambiáveis:
IdentificadorFormatoOnde se usa
id do ticketUUID (84cefe00-761e-...)Endpoints de ticket: /ticket/message, /ticket/finish, /ticket/link_customer, /ticket/info/{id}
id_seq do ticketinteiro (564448)Coluna id_ticket das tabelas do CRM
Os dois vêm na resposta da criação do ticket: id e id_seq.
Gravar o UUID em id_ticket não devolve erro — a coluna é textual — mas o registro fica invisível para a plataforma, que consulta essas tabelas por id_seq. O atendimento aparece sem a negociação vinculada mesmo com a linha existindo no CRM.

Requisição

Parâmetros Header

Parâmetros Bodyapplication/jsonObrigatório

Examples
{
    "table": "empresa",
    "method": "post",
    "payload": {
        "razao_social": "ACME S.A.",
        "nome_fantasia": "ACME",
        "cnpj": "00000000000100",
        "ativo": true
    }
}

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 --globoff 'https://api-{tenant}.digitalk.com.br/api/v2/crm/data/set' \
--header 'api-key: API_TOKEN (disponível no database da plataforma)' \
--header 'Content-Type: application/json' \
--data '{
    "table": "empresa",
    "method": "post",
    "payload": {
        "razao_social": "ACME S.A.",
        "nome_fantasia": "ACME",
        "cnpj": "00000000000100",
        "ativo": true
    }
}'

Respostas

🟢200OK
application/json
Array nu com o(s) registro(s) afetado(s) (mesmo formato do /data/filter).
Em post vem 1 item (a linha inserida, com id auto-incrementado e campos
sistêmicos preenchidos). Em patch vem N itens (todos os registros que casaram).
Bodyapplication/json

Examples
[
    {
        "id": 3,
        "id_empresa": 1,
        "juros": 99.99,
        "criado_em": "2026-05-28T15:58:33.461805Z",
        "alterado_em": null,
        "deleted_at": null
    }
]
🟠400Pedido Inválido
🟠401Não Autorizado
Modificado em 2026-09-23 17:34:54
Página anterior
Listar/filtrar registros (qualquer tabela do CRM)
Próxima página
Hard-delete (não permitido para tabelas company)
Built with