API voix : passez et recevez des appels depuis votre application
Déclenchez un appel avec une requête, suivez-le statut par statut et recevez chaque événement par webhook signé. Tarification sur devis.
Sur devis
Une API voix permet à votre application de lancer des appels, d’en recevoir et de les piloter, sans centraliser vous-même la téléphonie. Vous envoyez une requête, TELQIO établit l’appel via le fournisseur retenu pour la destination.
Un appel suit des statuts lisibles : ringing, connected, completed ou failed. TELQIO affiche ce statut tel qu’il est connu, sans inventer la cause d’un échec que le réseau n’a pas communiquée.
Pour une mise en relation, l’API relie deux parties : elle appelle la première, puis la seconde, et les connecte. Un scénario d’appel peut ajouter menu, horaires ou transfert.
Comment ça circule
Usages concrets
Appel depuis votre application
Un bouton dans votre interface déclenche l’appel d’un conseiller vers un client.
Mise en relation de deux parties
Reliez un acheteur et un vendeur sans qu’ils échangent leurs numéros.
Notifications vocales
Prévenez un contact par appel quand un événement critique survient dans votre système.
Journal d’appels exploitable
Interrogez les appels par projet, avec durée, statut et durée facturable.
Fonctionnalités
- Appels sortants et entrants par API
- Connexion de deux parties
- Saisie DTMF, menu vocal et conférence selon le fournisseur
- Statuts d’appel ringing, connected, completed et failed
- Webhooks signés pour chaque événement d’appel
- Journal des appels par projet, avec durée et durée facturable
Limites à connaître
- Les commandes d’appel disponibles (DTMF, conférence, transfert) dépendent du fournisseur retenu pour la destination.
- Les appels vers un pays ne sont possibles que si ce pays est validé pour l’appel sortant dans votre contrat.
- Sonnerie, conversation et durée facturable sont trois notions distinctes. Une sonnerie sans réponse ne se facture pas comme une conversation.
- Un appel composé de plusieurs segments techniques peut générer plusieurs lignes de consommation selon le contrat.
- La cause précise d’un échec n’est pas toujours transmise par le réseau. Dans ce cas, le statut reste failed sans explication ajoutée.
curl -X POST "https://api.example.test/v1/calls" \
-H "Authorization: Bearer tq_test_EXEMPLE" \
-H "Idempotency-Key: 7b1d2c4e-0000-4000-8000-000000000002" \
-H "Content-Type: application/json" \
-d '{ "from": "+33199001234", "to": "+33199001235", "project_id": "projet_a" }'
# => { "id": "call_exemple", "status": "ringing", "simulated": true }
# Historique
curl "https://api.example.test/v1/calls?limit=20" \
-H "Authorization: Bearer tq_test_EXEMPLE"
# => { "data": [{ "id": "call_exemple", "direction": "outbound", "status": "completed",
# "duration_seconds": 42, "billable_seconds": 42, "project_id": "projet_a" }],
# "next_cursor": null }Éléments techniques
| Authentification | Jeton Bearer, clé limitée par projet et par environnement |
|---|---|
| Création d’appel | POST /calls, Idempotency-Key obligatoire |
| Statuts | ringing, connected, completed, failed |
| Événements | call.ringing, call.connected, call.completed, call.failed |
| Signature des webhooks | En-tête Telqio-Signature, HMAC-SHA256, tolérance 300 s |
Questions fréquentes
Puis-je appeler tous les pays ?
Non. L’appel sortant n’est possible que vers les pays validés avec le fournisseur retenu et inclus dans votre contrat. La liste se consulte dans le catalogue des pays.
Pourquoi un appel apparaît-il sur plusieurs lignes de consommation ?
Un appel peut comporter plusieurs segments techniques, par exemple une mise en relation de deux parties. Selon le contrat, chaque segment peut donner une ligne. Le détail se lit dans le journal.
Comment recevoir les événements d’appel ?
Par webhook. Chaque requête est signée et porte un identifiant d’événement à dédupliquer. Vérifiez la signature avant de traiter le contenu.
Usages associés
Documentation
Services associés
Parlons de vos appels
Décrivez vos destinations, vos volumes prévus et vos cas d’usage. Nous répondons par un devis détaillé.