aethexDocs

Référence API

API Appels

Passez des appels téléphoniques sortants, enregistrez les appels entrants, envoyez des lots, et inspectez les statuts. Les lectures utilisent calls:read ; tout ce qui déclenche une numérotation utilise calls:write.

URL de base
https://api.aethexai.com/api/v1
Endpoints
18
Portées
calls:readcalls:write
GET/calls

Historique paginé de tous les appels enregistrés pour le compte.

Lister les appels

Retourne tous les appels de votre compte, du plus récent au plus ancien. Filtrez par statut, direction, ou les deux.

Chemin & Requête

4
  • statusstringoptionnel

    Filtrer par statut d'appel. L'un de queued, ringing, in-progress, connected, completed, failed, no-answer, busy, ou canceled.

  • directionstringoptionnel

    Filtrer par direction. L'un de inbound ou outbound.

  • limitintegeroptionnel

    Nombre maximum de résultats. Par défaut 50, minimum 1, maximum 1000.

  • offsetintegeroptionnel

    Nombre de résultats à ignorer depuis le début. Par défaut 0, minimum 0.

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

422Entité non traitable

limit est hors de [1, 1000] ou offset est négatif, ou direction n'est pas inbound/outbound.

Limitez limit à [1, 1000], définissez offset >= 0, et utilisez une valeur direction valide.

POST/calls

Persister un enregistrement d'appel sans composer quiconque.

Créer un enregistrement d'appel

Crée un enregistrement d'appel sans composer quiconque. Utile pour journaliser les appels arrivés via un autre système, ou pour pré-staged des métadonnées avant qu'autre chose ne compose.

Corps de la requête

5
  • agent_idstring (uuid)requis

    L'agent associé à l'appel.

  • directionstringoptionnel

    Direction de l'appel. L'un de inbound ou outbound. Par défaut outbound si omis.

  • to_numberstring (E.164)optionnel

    Numéro de téléphone E.164 de l'appelé (ex. +14155551234).

  • from_numberstring (E.164)optionnel

    Numéro de téléphone E.164 de l'appelant. Exemple : +14155559876. Validé par la regex ^\+[1-9]\d{1,14}$. Ce point d'accès ne fait que journaliser l'enregistrement, donc from_number est facultatif ici. POST /calls/trigger et les entrées par destinataire dans POST /calls/batch rejettent tous deux un from_number manquant avec 422 from_number_required.

  • metadataobjectoptionnel

    JSON arbitraire stocké sur l'appel pour votre propre comptabilité. Par défaut {'}.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

404Introuvable

Aucun agent n'existe avec cet ID.

Vérifiez l'ID de l'agent avec GET /agents, ou créez l'agent d'abord.

422Entité non traitable

agent_id est vide, direction n'est pas inbound/outbound, ou to_number/from_number n'est pas un E.164 valide.

Envoyez un agent_id non vide, une direction valide, et des numéros E.164 comme +14155551234.

POST/calls/trigger

Persister un enregistrement d'appel et composer le destinataire de manière asynchrone (retourne 202).

Déclencher un appel sortant

Déclenche un appel sortant. Renvoie immédiatement 202 Accepted avec l'enregistrement Call placé en file d'attente ; l'appel est ensuite composé en arrière-plan. Utilisez GET /calls/{id} pour vérifier son statut final.Le from_number doit correspondre à un numéro de téléphone enregistré sur votre compte et autorisé pour les appels sortants (voir Numéros de téléphone). Le fournisseur est déterminé automatiquement à partir de cet enregistrement. Si l'appel ne peut pas démarrer, l'enregistrement Call passe à l'état failed et metadata.error_message indique la raison de l'échec.

Corps de la requête

5
  • agent_idstring (uuid)requis

    L'agent qui doit gérer cet appel.

  • to_numberstring (E.164)requis

    Numéro du destinataire en format E.164 (ex. +14155551234).

  • from_numberstring (E.164)requis

    Identifiant de l'appelant au format E.164. Exemple : +14155559876. Validé par la regex ^\+[1-9]\d{1,14}$. Doit être un numéro enregistré sur ce compte avec les appels sortants activés (voir Numéros de téléphone). Requis — l'omettre retourne 422 from_number_required.

  • dynamic_variablesobjectoptionnel

    Valeurs par appel pour les placeholders {{ variable_name }} définis sur l'agent. Les valeurs stockées sur l'agent servent de valeurs par défaut ; passez des clés ici pour les remplacer par appel et pour renseigner tout placeholder sans valeur par défaut. Les valeurs doivent être des chaînes, nombres ou booléens. Les clés utilisant le préfixe réservé system__ sont rejetées car les placeholders système pris en charge sont remplis par Aethex.

  • metadataobjectoptionnel

    JSON arbitraire stocké sur l'appel pour votre propre comptabilité. Par défaut {'}.

Erreurs

12
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

402Paiement requis

Le compte est dans un état de facturation bloqué.

Visitez l'action_url retourné dans le payload d'erreur pour mettre à jour la facturation.

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

403Numéro en opposition

to_number figure sur la liste d'opposition de votre compte (code: number_suppressed). La réponse indique la source : une entrée que vous avez ajoutée, la demande de la personne elle-même, ou un STOP envoyé par SMS à l'un de vos numéros. Aucun appel n'a été créé.

Ne réessayez pas : rien concernant ce numéro ne changera la réponse. Retirez-le de la liste que vous appelez. Si l'entrée a été ajoutée par erreur et qu'elle vous appartient, levez-la avec POST /suppressions/{id}/release — les entrées consignant la demande de la personne ne peuvent pas être levées.

404Introuvable

Aucun agent n'existe avec cet ID.

Vérifiez l'ID de l'agent avec GET /agents.

422from_number manquant

Aucun from_number n'a été fourni dans le corps de la requête.

Envoyez un from_number enregistré sur votre compte avec le sortant activé.

422Entité non traitable (from_number non enregistré)

Le from_number résolu n'est pas enregistré sur ce compte.

Enregistrez d'abord le numéro via POST /api/v1/phone-numbers/{provider}/register, puis réessayez.

422Entité non traitable (sortant désactivé)

Le from_number résolu est enregistré mais a les appels sortants désactivés.

Activez le sortant sur le numéro via PATCH /api/v1/phone-numbers/{id}.

422Entité non traitable (validation)

agent_id vide, to_number manquant ou non E.164, from_number non E.164, dynamic_variables invalide, ou un placeholder du prompt sans valeur par défaut ni valeur fournie.

Envoyez un agent_id non vide, un to_number E.164 valide, un from_number E.164 valide, et une valeur pour chaque placeholder sans valeur par défaut configurée sur l'agent.

429Trop de requêtes

Votre compte ou le pool de capacité partagé est à sa limite. La réponse inclut un en-tête Retry-After.

Respectez l'en-tête Retry-After et réessayez.

503Service temporairement indisponible

Nous sommes actuellement à pleine capacité.

Réessayez après un court backoff. Si persistant, contactez [email protected].

503Liste d'opposition illisible

La liste d'opposition n'a pas pu être lue (code: suppression_check_unavailable) ; l'appel a donc été refusé plutôt que passé. C'est transitoire, et délibérément pas un 403 : le silence de la liste ne vaut jamais autorisation.

Réessayez après Retry-After secondes. La même requête peut être renvoyée sans risque ; aucun appel n'a été créé.

POST/calls/batch

Mettre en file 1 à 10 000 appels sortants pour un agent en une seule requête.

Appels en lot

Envoie jusqu'à 10 000 appels sortants pour un agent et retourne un batch_id. Accepte la forme de compatibilité (call_name, phone_number destinataire, agent_phone_number_id, scheduled_time_unix, telephony_call_config, target_concurrency_limit) et la forme Aethex existante (name, to_number, from_number par destinataire, start_at). Le même cycle de vie est aussi disponible via les alias de compatibilité POST /convai/batch-calling/submit, GET /convai/batch-calling/workspace, GET /convai/batch-calling/{batch_id}, POST /convai/batch-calling/{batch_id}/cancel, POST /convai/batch-calling/{batch_id}/retry et DELETE /convai/batch-calling/{batch_id}. Interrogez GET /calls/batch/{batch_id} pour le détail par destinataire.Planification. Passez scheduled_time_unix ou start_at pour différer l'envoi. end_at reste une date limite stricte pour abandonner les destinataires non démarrés.Statuts. Les réponses canoniques /calls/batch utilisent les états Aethex bruts : scheduled, queued, running, completed, failed, expired ou cancelled. Les alias de compatibilité /convai/batch-calling/* les convertissent en pending, in_progress, completed, failed ou cancelled et conservent l'état brut dans legacy_status.Transport. Les destinataires phone_number sont appelés via Twilio et SIP. Avec whatsapp_params, le lot est appelé sur WhatsApp : les destinataires qui autorisent déjà les appels depuis le numéro sonnent aussitôt, et tous les autres reçoivent le modèle de demande d'autorisation d'appel puis sont appelés dès qu'ils touchent Autoriser. Un destinataire en attente apparaît en awaiting_permission, et le lot reste running jusqu'à ce que le dernier ait été appelé, ait refusé, ou ait laissé expirer la demande (24 heures, ou end_at).

Corps de la requête

13
  • agent_idstring (uuid)requis

    L'agent qui doit gérer chaque appel du lot.

  • recipientsobject[]requis

    Tableau d'objets destinataires. Minimum 1, maximum 10 000. Chaque entrée peut utiliser phone_number (forme de compatibilité) ou to_number (hérité), plus id, from_number, variables et conversation_initiation_client_data.dynamic_variables optionnels. Sur un lot WhatsApp, whatsapp_user_id (le numéro WhatsApp de la personne, en chiffres) peut remplacer phone_number, et from_number ne s'applique pas. Si agent_phone_number_id est omis, chaque destinataire téléphone doit fournir un from_number appartenant au tenant et autorisé en sortant. Un destinataire peut aussi porter transfer_number : la destination vers laquelle cet appel est transféré, qui remplace celle de l'agent pour cet appel uniquement. Un numéro E.164, ou un tableau d'au plus cinq essayés dans l'ordre lorsqu'une ligne ne répond pas. Omettez-le pour conserver le réglage de l'agent. Les destinataires d'un lot sont stockés durablement, donc variables ne peut pas inclure de clés secret__* ; utilisez POST /calls/trigger pour les variables dynamiques secrètes par appel.

  • call_namestringoptionnel

    Libellé de compatibilité. name est accepté comme alias hérité.

  • namestringoptionnel

    Libellé de lot lisible optionnel, max 255 caractères.

  • descriptionstringoptionnel

    Description optionnelle, max 2000 caractères.

  • start_atstring (ISO 8601, timezone-aware)optionnel

    Différer la première numérotation jusqu'à cet horodatage. Doit inclure un décalage de fuseau horaire.

  • end_atstring (ISO 8601, timezone-aware)optionnel

    Date limite stricte. Le numéroteur abandonne les destinataires non démarrés après cet horodatage.

  • scheduled_time_unixintegeroptionnel

    Horodatage Unix pour planifier l'envoi. Alias de start_at ; si les deux sont fournis, ils doivent représenter le même instant.

  • agent_phone_number_idstring (uuid)optionnel

    UUID du numéro du tenant à utiliser comme expéditeur par défaut pour les destinataires sans from_number.

  • whatsapp_paramsobjectoptionnel

    Passe le lot sur WhatsApp. whatsapp_phone_number_id désigne le numéro connecté (son id ou l'id de numéro de Meta ; facultatif si l'espace de travail n'en a qu'un), et whatsapp_call_permission_request_template_name avec whatsapp_call_permission_request_template_language_code désignent un modèle approuvé comportant une demande d'autorisation d'appel et sans variables — chaque destinataire le reçoit tel quel. Chaque personne ne peut figurer qu'une fois, et un destinataire donné avec phone_number et whatsapp_user_id doit être la même personne. Nécessite le scope whatsapp_messages:write et compte dans le budget d'envoi WhatsApp. agent_phone_number_id et from_number ne s'appliquent pas.

  • telephony_call_configobjectoptionnel

    Paramètres téléphoniques optionnels. ringing_timeout_secs contrôle la durée de sonnerie Twilio ou SIP avant abandon ; défaut 60 secondes.

  • target_concurrency_limitintegeroptionnel

    Nombre maximal d'appels simultanés pour ce lot. Les limites d'admission tenant et cluster restent appliquées.

  • timezonestringoptionnel

    Libellé de fuseau IANA optionnel retourné pour l'interface et les rapports ; la planification utilise des horodatages absolus.

Erreurs

9
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

403Scope manquant

Un lot WhatsApp envoie à chaque destinataire une demande d'autorisation d'appel, et la clé n'a pas whatsapp_messages:write.

Utilisez une clé avec whatsapp_messages:write : les nouvelles clés l'ont. La rotation conserve les scopes d'une clé, donc créez une nouvelle clé plutôt que de renouveler une clé plus ancienne.

422Appels indisponibles depuis ce numéro

WhatsApp ne permet pas aux entreprises de passer des appels depuis des numéros enregistrés aux États-Unis, au Canada, en Égypte, au Vietnam ou au Nigeria.

Lancez le lot depuis un numéro enregistré dans un autre pays.

422Appels désactivés pour ce numéro

Meta a désactivé les appels pour le numéro WhatsApp, ou ne les a pas encore activés (code: whatsapp_calling_off). Le lot est refusé avant que quiconque soit sollicité.

Activez les appels avec POST /whatsapp-accounts/:account_id/calling, puis soumettez de nouveau le lot.

404Introuvable

Aucun agent n'existe avec cet ID.

Vérifiez l'ID de l'agent avec GET /agents.

422Destinataires invalides

Un ou plusieurs destinataires ont un from_number manquant, non enregistré, ou avec le sortant désactivé.

Corrigez chaque ligne défaillante avant de resoumettre. Pas de lots partiels acceptés.

422Erreur de validation

recipients est vide ou dépasse 10 000 ; un to_number n'est pas E.164 ; name dépasse 255 caractères ; ou start_at/end_at manquent de fuseau horaire.

Respectez les limites des champs et incluez un fuseau horaire sur chaque datetime.

503Service temporairement indisponible

Nous sommes actuellement à pleine capacité.

Réessayez après un court backoff. Si persistant, contactez [email protected].

GET/calls/batch

Lister les lots d'appels du workspace.

Lister les lots d'appels

Retourne les lots du tenant courant, du plus récent au plus ancien. Utilisez last_doc avec la valeur next_doc retournée pour paginer.

Chemin & Requête

3
  • limitintegeroptionnel

    Taille de page, de 1 à 1000. Défaut 100.

  • last_docstringoptionnel

    Curseur retourné comme next_doc par la page précédente.

  • agent_idstring (uuid)optionnel

    Filtrer les lots pour un agent.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

GET/calls/batch/:batch_id

Interroger le cycle de vie d'un envoi en lot.

Obtenir le statut du lot

Retourne l'état courant d'un lot avec le détail par destinataire. Un destinataire figurant sur la liste d'opposition du compte revient avec le statut skipped et est compté dans skipped plutôt que dans failed ; un skipped est un dénouement définitif, donc un lot entièrement ignoré est entièrement résolu. Les destinataires ignorés n'émettent aucun call.ended — il n'y a pas d'appel à rapporter. Les réponses canoniques /calls/batch utilisent les états Aethex bruts ; les alias /convai/batch-calling/* les convertissent vers le vocabulaire de compatibilité et conservent la valeur brute dans legacy_status.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

404Introuvable

Aucun lot avec cet ID n'existe.

Confirmez le batch_id retourné par POST /calls/batch.

422Entité non traitable

batch_id n'est pas un UUID valide.

Passez l'UUID retourné par POST /calls/batch.

POST/calls/batch/:batch_id/cancel

Arrêter l'envoi futur d'un lot et marquer les destinataires annulés.

Annuler un lot d'appels

Annule le plan de contrôle du lot et empêche l'envoi des destinataires restants. Les appels déjà remis à l'opérateur ne sont pas coupés de force par ce point d'accès.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

POST/calls/batch/:batch_id/retry

Réessayer les destinataires en échec ou sans réponse.

Réessayer un lot d'appels

Replace en attente les destinataires en échec, occupés, sans réponse, annulés côté opérateur ou différés, puis remet le lot en file. Les destinataires réussis ne sont pas dupliqués. Les destinataires skipped au titre de la liste d'opposition ne sont jamais relancés : rien concernant ces numéros ne sera différent lors d'un passage ultérieur.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

DELETE/calls/batch/:batch_id

Supprimer le lot et ses enregistrements destinataires.

Supprimer un lot d'appels

Supprime la ressource de lot et ses tentatives destinataires. L'historique des appels et conversations reste disponible via les APIs d'appels et conversations.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

POST/convai/batch-calling/submit

Le même appel que `POST /calls/batch`, sous le nom courant des appels par lot.

Soumettre un lot (alias de compatibilité)

Un alias de POST /calls/batch, pour qu'un client écrit avec les noms habituels submit/workspace/cancel/retry fonctionne sans modification. Même corps, même implémentation, une seule différence dans la réponse : status vaut pending, in_progress, completed, failed ou cancelled, et la valeur interne brute passe dans legacy_status. Voir POST /calls/batch ci-dessus pour le corps complet.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

GET/convai/batch-calling/workspace

La même liste que `GET /calls/batch`, sous le nom workspace.

Lister les lots (alias de compatibilité)

Un alias de GET /calls/batch. Chaque ligne porte le status converti à côté du legacy_status brut ; tout le reste est identique à la liste canonique.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

GET/convai/batch-calling/:batch_id

Le même enregistrement que `GET /calls/batch/{batch_id}`.

Récupérer un lot (alias de compatibilité)

Un alias de GET /calls/batch/{batch_id}, avec status converti vers le vocabulaire pending/in_progress et la valeur brute dans legacy_status.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

POST/convai/batch-calling/:batch_id/cancel

Le même appel que `POST /calls/batch/{batch_id}/cancel`.

Annuler un lot (alias de compatibilité)

Un alias de POST /calls/batch/{batch_id}/cancel. Arrête d'appeler les destinataires non encore démarrés ; les appels en cours vont à leur terme.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

POST/convai/batch-calling/:batch_id/retry

Le même appel que `POST /calls/batch/{batch_id}/retry`.

Relancer un lot (alias de compatibilité)

Un alias de POST /calls/batch/{batch_id}/retry. Rappelle les destinataires en échec, sans toucher à ceux qui ont abouti.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

DELETE/convai/batch-calling/:batch_id

Le même appel que `DELETE /calls/batch/{batch_id}`.

Supprimer un lot (alias de compatibilité)

Un alias de DELETE /calls/batch/{batch_id}. Renvoie 204 sans corps.

Chemin & Requête

1
  • batch_idstring (uuid)requis

    UUID du lot retourné par POST /calls/batch.

Erreurs

2
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

GET/calls/:call_id

Récupérer un seul enregistrement d'appel par ID.

Obtenir un appel

Retourne l'enregistrement complet d'un seul appel. Les numérotations échouées contiennent un metadata.error_message expliquant ce qui s'est mal passé.

Chemin & Requête

1
  • call_idstring (uuid)requis

    UUID de l'appel.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

404Introuvable

Aucun appel avec cet ID n'existe.

Confirmez le call_id depuis POST /calls/trigger ou GET /calls.

422Entité non traitable

call_id n'est pas un UUID valide.

Passez l'ID d'appel depuis POST /calls/trigger ou GET /calls.

GET/calls/:call_id/status

Lecture légère du statut téléphonique pour les interrogations.

Obtenir le statut d'un appel

Version allégée de Obtenir un appel qui retourne uniquement le statut, le fournisseur, et la durée écoulée. Utilisez-la pour les boucles d'interrogation serrées où vous n'avez pas besoin de l'enregistrement complet.

Chemin & Requête

1
  • call_idstring (uuid)requis

    UUID de l'appel.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:read.

Utilisez une clé API ayant calls:read.

404Introuvable

Aucun appel avec cet ID n'existe.

Confirmez le call_id depuis POST /calls/trigger ou GET /calls.

422Entité non traitable

call_id n'est pas un UUID valide.

Passez l'ID d'appel depuis POST /calls/trigger ou GET /calls.

POST/calls/:call_id/end

Raccrocher un appel en cours, quel que soit l'opérateur.

Mettre fin à un appel

Raccroche immédiatement un appel en cours, même en pleine phrase, quel que soit l'opérateur : Twilio, SIP, Microsoft Teams, WhatsApp ou une session navigateur. Le champ status de la réponse indique ce qui s'est passé. ending signifie que l'opérateur a reçu la demande de raccrocher ; l'appel atteint ensuite son statut final par le rappel habituel de l'opérateur, en général en quelques secondes. Si l'appel était déjà terminé, la réponse porte son statut final (completed, failed, busy, no-answer ou canceled), ou ended lorsque l'opérateur signale l'appel terminé avant que ce statut final soit enregistré. Seul ending signifie que cette requête a mis fin à l'appel. La requête peut être répétée sans risque.

Chemin & Requête

1
  • call_idstring (uuid)requis

    UUID de l'appel à raccrocher.

Erreurs

7
401Non autorisé

Clé API manquante ou invalide.

Envoyez une clé live valide dans X-API-Key ou Authorization: Bearer ....

403Interdit

La clé API n'a pas la portée calls:write.

Utilisez une clé API ayant calls:write.

404Introuvable

Aucun appel avec cet ID n'existe pour votre compte.

Confirmez le call_id depuis POST /calls/trigger ou GET /calls.

409Conflit

L'appel n'a pas encore de ligne opérateur ni de session active à terminer, par exemple un appel de lot pas encore composé, ou son fournisseur ne peut pas être terminé de cette façon.

Pour un appel de lot pas encore composé, annulez plutôt son lot. Sinon, réessayez une fois l'appel connecté.

422Entité non traitable

call_id n'est pas un UUID valide.

Passez l'ID d'appel depuis POST /calls/trigger ou GET /calls.

502Passerelle incorrecte

L'opérateur n'a pas accepté la demande de raccrocher ou était injoignable. L'appel est peut-être encore en cours.

Réessayez la requête.

503Service indisponible

Les identifiants opérateur enregistrés pour cet appel ne peuvent pas être utilisés pour le moment.

Réessayez plus tard. Contactez le support si le problème persiste.