AtendyDocumentación Ir al panel

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.

Si prefieres no consultar, configura el webhook de fin de llamada: Atendy te envía el resultado en cuanto está listo, sin que tengas que preguntar. Este endpoint es la alternativa para sistemas a los que les resulte más cómodo preguntar que recibir.

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

CampoDescripción
statusin_progress mientras la llamada sigue abierta, completed cuando ha terminado y se ha guardado su cierre.
analysispending 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_secondsDuració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.
toNúmero con el que se habló.
summary, sentiment, kpis, transcriptSolo aparecen cuando la llamada ha terminado. Sus valores son definitivos cuando analysis vale done; antes pueden llegar vacíos.
recording_availableIndica si esa llamada tiene grabación guardada. La grabación se escucha y se descarga desde el Historial del panel.
liveBloque 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.

El bloque live es información auxiliar y puede no venir. Si la centralita no responde en ese instante, el resto de la respuesta llega igual, simplemente sin ese bloque. No construyas tu lógica dando por hecho que siempre estará.

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ódigoSignificadoQué hacer
400El call_id no tiene el formato esperado.Usa el valor tal cual lo devolvió el POST, sin recortarlo.
401Clave de API no válida o ausente.Mismo caso que en el resto de la API.
403Plan insuficiente.La API requiere el plan Escala.
404No 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.
429Demasiadas 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.
Si vas a consultar en bucle, hazlo con cabeza: una consulta cada 5 o 10 segundos mientras la llamada está en curso, y espaciándolas después. Y recuerda que el resumen no está listo hasta aproximadamente un minuto después de colgar, así que no tiene sentido consultar cada segundo esperándolo.