Pular para o conteúdo principal
POST
/
api
/
v1
/
campaigns
/
{campaign_id}
/
call
# Request 1: Make a regular campaign call
curl -X POST "https://app.talkover.ai/api/v1/campaigns/campaign-uuid-1/call" \
  -H "Authorization: Bearer talq_your_environment_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890"
  }'
{
  "campaign_call": {
    "id": "call-uuid-1",
    "campaign_id": "campaign-uuid-1",
    "to": "+1234567890",
    "status": "queued",
    "scheduled_at": "2024-01-15T10:30:00Z",
    "created_at": "2024-01-15T10:30:00Z"
  },
  "campaign": {
    "id": "campaign-uuid-1",
    "name": "Q1 Outreach",
    "status": "active"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.talkover.ai/llms.txt

Use this file to discover all available pages before exploring further.

Realizar Chamada de Campanha

Inicia uma chamada como parte de uma campanha específica. Este endpoint permite que você acione manualmente chamadas dentro de um contexto de campanha.

Visão Geral

O endpoint Realizar Chamada de Campanha permite que você inicie chamadas individuais dentro de uma campanha existente. Este endpoint utiliza a configuração e os ajustes da campanha para garantir que as chamadas sigam as regras e parâmetros estabelecidos pela campanha.

Chamadas de Campanha vs Chamadas Individuais de Agente

Chamadas de Campanha - Alcance Estratégico e Automatizado

Chamadas de campanha são projetadas para engajamento sistemático e em larga escala com recursos avançados de automação:
  • Configurações Específicas da Campanha: Cada chamada herda a configuração da campanha (agente, lógica de retry, períodos de cooldown, horários de chamada)
  • Agendamento Avançado: Chamadas respeitam automaticamente o horário comercial, configurações de fuso horário e restrições de dia da semana
  • Lógica de Retry: Mecanismos de retry integrados com períodos de cooldown configuráveis entre tentativas
  • Gerenciamento de Fluxo de Chamada: Fluxos de chamada e mensagens consistentes em todas as chamadas da campanha
  • Analytics de Desempenho: Rastreamento e relatórios abrangentes no nível da campanha
  • Recursos de Compliance: Gerenciamento de listas do-not-call e ferramentas de conformidade regulatória
  • Processamento em Lote: Lida com milhares de chamadas com enfileiramento inteligente e rate limiting
Melhor para: Campanhas de outreach, nutrição de leads, lembretes de compromissos, pesquisas de mercado, e qualquer cenário que exija chamadas consistentes e automatizadas com regras sofisticadas.

Chamadas Individuais de Agente - Interação Imediata e Personalizada

Chamadas individuais de agente são perfeitas para interações instantâneas e pontuais que requerem atenção imediata:
  • Execução Instantânea: Chamadas são feitas imediatamente sem esperar o agendamento da campanha
  • Contexto em Tempo Real: Perfeito para follow-ups imediatos após submissões de formulários ou ações do cliente
  • Parâmetros Flexíveis: Customize parâmetros de chamada na hora para situações específicas
  • Controle Direto: Controle imediato sobre o timing e a execução da chamada
  • Toque Pessoal: Ideal para interações de alto valor que exigem atenção humana imediata
Melhor para: Follow-ups de formulários, atendimento imediato ao cliente, agendamentos urgentes, leads de alta prioridade, e qualquer situação que exija resposta instantânea.

Quando Usar Cada Abordagem

CenárioUse Chamada de CampanhaUse Chamada Individual de Agente
Cliente preenche formulário de contatoFollow-up imediato
Nutrição de lead ao longo do tempoSequência automatizada
Lembretes de compromissosOutreach agendado
Problema urgente do clienteResposta instantânea
Pesquisa de mercadoChamadas em larga escala
Follow-up de venda após demoConversão rápida
Chamadas de satisfação do clienteOutreach sistemático

Endpoint

POST /api/v1/campaigns/{campaign_id}/call

Parâmetros de Caminho

campaign
string
obrigatório
O identificador único da campanha. Você pode encontrá-lo em seu painel, na seção Campanhas.

Cabeçalhos da Requisição

Authorization
string
obrigatório
Token Bearer para autenticação. Formato: Bearer talq_your_environment_token_here
Content-Type
string
obrigatório
Application JSON. Formato: application/json

Corpo da Requisição

to
string
obrigatório
Número de telefone para chamar no formato E.164 (ex: “+1234567890”).
payload
object
Variáveis de substituição para o prompt do agente da campanha. Use isto para personalizar a conversa com dados dinâmicos. As chaves devem corresponder a placeholders no prompt do seu agente.
context
object
Dados customizados a serem enviados de volta ao seu cliente via webhooks. Estes dados não são usados na conversa, mas serão incluídos em todos os eventos de webhook relacionados a esta chamada, permitindo que você acompanhe e associe chamadas aos seus registros internos.
is_testing
boolean
Se esta é uma chamada de teste. Chamadas de teste não consomem créditos de cobrança e são excluídas das agregações de analytics. Padrão: false.
allow_duplicates
boolean
Se permite realizar esta chamada mesmo que o mesmo número to já tenha uma chamada ativa ou enfileirada na campanha. Quando false (padrão), a requisição retorna 409 Conflict com os detalhes da chamada existente para que você possa evitar outreach duplicado. Padrão: false.

Exemplos de Requisição

# Request 1: Make a regular campaign call
curl -X POST "https://app.talkover.ai/api/v1/campaigns/campaign-uuid-1/call" \
  -H "Authorization: Bearer talq_your_environment_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890"
  }'
# Request 2: Make a test campaign call
curl -X POST "https://app.talkover.ai/api/v1/campaigns/campaign-uuid-1/call" \
  -H "Authorization: Bearer talq_your_environment_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "is_testing": true
  }'
# Request 3: Make campaign call with payload and context
curl -X POST "https://app.talkover.ai/api/v1/campaigns/campaign-uuid-1/call" \
  -H "Authorization: Bearer talq_your_environment_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1987654321",
    "payload": {
      "customer_name": "John Doe",
      "order_id": "12345",
      "product_name": "Premium Plan"
    },
    "context": {
      "user_id": "user_123",
      "source": "web_app",
      "campaign_batch": "2024_Q1"
    }
  }'

Resposta

Resposta de Sucesso (201 Created)

{
  "campaign_call": {
    "id": "call-uuid-1",
    "campaign_id": "campaign-uuid-1",
    "to": "+1234567890",
    "status": "queued",
    "scheduled_at": "2024-01-15T10:30:00Z",
    "created_at": "2024-01-15T10:30:00Z"
  },
  "campaign": {
    "id": "campaign-uuid-1",
    "name": "Q1 Outreach",
    "status": "active"
  }
}

Campos da Resposta

campaign_call
object
obrigatório
Detalhes da chamada de campanha enfileirada.
campaign
object
obrigatório
Resumo da campanha pai no momento em que a chamada foi enfileirada.

Respostas de Erro

409 Conflict — Chamada Duplicada

Retornado quando uma chamada para o mesmo número to já está ativa ou enfileirada nesta campanha e allow_duplicates é false.
{
  "success": false,
  "message": "A call to this number already exists in this campaign",
  "existing_call": {
    "id": "call-uuid-existing",
    "campaign_id": "campaign-uuid-1",
    "to": "+1234567890",
    "status": "queued",
    "created_at": "2024-01-15T09:50:00Z"
  }
}
Para sobrescrever este comportamento intencionalmente (ex: uma chamada de follow-up), passe "allow_duplicates": true no corpo da requisição.

404 Não Encontrado

{
  "success": false,
  "message": "Campaign not found"
}

422 Erro de Validação

{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "to": [
      "The to field is required."
    ],
    "to": [
      "The to must be a valid phone number."
    ]
  }
}

400 Requisição Inválida

{
  "success": false,
  "message": "Campaign is not active"
}

401 Não Autorizado

{
  "success": false,
  "message": "Unauthorized"
}

403 Proibido

{
  "success": false,
  "message": "Cannot make calls for this campaign"
}

429 Muitas Requisições

{
  "success": false,
  "message": "Rate limit exceeded"
}

500 Erro do Servidor

{
  "success": false,
  "message": "Internal server error."
}

Códigos de Erro

CódigoDescriçãoStatus HTTP
CAMPAIGN_NOT_FOUNDA campanha especificada não existe404
VALIDATION_ERRORA validação da requisição falhou422
CAMPAIGN_NOT_ACTIVEA campanha não está com status ativo400
DUPLICATE_CALLUma chamada existente para o mesmo número está enfileirada ou ativa409
INVALID_TOKENToken de autenticação inválido ou ausente401
FORBIDDENNão é possível realizar chamadas para esta campanha403
RATE_LIMIT_EXCEEDEDLimite de taxa excedido429
SERVER_ERRORErro interno do servidor ocorreu500

Requisitos de Status da Campanha

Status da CampanhaPode Realizar ChamadasObservações
draft❌ NãoA campanha precisa estar ativa
active✅ SimChamadas podem ser feitas
paused❌ NãoA campanha está pausada
completed❌ NãoA campanha foi finalizada
cancelled❌ NãoA campanha foi cancelada

Observações Importantes

Contexto da campanha. Chamadas feitas através deste endpoint são associadas à campanha específica.
Configurações da campanha. A chamada seguirá a configuração da campanha (agente, lógica de retry, etc.).
Chamadas de teste. Use is_testing: true para chamadas de teste que não contam para a cobrança.
Apenas campanhas ativas. Chamadas só podem ser feitas para campanhas com status “active”.
Limites de taxa. Esteja ciente dos limites de taxa ao realizar múltiplas chamadas.

Melhores Práticas

  1. Verifique o status da campanha - Verifique se a campanha está ativa antes de realizar chamadas
  2. Use chamadas de teste - Teste sua integração com is_testing: true primeiro
  3. Lide com limites de taxa - Implemente rate limiting adequado em sua aplicação
  4. Valide números de telefone - Garanta que os números de telefone estejam no formato E.164
  5. Monitore o status da chamada - Acompanhe o status da chamada usando o call_id retornado

Endpoints Relacionados

  • Obter Campanha: GET /api/v1/campaigns/{campaign_id}
  • Atualizar Status da Campanha: PATCH /api/v1/campaigns/{campaign_id}/status
  • Realizar uma Chamada: POST /api/v1/calls
  • Listar Chamadas: GET /api/v1/calls
  • Obter Chamadas do Agente: GET /api/v1/agents/{agent_id}/calls