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_KEYpara 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]
callerIddebe ser un número presente en Números AI4CALL → Routing. Un número demo solo puede asignarse a un asistente a la vez.
2. Inicia la llamada
Sección titulada «2. Inicia la llamada»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.
3. Recibe el resultado
Sección titulada «3. Recibe el resultado»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.

