Appeler les événements
Tous les événements représentant l'état des appels téléphoniques ont des champs et des significations communs, qu'ils soient délivrés en réponse à des méthodes de contrôle des appels, ou en interrogeant des événements, ou encore par le biais d'un webhook. Tous les événements d'appel ont les propriétés suivantes :
| Propriété | Description |
|---|---|
id | L'identifiant unique de l'événement |
userId | L'identifiant de l'utilisateur du VIS associé à l'événement |
accountId | L'identifiant du compte VIS associé à l'événement |
externalId | L'identifiant unique de l'événement fourni par le fournisseur de communications externes, utilisé uniquement à des fins d'information. |
direction | Soit INBOUND soit OUTBOUND |
phoneNumber | Le numéro de téléphone du correspondant distant |
callerId | Le nom de la partie distante |
state | L'état de l'appel, voir États des événements ci-dessous |
duration | Durée de l'appel (en millisecondes) |
startTime | Date/heure ISO-8601 à laquelle l'appel a commencé. Pour les appels sortants, l'heure de début marque le moment où l'appel est passé ; pour les appels entrants, elle marque le moment où l'appel a été reçu pour la première fois. |
answerTime | Une date/heure ISO-8601 à laquelle l'appel a été pris |
endTime | Date/heure ISO-8601 de la fin de l'appel |
États de l'événement
Les API VIS présentent un modèle d'état d'événement pour les appels téléphoniques, masquant les différences et les complexités de Vonage Business Communications et de Vonage Enterprise. Ces états d'événements sont fournis en réponse aux API de méthodes (telles que placer un appel, obtenir des appels) et inclus dans les notifications d'événements webhook. Il est essentiel de comprendre le modèle d'état d'événement pour créer des intégrations externes.
La machine à états finis suivante décrit les transitions d'état autorisées :
Le seul état initial est Initializing. Les seuls états finaux autorisés sont Answered, Cancelled, Rejectedet Missed. Les états d'appel se trouvant dans l'un des états finaux resteront toujours dans l'état final.
| État | Initiale | Finale | Direction | Transitions autorisées | Description |
|---|---|---|---|---|---|
| Initialisation | Oui | Non | Inbound | Sonnerie, réponse | Un appel a été passé mais le correspondant distant n'a pas encore été alerté. |
| Sonnerie | Non | Non | Entrant, sortant | Actif, Répondu, Annulé, Rejeté, Manquant | Le correspondant distant est alerté (appel sortant) ou un appel entrant est en cours. |
| Actif | Non | Non | Entrant, sortant | Répondu, tenu, tenu à distance | Un appel est actif et les participants sont en train de parler |
| Maintenu | Non | Non | Entrant, sortant | Actif | Un appel actif est actuellement en attente |
| Tenue à distance | Non | Non | Entrant, sortant | Actif | Un correspondant distant d'un appel actif est actuellement en attente |
| Répondu | Non | Oui | Entrant, sortant | Un appel d'une durée non nulle s'est terminé | |
| Annulé | Non | Oui | Sortie | Un appel sortant a été annulé avant que le correspondant distant ne réponde. | |
| Manqué | Non | Oui | Inbound | Un appel entrant n'a pas été pris | |
| Rejeté | Non | Oui | Inbound | Un appel entrant a été rejeté ou envoyé à la messagerie vocale sans avoir été pris. |
Pour chaque État, les valeurs de startTime, answerTime, endTimeet duration suivra certaines règles.
Tous les états d'appel auront un startTime. Seulement Active, Held, Remote Heldet Answered aura un answerTime.
Les endTime restera nulle jusqu'à ce que l'appel atteigne un état final (Answered, Cancelled, Missed, Rejected).
Seuls les appels qui ont atteint la finale Answered aura une durée non nulle.
Obtention des événements d'appel
L'API permet de récupérer les événements d'appel pour les appels actifs ou terminés. Le nombre d'enregistrements d'événements d'appel pouvant être élevé, la réponse peut être paginée. En règle générale, les applications récupèrent le nombre total d'enregistrements pour un ensemble particulier de paramètres de requête, puis récupèrent les événements au cours de plusieurs appels à l'API en utilisant le même ensemble de paramètres de requête et un nombre maximal d'événements à renvoyer par appel.