Dela via


Azure Communication Call Automation-klientbibliotek för JavaScript – version 1.5.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

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 (på engelska) CallConnection representerar ett pågående anrop. När anropet har upprättats med createCall eller answerCallkan ytterligare åtgärder utföras för anropet, till exempel transfer eller addParticipant.
CallMedia (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.
Inspelning av samtal CallRecording kan användas för att utföra inspelningsrelaterade åtgärder, till exempel startRecording. Detta kan hämtas från CallAutomationClient.
Återuppringningshändelser Återanropshändelser är händelser som skickas tillbaka under samtalets varaktighet. Den 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 anländer.
Händelse för inkommande samtal När inkommande samtal inträffar (som kan besvaras med answerCall) skickas inkommande samtal eventgrid-händelsen. Detta skiljer sig från återanropshändelser ovan och bör konfigureras på Azure Portal. Se Inkommande samtal för mer information.

Exempel

Initiera CallAutomationClient

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

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

Skapa samtal

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

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

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

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

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

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

Spela upp media

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

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

const target = { communicationUserId: "8:acs:..." };
const callInvite = { targetParticipant: target };
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

const createCallResult = await callAutomationClient.createCall(callInvite, callbackUrl);
const callConnection = createCallResult.callConnection;
// from callconnection of response above, play media of media file
const myFile: FileSource = { url: "https://<FILE-SOURCE>/<SOME-FILE>.wav", kind: "fileSource" };
const response = await callConnection.getCallMedia().playToAll([myFile]);

Felsökning

Skogsavverkning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg med HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Du kan också aktivera loggning vid körning genom att anropa setLogLevel i @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Nästa steg

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.