Partager via


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

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

Vue d’ensemble de la documentation sur le produit | Automation des appels

Commencer

Conditions préalables

  • Un abonnement Azure .
  • Ressource Communication Services existante. Si vous devez créer la ressource, vous pouvez utiliser le portail Azure , le Azure PowerShellou leAzure CLI .

Installation

npm install @azure/communication-call-automation

Prise en charge du navigateur

JavaScript Bundle

Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la procédure à suivre, reportez-vous à notre documentation de 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 pouvez être utilisé pour effectuer des actions liées aux médias, telles que play, pour lire le fichier multimédia. Cette opération peut être récupérée à partir de CallConnectionétablies.
CallRecording CallRecording pouvez être utilisé pour effectuer des actions associées à l’enregistrement, telles que startRecording. Cette opération peut être récupérée à 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 sont envoyés à cette URL. Vous pouvez utiliser callAutomationEventParser pour analyser ces événements quand il arrive.
Événement d’appel entrant Lorsque l’appel entrant se produit (qui peut être répondu avec answerCall), l’événement eventgrid d’appel entrant est envoyé. Cela diffère des événements de rappel ci-dessus et doit être configuré sur le portail Azure. Pour plus d’informations, consultez d’appel entrant.
CallAutomationEventProcessor CallAutomationEventProcessor est un moyen convinient de gérer les événements de rappel intermédiaires tels que CallConnected. Cela garantit la corrélation entre les appels et les événements plus facilement. 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); 

Créer un appel

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 connexion intermédiaire, le Kit de développement logiciel (SDK) d’Automation d’Appel permet de gérer plus facilement ces événements. Examinez CallAutomationEventProcessor. Cela garantit la corrélation entre les appels et les événements plus facilement.

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

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

Consultez l’exemple ci-dessous : 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

Contribuant

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.