Ir al contenido

Inicio rápido

Esta guía inicia una llamada saliente mediante los trunks AI4CALL. Da por hecho que ya dispones de un asistente y un número AI4CALL.

1. Mantén las credenciales fuera del código

Sección titulada «1. Mantén las credenciales fuera del código»

Crea una clave en Seguridad → API Key dentro del portal y guárdala en un gestor de secretos o en una variable de entorno. Necesitas:

  • OUTBOUND_API_KEY para el servicio outbound;
  • ASSISTANT_API_KEY, la clave reservada del asistente;
  • CALLER_ID, un número AI4CALL demo o comprado y asignado al asistente.

[!NOTE] callerId debe ser un número presente en Números AI4CALL → Routing. Un número demo solo puede asignarse a un asistente a la vez.

Ventana de terminal
curl --request POST 'https://outcall.ai4call.com/webhook/outbound_call' \
--header "X-APIKEY-SECRET-AI4CALL: $OUTBOUND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"dst": "+390212345678",
"callerId": "'"$CALLER_ID"'",
"assistantApiKey": "'"$ASSISTANT_API_KEY"'",
"callResultUrl": "https://example.com/webhooks/call-result"
}'

assistantApiKey y callResultUrl son los nombres camelCase actuales. Los campos legacy apiKey_assistente y url_esito_chiamata siguen aceptándose por compatibilidad.

La solicitud sale de tu aplicación hacia AI4CALL. Aunque /webhook/ aparezca en la ruta, no es una callback recibida por tu aplicación.

Cuando está presente, AI4CALL envía el resultado a callResultUrl. El payload confirmado contiene el identificador de correlación, dialstatus y duration.

{
"internal_id": "f69d21d0-4a56-4e27-990d-0a71771f0767",
"dialstatus": "ANSWER",
"duration": 42
}

Guarda el internal_id devuelto cuando se acepta la llamada para que tu endpoint pueda asociar el resultado con la solicitud inicial. Esta callback outbound no envía la transcripción de la conversación.

Si el CDR todavía no está disponible, recupéralo con GET /getDialstatus/{internal_id} usando el mismo header X-APIKEY-SECRET-AI4CALL.

Continúa con Llamadas salientes para el modo PBX y todos los campos disponibles.