Salta ai contenuti

Quickstart

Questa guida avvia una chiamata in uscita tramite i trunk AI4CALL. Presuppone che siano già disponibili un assistente e un numero AI4CALL.

Crea una chiave in Sicurezza → API Key nel portale e salvala in un secret manager o in una variabile d’ambiente. Servono:

  • OUTBOUND_API_KEY per il servizio outbound;
  • ASSISTANT_API_KEY, la chiave riservata dell’assistente;
  • CALLER_ID, un numero demo o acquistato AI4CALL assegnato all’assistente.

[!NOTE] callerId deve essere un numero presente in Numeri AI4CALL → Routing. Un numero demo può essere assegnato a un solo assistente alla volta.

Finestra del terminale
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 e callResultUrl sono i nomi camelCase attuali. I campi legacy apiKey_assistente e url_esito_chiamata restano accettati per compatibilità.

La richiesta parte dalla tua applicazione verso AI4CALL. Nonostante /webhook/ sia nel percorso, non è una callback ricevuta dalla tua applicazione.

Quando presente, AI4CALL invia l’esito a callResultUrl. Il payload confermato contiene l’identificativo di correlazione, dialstatus e duration.

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

Salva l’internal_id restituito quando la chiamata viene accettata, così il tuo endpoint può associare l’esito alla richiesta iniziale. Questa callback outbound non invia la trascrizione della conversazione.

Se il CDR non è ancora disponibile, recuperalo con GET /getDialstatus/{internal_id} usando lo stesso header X-APIKEY-SECRET-AI4CALL.

Prosegui con Chiamate in uscita per la modalità PBX e tutti i campi disponibili.