Digitalk Developers
  1. Tickets
Raiz
  • Raiz
  • CRM
    • CRM — Overview
    • Genérico (data)
      • CRM - Genérico
      • Listar/filtrar registros (qualquer tabela do CRM)
      • Criar/atualizar registros (qualquer tabela do CRM)
      • Hard-delete (não permitido para tabelas company)
    • 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)
        GET
      • Criar ticket (básico, com integração CRM opcional)
        POST
      • Criar ticket com auto-vínculo / criação de customer via contato
        POST
      • Movimentar ticket entre fases (ou finalizar)
        POST
      • Atualizar dados do ticket (nome, descrição, valor)
        PUT
      • Vincular cliente CRM a um ticket existente
        PUT
      • Adicionar nota ou mensagem ao ticket
        POST
    • 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. Tickets

Criar ticket com auto-vínculo / criação de customer via contato

POST
{{baseURL}}/api/v2/ticket/custom
Última modificação:2026-09-23 17:34:54
Variação de POST /ticket que tenta encontrar o cliente CRM pelo contato
(crm.contact_search) e, se não achar, cria um customer + contact novo no CRM
usando crm.contact + crm.customer.

Regras do crm#

Campo crm é opcional (sem ele, ticket fica sem cliente — funciona).
crm.contact_search é opcional — quando preenchido, busca registro existente.
crm.contact + crm.customer: se um for preenchido, AMBOS são obrigatórios.
Telefones: formato DDI + DDD + número (ex.: 5511988884444). E-mails: padrão.

Campos sistêmicos em crm.contact#

CampoValores aceitos
tipo_contatoemail ou phone
canal_contato (int)2=WhatsApp, 3=SMS, 4=E-mail, 6=Telefone, 9=Telegram, 12=RCS
contato (string)Valor do contato (telefone formatado ou email)

Campos obrigatórios em crm.customer#

Além do que o template do CRM exigir, dois campos são obrigatórios e a criação falha com 400 sem eles:
CampoFalha se ausente
ativo (boolean)o campo 'Ativo' é obrigatório e deve ser preenchido
cpf_cnpj (string, só dígitos)400 informando que CPF/CNPJ é obrigatório

Os dois identificadores do ticket#

A resposta traz id e id_seq, e eles não são intercambiáveis:
IdentificadorFormatoOnde se usa
idUUID/ticket/message, /ticket/finish, /ticket/link_customer, /ticket/info/{id}
id_seqinteiroColuna id_ticket das tabelas do CRM (negociacao e afins)
Gravar o UUID onde se espera o id_seq não devolve erro, mas o registro fica invisível para a plataforma.

Requisição

Parâmetros Header

Parâmetros Bodyapplication/jsonObrigatório

Examples
{
    "name": "Nome do ticket",
    "description": "Descrição",
    "id_phase": "bbcdb84f-1647-44f5-9499-18c2168a3136",
    "crm": {
        "contact_search": "joao@digitalk.com.br",
        "contact": {
            "contato": "joao@digitalk.com.br",
            "tipo_contato": "email",
            "canal_contato": 4,
            "cpc": false,
            "nome": "Contato de email"
        },
        "customer": {
            "nome": "João",
            "sobrenome": "Da silva",
            "cpf_cnpj": "12829070771",
            "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/ticket/custom' \
--header 'api-key: API_TOKEN (disponível no database da plataforma)' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Nome do ticket",
    "description": "Descrição",
    "id_phase": "bbcdb84f-1647-44f5-9499-18c2168a3136",
    "crm": {
        "contact_search": "joao@digitalk.com.br",
        "contact": {
            "contato": "joao@digitalk.com.br",
            "tipo_contato": "email",
            "canal_contato": 4,
            "cpc": false,
            "nome": "Contato de email"
        },
        "customer": {
            "nome": "João",
            "sobrenome": "Da silva",
            "cpf_cnpj": "12829070771",
            "ativo": true
        }
    }
}'

Respostas

🟢200OK
application/json
Ticket criado. O corpo é o objeto do ticket na raiz, sem o envelope {ok, data}.
Bodyapplication/json

Exemplo
{
    "id": "84cefe00-761e-467c-9f77-fbb05ecb7af9",
    "id_seq": 484898,
    "name": "Ligação receptiva 5511988884444",
    "customer": {
        "id_crm": "42",
        "table": "cliente"
    },
    "negotiation": {
        "id": 104
    }
}
🟠400Pedido Inválido
🟠401Não Autorizado
Modificado em 2026-09-23 17:34:54
Página anterior
Criar ticket (básico, com integração CRM opcional)
Próxima página
Movimentar ticket entre fases (ou finalizar)
Built with