Share via


Bibliothèque de client Azure Communication Call Automation pour JavaScript - version 1.2.0

Ce package contient un Kit de développement logiciel (SDK) JavaScript pour Azure Communication Call Automation. L’automatisation des appels offre aux développeurs la possibilité de créer des flux de travail d’appels intelligents basés sur le serveur et l’enregistrement des appels pour les canaux vocaux et RTC.

Vue d’ensemble de l’automatisation des appels | Documentation produit

Prise en main

Prérequis

Installation de

npm install @azure/communication-call-automation

Prise en charge des navigateurs

Ensemble JavaScript

Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la façon de procéder, reportez-vous à notre documentation sur le regroupement.

Concepts clés

Nom Description
CallAutomationClient CallAutomationClient est l’interface principale pour les développeurs qui utilisent cette bibliothèque cliente. Il peut être utilisé pour lancer des appels par createCall ou answerCall.
CallConnection CallConnection représente un appel en cours. Une fois l’appel établi avec createCall ou answerCall, d’autres actions peuvent être effectuées pour l’appel, telles que transfer ou addParticipant.
CallMedia CallMedia peut être utilisé pour effectuer des actions liées au média, telles que play, pour lire le fichier multimédia. Cela peut être récupéré à partir de établi CallConnection.
CallRecording CallRecording peut être utilisé pour enregistrer des actions associées, telles que startRecording. Il peut être récupéré à partir de CallAutomationClient.
Événements de rappel Les événements de rappel sont des événements renvoyés pendant la durée de l’appel. Il fournit des informations et l’état de l’appel, tels que CallConnected. CallbackUrl doivent être fournis pendant createCall et answerCall, et les événements de rappel seront envoyés à cette URL. Vous pouvez utiliser callAutomationEventParser pour analyser ces événements lorsqu’ils arrivent.
Événement d’appel entrant Lorsque l’appel entrant se produit (auquel vous pouvez répondre avec answerCall), l’événement eventgrid d’appel entrant est envoyé. Cela est différent des événements de rappel ci-dessus et doit être configuré sur Portail Azure. Pour plus d’informations, consultez Appel entrant .
CallAutomationEventProcessor CallAutomationEventProcessor est un moyen efficace de gérer les événements de rappel de mi-appel, tels que CallConnected. Cela garantit plus facilement la corrélation entre l’appel et les événements. Consultez l’exemple ci-dessous pour son utilisation.

Exemples

Initialiser CallAutomationClient

import { CallAutomationClient } from '@azure/communication-call-automation';
import { DefaultAzureCredential } from "@azure/identity"; 

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential(); 
const endpointUrl = '<ENDPOINT>' 
const callAutomationClient = new CallAutomationClient(endpointUrl, credential); 

appel Create

import { CommunicationUserIdentifier } from "@azure/communication-common";
import { CallAutomationClient, CallInvite } from '@azure/communication-call-automation';

// target endpoint for ACS User
const target: CommunicationUserIdentifier = {
  communicationUserId:
    "8:acs:...",
}

// make invitation
const callInvite: CallInvite = {
   targetParticipant:target
};

// callback url to recieve callback events
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

// send out the invitation, creating call
const response = callAutomationClient.createCall(callInvite, callbackUrl);

Lire le média

// from callconnection of response above, play media of media file
const myFile: FileSource = { uri: "https://<FILE-SOURCE>/<SOME-FILE>.wav" }
const response = callConnection.getCallMedia().playToAll(myFile);

Gérer les événements de rappel Mid-Connection

Pour gérer facilement les événements de mi-connexion, le KIT de développement logiciel (SDK) d’Call Automation permet de gérer plus facilement ces événements. Consultez CallAutomationEventProcessor. Cela garantit plus facilement la corrélation entre l’appel et les événements.

const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);

ProcessEvents est requis pour qu’EventProcessor fonctionne. Une fois l’événement consommé par EventProcessor, vous pouvez commencer à utiliser sa fonctionnalité.

Voir ci-dessous par exemple : où vous effectuez un appel avec CreateCall et attendez l’événement CallConnected de l’appel.

// send out the invitation, creating call
const callInvite = new CallInvite(target);
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";
const callResult = callAutomationClient.createCall(callInvite, callbackUrl);

// giving 30 seconds timeout for waiting on createCall's event, 'CallConnected'
const createCallEventResult : CreateCallEventResult = await callResult.waitForEventProcessor(undefined, 30000);
// once this returns, call is now established!

// check if it was successful
if (createCallEventResult.isSuccess)
{
  // work with callConnected event
  const callConnectedEvent : CallConnected = createCallEventResult.successResult!;
}

Dépannage

Étapes suivantes

Contribution

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.