Partilhar via


Biblioteca de cliente do Azure Communication Call Automation para JavaScript - versão 1.3.1

Este pacote contém um SDK JavaScript para Azure Communication Call Automation. A Automação de Chamadas oferece aos desenvolvedores a capacidade de criar fluxos de trabalho de chamadas inteligentes baseados em servidor e gravação de chamadas para canais de voz e PSTN.

Visão geral da automação de chamadas | da documentação do produto

Primeiros passos

Pré-requisitos

  • Uma assinatura do Azure.
  • Um recurso de Serviços de Comunicação existente. Se precisar criar o recurso, você pode usar odo Portal do Azure, odo Azure PowerShell ou oda CLI do Azure.

Instalação

npm install @azure/communication-call-automation

Suporte do navegador

Pacote JavaScript

Para usar essa biblioteca de cliente no navegador, primeiro você precisa usar um bundler. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agregação de .

Conceitos-chave

Designação Descrição
CallAutomationClient CallAutomationClient é a interface principal para desenvolvedores que usam essa biblioteca de cliente. Ele pode ser usado para iniciar chamadas por createCall ou answerCall.
CallConnection CallConnection representa um apelo contínuo. Uma vez que a chamada é estabelecida com createCall ou answerCall, outras ações podem ser executadas para a chamada, como transfer ou addParticipant.
CallMedia CallMedia pode ser usado para fazer ações relacionadas à mídia, como play, para reproduzir arquivos de mídia. Isso pode ser recuperado de CallConnectionestabelecidos.
CallRecording CallRecording pode ser usado para gravar ações relacionadas, como startRecording. Isso pode ser recuperado de CallAutomationClient.
Eventos de retorno de chamada Eventos de retorno de chamada são eventos enviados de volta durante a duração da chamada. Ele fornece informações e o estado da chamada, como CallConnected. CallbackUrl devem ser fornecidos durante createCall e answerCalle os eventos de retorno de chamada serão enviados para este URL. Você pode usar callAutomationEventParser para analisar esses eventos quando ele chegar.
Evento de chamada recebida Quando a chamada de entrada acontece (que pode ser atendida com answerCall), o evento eventgrid de chamada de entrada será enviado. Isso é diferente dos eventos de retorno de chamada acima e deve ser configurado no portal do Azure. Consulte de chamadas recebidas para obter detalhes.

Exemplos

Inicializar 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);

Criar chamada

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);

Reproduzir multimédia

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]);

Solução de problemas

Registo

Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL como info. Como alternativa, o registro em log pode ser habilitado em tempo de execução chamando setLogLevel no @azure/logger:

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

setLogLevel("info");

Próximos passos

Contribuição

Se você quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.