Azure Communication Call Automation-klientbibliotek för JavaScript – version 1.3.0
Det här paketet innehåller en JavaScript SDK för Azure Communication Call Automation. Med Call Automation kan utvecklare skapa serverbaserade, intelligenta samtalsarbetsflöden och samtalsinspelning för röst- och PSTN-kanaler.
översikt över dokumentationen om | Produkt för samtalsautomatisering
Komma igång
Förutsättningar
- En Azure-prenumeration.
- En befintlig Communication Services-resurs. Om du behöver skapa resursen kan du använda Azure Portal, Azure PowerShelleller Azure CLI-.
Installera
npm install @azure/communication-call-automation
Stöd för webbläsare
JavaScript-paket
Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.
Viktiga begrepp
Namn | Beskrivning |
---|---|
CallAutomationClient |
CallAutomationClient är det primära gränssnittet för utvecklare som använder det här klientbiblioteket. Den kan användas för att initiera anrop av createCall eller answerCall . |
CallConnection |
CallConnection representerar ett pågående anrop. När anropet har upprättats med createCall eller answerCall kan ytterligare åtgärder utföras för anropet, till exempel transfer eller addParticipant . |
CallMedia |
CallMedia kan användas för att utföra medierelaterade åtgärder, till exempel play , för att spela upp mediefilen. Detta kan hämtas från etablerade CallConnection . |
CallRecording |
CallRecording kan användas för att utföra inspelningsrelaterade åtgärder, till exempel startRecording . Detta kan hämtas från CallAutomationClient . |
Motringningshändelser | Återanropshändelser är händelser som skickas tillbaka under samtalets varaktighet. Det ger information och tillstånd för anropet, till exempel CallConnected .
CallbackUrl måste anges under createCall och answerCall , och återanropshändelser skickas till den här URL:en. Du kan använda callAutomationEventParser för att parsa dessa händelser när de kommer. |
Inkommande samtalshändelse | När inkommande samtal inträffar (som kan besvaras med answerCall ) skickas händelsen eventgrid för inkommande samtal. Detta skiljer sig från motringningshändelser ovan och bör konfigureras på Azure-portalen. Mer information finns i inkommande samtal. |
CallAutomationEventProcessor |
CallAutomationEventProcessor är ett convinient sätt att hantera händelser för återanrop mitt i samtalet, till exempel CallConnected . Detta säkerställer korrelation mellan anrop och händelser enklare. Se exemplet nedan för dess användning. |
Exempel
Initiera 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);
Skapa samtal
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);
Spela upp media
// 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);
Hantera Mid-Connection motringningshändelser
För att enkelt hantera händelser mellan anslutningar ger Call Automations SDK enklare sätt att hantera dessa händelser. Ta en titt på CallAutomationEventProcessor. Detta säkerställer korrelation mellan anrop och händelser enklare.
const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);
ProcessEvents krävs för att EventProcessor ska fungera. När händelsen förbrukas av EventProcessor kan du börja använda dess funktion.
Se nedan till exempel: där du ringer ett anrop med CreateCall och väntar på CallConnected-händelsen för samtalet.
// 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!;
}
Felsökning
Nästa steg
- översikt över Samtalsautomatisering
- inkommande samtalskoncept
- Skapa ett arbetsflöde för kundinteraktion med hjälp av Samtalsautomatisering
- Omdirigera inkommande telefonisamtal med Samtalsautomatisering
- Snabbstart: Spela upp
- snabbstart: Identifiera åtgärd
- Läs mer om samtalsinspelning i Azure Communication Services
- Spela in och ladda ned anrop med Event Grid
Bidragande
Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.
Azure SDK for JavaScript