Aller au contenu

Démarrage rapide

Ce guide lance un appel sortant via les trunks AI4CALL. Il suppose qu’un assistant et un numéro AI4CALL sont déjà disponibles.

Créez une clé dans Sécurité → API Key sur le portail et stockez-la dans un gestionnaire de secrets ou une variable d’environnement. Vous avez besoin de :

  • OUTBOUND_API_KEY pour le service outbound ;
  • ASSISTANT_API_KEY, la clé confidentielle de l’assistant ;
  • CALLER_ID, un numéro AI4CALL de démonstration ou acheté et attribué à l’assistant.

[!NOTE] callerId doit être un numéro présent dans Numéros AI4CALL → Routing. Un numéro de démonstration ne peut être attribué qu’à un seul assistant à la fois.

Fenêtre 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 et callResultUrl sont les noms camelCase actuels. Les champs legacy apiKey_assistente et url_esito_chiamata restent acceptés pour compatibilité.

La requête part de votre application vers AI4CALL. Même si /webhook/ figure dans le chemin, il ne s’agit pas d’une callback reçue par votre application.

Lorsqu’il est fourni, AI4CALL envoie le résultat à callResultUrl. Le payload confirmé contient l’identifiant de corrélation, dialstatus et duration.

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

Enregistrez l’internal_id retourné lorsque l’appel est accepté afin que votre endpoint puisse associer le résultat à la requête initiale. Cette callback outbound n’envoie pas la transcription de la conversation.

Si le CDR n’est pas encore disponible, récupérez-le avec GET /getDialstatus/{internal_id} en utilisant le même header X-APIKEY-SECRET-AI4CALL.

Poursuivez avec Appels sortants pour le mode PBX et l’ensemble des champs disponibles.