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
- Un abonnement Azure.
- Une ressource Communication Services existante. Si vous avez besoin de créer la ressource, vous pouvez utiliser le portail Azure, le Azure PowerShell ou Azure CLI.
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
- Vue d’ensemble de l’automatisation des appels
- Concept d’appel entrant
- Créer un workflow d’interaction client à l’aide de l’automatisation des appels
- Rediriger les appels téléphoniques entrants avec Call Automation
- Démarrage rapide : action de lecture
- Démarrage rapide : Action Recognize
- En savoir plus sur l’enregistrement des appels dans Azure Communication Services
- Enregistrer et télécharger des appels avec Event Grid
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.
Azure SDK for JavaScript
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour