1. Tickets
Khal Docs
  • 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
        • Listar relacionamentos de uma empresa (ambas as direções)
        • Tipos de relacionamento disponíveis
        • 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)
      • Empresas do cliente
        • Listar tipos de relacionamento
        • Listar empresas de um cliente
        • Vincular empresa ao cliente
        • Trocar a empresa principal
        • Alterar tipo de relacionamento
        • Inativar vínculo
        • Reativar vínculo
        • Excluir vínculo
    • Workflow
      • Workflow - Overview
      • Tickets
        • Workflow - Tickets
        • Criar ticket com auto-vínculo / criação de customer via contato
          POST
        • Detalhe completo do ticket (mensagens, SLA, fases, customer, empresa, business)
          GET
        • Criar ticket (básico, com integração CRM opcional)
          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
        • Atribuir ou transferir o responsável do ticket
          PUT
      • 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
        • 📨 [Contrato] Evento entregue na sua URL
        • Catálogo de eventos disponíveis
      • 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
      • Integrações
        • Voz IA (ElevenLabs)
          • Criar ou atualizar a integração de Voz IA
          • Consultar a integração de Voz IA
          • Alterar a integração de Voz IA (secret, toggle, allowlist)
          • Remover a integração de Voz IA
          • Webhook pós-chamada (chamado pelo provedor de voz)
    • 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
    • Raiz
      • Workflow
        • Tarefas
          • Criar tarefa
          • Listar tarefas
          • Resumo de tarefas
          • Consultar tarefa
          • Editar tarefa
          • Concluir tarefa
          • Cancelar (excluir) tarefa
          • Silenciar alarme
          • Tarefas do ticket
  • Esquemas
    • LoginRequest
    • FilterOperator
    • WebhookSubscription
    • ClienteEmpresaTipo
    • LoginResponse
    • FilterCondition
    • WebhookSubscriptionResumo
    • ClienteEmpresa
    • Error
    • Pagination
    • WebhookDelivery
    • ErroRegra
    • FilterRequest
    • WebhookEventEnvelope
    • FilterResponse
    • SetMethod
    • SetRequest
    • DeleteRequest
    • SuccessEnvelope
    • ErrorEnvelope
    • Empresa
    • EmpresaResumo
    • EmpresaRelacionadaCreate
    • EmpresaRelacionada
    • TicketInfoResponse
  1. Tickets

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

POST
/api/v2/ticket/custom
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

Respostas

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

🟠400Pedido Inválido
🟠401Não Autorizado
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/api/v2/ticket/custom' \
--header 'api-key: {{api-key}}' \
--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@suaempresa.com.br",
        "contact": {
            "contato": "joao@suaempresa.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
        }
    }
}'
Response Response Example
200 - Exemplo de Sucesso
{
    "id": "84cefe00-761e-467c-9f77-fbb05ecb7af9",
    "id_seq": 484898,
    "name": "Ligação receptiva 5511988884444",
    "customer": {
        "id_crm": "42",
        "table": "cliente"
    },
    "negotiation": {
        "id": 104
    }
}
Modificado em 2026-11-04 02:53:16
Página anterior
Workflow - Tickets
Próxima página
Detalhe completo do ticket (mensagens, SLA, fases, customer, empresa, business)
Built with