Estado de una llamada
Referencia del endpoint GET /api/v1/calls/{call_id} para consultar el estado y el resultado de una llamada saliente lanzada por API.
Estado de una llamada
Cuando lanzas una llamada con POST /api/v1/calls, la respuesta llega al instante y solo confirma que se ha empezado a marcar. Con este endpoint puedes consultar después qué ha pasado: si sigue en curso o ha terminado, cuánto ha durado y, una vez analizada, su transcripción, su resumen y sus indicadores.
Método y URL
GET https://atendy.es/api/v1/calls/{call_id}El call_id es exactamente el valor que devolvió el POST, con el formato call-out- seguido de 12 caracteres. La autenticación es la misma clave sk_live_ en la cabecera x-api-key, y solo puedes consultar llamadas de tu propia cuenta.
curl https://atendy.es/api/v1/calls/call-out-4f3a9c2b1d7e \
-H "x-api-key: sk_live_tu_clave_aqui"Respuesta de una llamada en curso
{
"call_id": "call-out-4f3a9c2b1d7e",
"agent_id": "1a2b3c4d-0000-0000-0000-000000000000",
"to": "+34600000000",
"started_at": "2026-08-06T09:31:12.480Z",
"duration_seconds": 0,
"status": "in_progress",
"analysis": "pending",
"recording_available": false,
"live": {
"sip_call_status": "ringing",
"room_open": true
}
}Respuesta de una llamada terminada y analizada
{
"call_id": "call-out-4f3a9c2b1d7e",
"agent_id": "1a2b3c4d-0000-0000-0000-000000000000",
"to": "+34600000000",
"started_at": "2026-08-06T09:31:12.480Z",
"duration_seconds": 74,
"status": "completed",
"analysis": "done",
"recording_available": true,
"summary": "El cliente confirma la cita del jueves a las 10:00.",
"sentiment": "positivo",
"kpis": { "cita_confirmada": "si" },
"transcript": [
{ "role": "agent", "text": "Buenos dias, le llamo para confirmar su cita." },
{ "role": "user", "text": "Si, perfecto, el jueves a las diez." }
]
}Campos
| Campo | Descripción |
|---|---|
| status | in_progress mientras la llamada sigue abierta, completed cuando ha terminado y se ha guardado su cierre. |
| analysis | pending mientras el resumen y los indicadores aún se están generando, done cuando ya son definitivos. El análisis tarda alrededor de un minuto desde que cuelga la llamada. |
| duration_seconds | Duración registrada. Mientras está en curso vale 0. Cuidado al interpretarla en una llamada que nadie contestó: en ese caso el valor es el tiempo que estuvo sonando. |
| to | Número con el que se habló. |
| summary, sentiment, kpis, transcript | Solo aparecen cuando la llamada ha terminado. Sus valores son definitivos cuando analysis vale done; antes pueden llegar vacíos. |
| recording_available | Indica si esa llamada tiene grabación guardada. La grabación se escucha y se descarga desde el Historial del panel. |
| live | Bloque opcional y solo mientras la llamada está en curso. Ver más abajo. |
El bloque live: saber si ya han descolgado
El campo status no distingue entre una llamada que está sonando y otra en la que ya se está hablando: en ambos casos vale in_progress. Para esa diferencia se incluye el bloque live, que se consulta en tiempo real a la centralita en el momento de tu petición y no queda guardado en ninguna parte. El valor sip_call_status suele ser dialing o ringing mientras suena y active cuando han descolgado.
Lo que este endpoint NO te puede decir
Preferimos decirlo claro antes de que construyas encima. Atendy no registra el motivo por el que una llamada no llegó a hablarse, así que no podemos devolverte un estado que diga si comunicaba, si nadie lo cogió, si lo rechazaron o si saltó el buzón: en todos esos casos verás una llamada completed con la transcripción vacía. Tampoco existe el instante exacto en que colgaron. Si necesitas distinguir esos desenlaces, díselo a tu contacto en Atendy y lo valoramos: requiere guardar información que hoy no se guarda.
Errores
| Código | Significado | Qué hacer |
|---|---|---|
| 400 | El call_id no tiene el formato esperado. | Usa el valor tal cual lo devolvió el POST, sin recortarlo. |
| 401 | Clave de API no válida o ausente. | Mismo caso que en el resto de la API. |
| 403 | Plan insuficiente. | La API requiere el plan Escala. |
| 404 | No hay registro de esa llamada. | Si acabas de lanzarla, es normal: la llamada tarda unos segundos en registrarse. Espera y vuelve a consultar. Si persiste, comprueba que el call_id es correcto y que pertenece a tu cuenta. |
| 429 | Demasiadas consultas. | El límite es de 120 consultas por minuto, más alto que el de lanzar llamadas. Espera los segundos que indica Retry-After. |