Klientská knihovna Azure Communication Call Automation pro JavaScript – verze 1.3.0
Tento balíček obsahuje javascriptovou sadu SDK pro automatizaci volání služby Azure Communication. Automatizace volání poskytuje vývojářům možnost vytvářet serverové, inteligentní pracovní postupy volání a zaznamenávat hovory pro kanály hlasové a veřejné telefonní sítě.
Začínáme
Požadavky
- Předplatné Azure.
- Existující prostředek komunikační služby. Pokud potřebujete prostředek vytvořit, můžete použítwebu
Azure Portal, Azure PowerShellu nebo Azure CLI .
Instalování
npm install @azure/communication-call-automation
Podpora prohlížeče
JavaScript Bundle
Pokud chcete tuto klientskou knihovnu použít v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci sdružování.
Klíčové koncepty
Jméno | Popis |
---|---|
CallAutomationClient |
CallAutomationClient je primárním rozhraním pro vývojáře používající tuto klientskou knihovnu. Lze ho použít k zahájení volání createCall nebo answerCall . |
CallConnection |
CallConnection představuje probíhající volání. Jakmile je volání vytvořeno s createCall nebo answerCall , lze provést další akce pro volání, například transfer nebo addParticipant . |
CallMedia |
CallMedia lze použít k provádění akcí souvisejících s multimédii, jako je play , k přehrávání multimediálního souboru. Lze jej načíst z vytvořených CallConnection . |
Záznam volání |
CallRecording lze použít k zaznamenávání souvisejících akcí, jako je startRecording . To lze načíst z CallAutomationClient . |
Události zpětného volání | Události zpětného volání jsou události odesílané zpět během doby trvání volání. Poskytuje informace a stav volání, například CallConnected .
CallbackUrl je nutné zadat během createCall a answerCall a události zpětného volání se odešlou na tuto adresu URL. Tyto události můžete analyzovat pomocí callAutomationEventParser , když dorazí. |
Událost příchozího volání | Když dojde k příchozímu hovoru (který lze přijmout pomocí answerCall ), odešle se událost eventgrid příchozího volání. Toto se liší od výše uvedených událostí zpětného volání a mělo by se nastavit na webu Azure Portal. Podrobnosti najdete v tématu příchozího hovoru. |
CallAutomationEventProcessor |
CallAutomationEventProcessor je konvinientní způsob zpracování událostí zpětného volání uprostřed volání, jako je CallConnected . Tím se zajistí snadnější korelace mezi voláním a událostmi. Podívejte se na následující příklad využití. |
Příklady
Inicializace 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);
Vytvořit hovor
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);
Přehrávání médií
// 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);
Zpracování událostí zpětného volání Mid-Connection
Pro snadné zpracování událostí uprostřed připojení poskytuje sada SDK služby Call Automation jednodušší způsob, jak tyto události zpracovat. Podívejte se na CallAutomationEventProcessor. Tím se zajistí snadnější korelace mezi voláním a událostmi.
const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);
Proces ProcessEvents je nutný pro fungování třídy EventProcessor. Jakmile eventProcessor využívá událost, můžete začít používat její funkci.
Příklad: kde provádíte volání pomocí metody CreateCall, a počkejte na událost CallConnected volání.
// 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!;
}
Řešení problémů
Další kroky
- Přehled automatizace volání
- koncept příchozího hovoru
- Vytvoření pracovního postupu interakce zákazníka pomocí automatizace volání
- Přesměrování příchozích telefonních hovorů pomocí automatizace volání
- Rychlý start : Přehrát akcí
- Rychlý start pro : Rozpoznávání akcí
- přečtěte si další informace o záznamu volání ve službě Azure Communication Services
- Nahrávání a stahování volání pomocí služby Event Grid
Přispívající
Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.
Azure SDK for JavaScript