API de voz: haga y reciba llamadas desde su aplicación
Inicie una llamada con una solicitud, sígala estado por estado y reciba cada evento por webhook firmado. Tarifas bajo presupuesto.
Bajo presupuesto
Una API de voz permite que su aplicación inicie llamadas, las reciba y las controle sin que usted opere la telefonía. Usted envía una solicitud y TELQIO establece la llamada a través del proveedor elegido para ese destino.
Una llamada pasa por estados legibles: ringing, connected, completed o failed. TELQIO muestra el estado tal como se conoce y no inventa la causa de un fallo que la red no ha comunicado.
Para conectar a dos partes, la API llama a la primera, luego a la segunda y las une. Un flujo de llamadas puede añadir un menú, un horario o una transferencia.
Cómo circula
Usos concretos
Llamada desde su aplicación
Un botón en su interfaz inicia la llamada de un asesor a un cliente.
Conexión entre dos partes
Conecte a un comprador y un vendedor sin que vean el número del otro.
Notificaciones por voz
Avise a un contacto por teléfono cuando ocurra un evento crítico en su sistema.
Un registro de llamadas consultable
Consulte las llamadas por proyecto, con duración, estado y duración facturable.
Funcionalidades
- Llamadas salientes y entrantes por API
- Conexión de dos partes
- Entrada DTMF, menús de voz y conferencias según el proveedor
- Estados de llamada ringing, connected, completed y failed
- Webhooks firmados para cada evento de llamada
- Registro de llamadas por proyecto, con duración y duración facturable
Límites que conviene conocer
- Los comandos de llamada disponibles (DTMF, conferencia, transferencia) dependen del proveedor elegido para el destino.
- Las llamadas a un país solo son posibles si ese país está validado para llamadas salientes en su contrato.
- Timbre, conversación y duración facturable son tres conceptos distintos. Un timbre sin respuesta no se factura como una conversación.
- Una llamada compuesta por varios segmentos técnicos puede generar varias líneas de consumo, según el contrato.
- La red no siempre comunica la causa exacta de un fallo. En ese caso, el estado queda en failed sin explicación añadida.
curl -X POST "https://api.example.test/v1/calls" \
-H "Authorization: Bearer tq_test_EXEMPLE" \
-H "Idempotency-Key: 7b1d2c4e-0000-4000-8000-000000000002" \
-H "Content-Type: application/json" \
-d '{ "from": "+33199001234", "to": "+33199001235", "project_id": "proyecto_a" }'
# => { "id": "call_ejemplo", "status": "ringing", "simulated": true }
# Historial
curl "https://api.example.test/v1/calls?limit=20" \
-H "Authorization: Bearer tq_test_EXEMPLE"
# => { "data": [{ "id": "call_ejemplo", "direction": "outbound", "status": "completed",
# "duration_seconds": 42, "billable_seconds": 42, "project_id": "proyecto_a" }],
# "next_cursor": null }Aspectos técnicos
| Autenticación | Token Bearer, clave limitada por proyecto y entorno |
|---|---|
| Crear una llamada | POST /calls, Idempotency-Key obligatoria |
| Estados | ringing, connected, completed, failed |
| Eventos | call.ringing, call.connected, call.completed, call.failed |
| Firma de webhooks | Cabecera Telqio-Signature, HMAC-SHA256, tolerancia de 300 s |
Preguntas frecuentes
¿Puedo llamar a todos los países?
No. La llamada saliente solo funciona hacia los países validados con el proveedor elegido e incluidos en su contrato. Puede consultarlos en el catálogo de países.
¿Por qué una llamada aparece en varias líneas de consumo?
Una llamada puede tener varios segmentos técnicos, por ejemplo al conectar a dos partes. Según el contrato, cada segmento puede dar una línea. El detalle se lee en el registro.
¿Cómo recibo los eventos de llamada?
Por webhook. Cada solicitud va firmada y lleva un identificador de evento que conviene deduplicar. Verifique la firma antes de procesar el contenido.
Usos relacionados
Documentación
Servicios relacionados
Hablemos de sus llamadas
Describa sus destinos, los volúmenes previstos y sus casos de uso. Respondemos con un presupuesto detallado.