Compartilhar via


Biblioteca de clientes de Automação de Chamadas de Comunicação do Azure para JavaScript – versão 1.5.0

Esse pacote contém um SDK do JavaScript para a Automação de Chamadas de Comunicação do Azure. A Automação de Chamadas fornece aos desenvolvedores a capacidade de criar fluxos de trabalho de chamadas inteligentes baseados em servidor e chamadas para canais de voz e PSTN.

Visão geral da documentação do Produto | de Automação de Chamadas

Introdução

Pré-requisitos

  • Uma assinatura do Azure.
  • Um recurso existente dos Serviços de Comunicação. Se você precisar criar o recurso, poderá usar o Portal do Azure, o do Azure PowerShell ou a CLI do Azure .

Instalar

npm install @azure/communication-call-automation

Suporte ao navegador

Pacote JavaScript

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

Principais conceitos

Nome Descrição
CallAutomationClient CallAutomationClient é a interface principal para desenvolvedores que usam essa biblioteca de clientes. Ele pode ser usado para iniciar chamadas por createCall ou answerCall.
CallConnection CallConnection representa uma chamada em andamento. Depois que a chamada for estabelecida com createCall ou answerCall, outras ações poderão ser executadas para a chamada, como transfer ou addParticipant.
CallMedia CallMedia pode ser usado para executar ações relacionadas à mídia, como play, para reproduzir o arquivo de mídia. Isso pode ser recuperado do CallConnectionestabelecido.
CallRecording CallRecording pode ser usado para realizar ações relacionadas à gravação, 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 estado da chamada, como CallConnected. CallbackUrl deve ser fornecido durante createCall e answerCall, e os eventos de retorno de chamada serão enviados para essa URL. Você pode usar callAutomationEventParser para analisar esses eventos quando ele chegar.
Evento de chamada de entrada Quando ocorrer uma chamada de entrada (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 Chamada de Entrada 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 Mí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]);

Solucionando problemas

Registro

A habilitação do 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 log pode ser habilitado no runtime chamando setLogLevel em @azure/logger:

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

setLogLevel("info");

Próximas etapas

Contribuindo

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