1. Voz IA (ElevenLabs)
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
        • Detalhe completo do ticket (mensagens, SLA, fases, customer, empresa, business)
        • Criar ticket (básico, com integração CRM opcional)
        • 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
        • Atribuir ou transferir o responsável do 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
        • 📨 [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
            POST
          • Consultar a integração de Voz IA
            GET
          • Alterar a integração de Voz IA (secret, toggle, allowlist)
            PATCH
          • Remover a integração de Voz IA
            DELETE
          • Webhook pós-chamada (chamado pelo provedor de voz)
            POST
    • 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. Voz IA (ElevenLabs)

Webhook pós-chamada (chamado pelo provedor de voz)

POST
/api/v3/integrations/voice-ai/elevenlabs/post-call
Endpoint que a provedor de voz chama ao fim de cada conversa (webhook pós-chamada). Não é chamado pelo cliente: serve para configurar o webhook no provedor de voz.
Ao receber post_call_transcription de um agente da allowlist, com o UUID do ticket na dynamic variable configurada (dk_ticket_id por padrão):
1.
abre no ticket um protocolo de Telefonia (receptivo ou ativo conforme a direção, telefone normalizado com 55, duração e transcrição da própria provedor de voz);
2.
se attach_recording, anexa o áudio da ligação (aparece no ticket em alguns minutos);
3.
se create_summary_note, grava a nota interna [Voz IA] Resumo pós-ligação.
Conversa só de texto (sem áudio nem telefone) grava apenas a nota.

Autenticação#

Não usa api-key. A autenticação é o header provedor de voz-Signature: t=<epoch>,v0=<hex>, onde v0 é o HMAC-SHA256 de <t>.<corpo cru> com o webhook_secret do tenant. Assinatura inválida ou t com mais de 30 min → 401.
Configure o webhook sem áudio. O evento post_call_audio (base64) passa do limite de 10 MB e é recusado com 413. A gravação é buscada depois pela API do provedor de voz.

Respostas#

Condições permanentes respondem 200 (o provedor de voz desativa o webhook depois de 10 falhas seguidas). 409/500 são retentáveis: o provedor de voz reenvia e o reenvio não duplica protocolo, áudio nem nota.
statusHTTPSignificado
delivered200Protocolo/áudio/nota registrados
duplicate200Conversa já processada (reenvio)
ignored_type200Evento diferente de post_call_transcription
ignored_agent200Agente fora da allowlist
no_ticket200Sem a variável do ticket, valor que não é UUID, ou ticket inexistente
rejected200A conversa já está vinculada a outro ticket
integration_inactive200Integração inexistente, desativada ou sem webhook_secret
processing409Mesma conversa em processamento agora — reenviar
retry500Falha transitória — reenviar

Acompanhar a gravação#

Use GET /api/v3/telephony/recording/{call_id} com call_id = conversation_id do provedor de voz.
Disponível a partir de 30/09/2026.

Requisição

Parâmetros Header

Parâmetros Bodyapplication/jsonObrigatório

Examples

Respostas

🟢200OK
application/json
Processado ou ignorado (condição permanente). Ver tabela de status.
Bodyapplication/json

🟠400Requisição Inválida
🟠401Não Autorizado
🟠409Em processamento
🔴500Falha transitória
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/api/v3/integrations/voice-ai/elevenlabs/post-call' \
--header 'provedor de voz-Signature: t=1790800000,v0=5f2b…' \
--header 'Content-Type: application/json' \
--data '{
    "type": "post_call_transcription",
    "data": {
        "agent_id": "agent_9101m3s5y0d1eh79z0cayqtpx8b0",
        "conversation_id": "conv_0123456789abcdef",
        "status": "done",
        "conversation_initiation_client_data": {
            "dynamic_variables": {
                "dk_ticket_id": "f747e599-b2d4-4691-b211-ae7b7a7f6574"
            }
        },
        "metadata": {
            "call_duration_secs": 42,
            "start_time_unix_secs": 1790800000,
            "phone_call": {
                "direction": "inbound",
                "external_number": "11974628518",
                "agent_number": "551130000000"
            }
        },
        "transcript": [
            {
                "role": "agent",
                "message": "Olá, em que posso ajudar?"
            },
            {
                "role": "user",
                "message": "Preciso de uma peça."
            }
        ],
        "analysis": {
            "transcript_summary": "Cliente pediu orçamento de peça.",
            "data_collection_results": {
                "modelo": {
                    "value": "PC200"
                }
            },
            "evaluation_criteria_results": {
                "resolveu": {
                    "result": "success"
                }
            }
        }
    }
}'
Response Response Example
200 - entregue
{
    "ok": true,
    "status": "delivered"
}
Modificado em 2026-11-04 03:05:55
Página anterior
Remover a integração de Voz IA
Próxima página
Listar conexões de WhatsApp (a tela Canais › WhatsApp oficial)
Built with