Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 deve ser fornecido durante createCall e answerCall, e 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 Chamada recebida 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
- Visão geral da automação de chamadas
- Conceito de Chamada Recebida
- Crie um fluxo de trabalho de interação com o cliente usando o Call Automation
- Redirecionar chamadas telefônicas de entrada com o Call Automation
- Guia de início rápido: reproduzir de ação
- Guia de início rápido: reconhecer a ação
- Leia mais sobre Gravação de chamadas no dos Serviços de Comunicação do Azure
- Gravar e baixar chamadas com o Event Grid
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.
Azure SDK for JavaScript