Documentación
API de Llamadas (voz).md

Crear llamada telefónica

POST /v2/create-phone-call

Inicia una llamada de voz saliente a través de un agente de Anunzi. El agente llama al número de destino y conduce la conversación según su configuración.


Parámetros del cuerpo

Requeridos

Campo Tipo Descripción
from_number string Número de origen en formato E.164. Debe estar registrado en tu cuenta de Anunzi. Ejemplo: +14157774444
to_number string Número de destino en formato E.164. Ejemplo: +12137774445

Opcionales

Campo Tipo Descripción
override_agent_id string Sobreescribe el agente para esta llamada únicamente, sin modificar la configuración del número.
override_agent_version integer Sobreescribe la versión del agente para esta llamada únicamente.
agent_override object Sobreescribe parámetros específicos del agente para esta llamada. Contiene los sub-objetos agent, retell_llm y conversation_flow.
metadata object Objeto libre para almacenar información adicional. No es procesado por el sistema. Recuperable luego desde el objeto de llamada.
retell_llm_dynamic_variables object Pares clave-valor inyectados dinámicamente en el prompt del agente durante la llamada. Solo aplica para agentes con motor conversacional configurado. Ejemplo: {"nombre_cliente": "Juan"}
custom_sip_headers object Encabezados SIP personalizados para agregar a la llamada. Ejemplo: {"X-Custom-Header": "valor"}
ignore_e164_validation boolean Si es true, omite la validación E.164 del número de origen. Solo aplica con telefonía personalizada. Por defecto: false

Respuesta — 201 Created

Devuelve el objeto de la llamada creada.

Campos del objeto de llamada

Campo Tipo Descripción
call_id string Identificador único de la llamada. Ejemplo: Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6
call_type string Siempre phone_call para llamadas telefónicas.
agent_id string ID del agente utilizado.
agent_version integer Versión del agente utilizado.
call_status string Estado actual: registered | not_connected | ongoing | ended | error
direction string inbound o outbound
from_number string Número de origen.
to_number string Número de destino.
start_timestamp integer Marca de tiempo de inicio en milisegundos (epoch).
end_timestamp integer Marca de tiempo de fin en milisegundos (epoch).
duration_ms integer Duración total en milisegundos.
transcript string Transcripción completa (disponible tras el fin de la llamada).
recording_url string URL del audio de la llamada en formato WAV.
disconnection_reason string Razón de desconexión (ver tabla abajo).
call_analysis object Análisis post-llamada: call_summary, call_successful, user_sentiment, custom_analysis_data.
metadata object Metadatos enviados al crear la llamada.
latency object Métricas de latencia: e2e, asr, llm, tts (cada una con p50, p90, p95, p99, max, min en ms).

Razones de desconexión (disconnection_reason)

Valor Descripción
user_hangup El usuario colgó
agent_hangup El agente finalizó la llamada
call_transfer La llamada fue transferida
voicemail_reached Se detectó buzón de voz
inactivity Inactividad prolongada
max_duration_reached Duración máxima alcanzada
dial_busy Número ocupado
dial_no_answer Sin respuesta
dial_failed Fallo al marcar
error_no_audio_received No se recibió audio
manual_stopped Detenida manualmente vía API

Ejemplo de solicitud

curl --request POST \
     --url https://calls.anunzi.net/v2/create-phone-call \
     --header 'Authorization: Bearer TU_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '{
  "from_number": "+14157774444",
  "to_number": "+12137774445"
}'

Con variables dinámicas y metadatos:

curl --request POST \
     --url https://calls.anunzi.net/v2/create-phone-call \
     --header 'Authorization: Bearer TU_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '{
  "from_number": "+14157774444",
  "to_number": "+12137774445",
  "override_agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
  "retell_llm_dynamic_variables": {
    "nombre_cliente": "María López",
    "producto": "Plan Premium"
  },
  "metadata": {
    "crm_id": "LEAD-9821",
    "campaña": "reactivacion-mayo"
  }
}'

Ejemplo de respuesta

{
  "call_id": "Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6",
  "call_type": "phone_call",
  "agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
  "agent_version": 1,
  "call_status": "registered",
  "direction": "outbound",
  "from_number": "+14157774444",
  "to_number": "+12137774445"
}

Códigos de estado

Código Descripción
201 Llamada iniciada correctamente.
400 Formato de solicitud inválido. Verifica los parámetros.
401 API Key ausente o inválida.
402 Período de prueba vencido.
422 El recurso solicitado no existe bajo tu API Key.
429 Límite de solicitudes alcanzado.
500 Error interno del servidor.
Esc