Pustaka klien Azure Communication Call Automation untuk JavaScript - versi 1.2.0
Paket ini berisi JavaScript SDK untuk Azure Communication Call Automation. Automasi Panggilan memberi pengembang kemampuan untuk membangun alur kerja panggilan cerdas berbasis server, dan perekaman panggilan untuk saluran suara dan PSTN.
Gambaran Umum Automasi | PanggilanDokumentasi produk
Memulai
Prasyarat
- Langganan Azure.
- Sumber daya Communication Services yang ada. Jika Anda perlu membuat sumber daya, Anda dapat menggunakan Portal Microsoft Azure, Azure PowerShell, atau Azure CLI.
Menginstal
npm install @azure/communication-call-automation
Dukungan browser
Bundel JavaScript
Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.
Konsep utama
Nama | Deskripsi |
---|---|
CallAutomationClient | CallAutomationClient adalah antarmuka utama untuk pengembang yang menggunakan pustaka klien ini. Ini dapat digunakan untuk memulai panggilan dengan createCall atau answerCall . |
CallConnection | CallConnection mewakili panggilan yang sedang berlangsung. Setelah panggilan dibuat dengan createCall atau answerCall , tindakan lebih lanjut dapat dilakukan untuk panggilan, seperti transfer atau addParticipant . |
CallMedia | CallMedia dapat digunakan untuk melakukan tindakan terkait media, seperti play , untuk memutar file media. Ini dapat diambil dari mapan CallConnection . |
CallRecording | CallRecording dapat digunakan untuk merekam tindakan terkait, seperti startRecording . Ini dapat diambil dari CallAutomationClient . |
Peristiwa Panggilan Balik | Peristiwa panggilan balik adalah peristiwa yang dikirim kembali selama durasi panggilan. Ini memberikan informasi dan status panggilan, seperti CallConnected . CallbackUrl harus disediakan selama createCall dan answerCall , dan peristiwa panggilan balik akan dikirim ke url ini. Anda dapat menggunakan callAutomationEventParser untuk mengurai peristiwa ini ketika tiba. |
Peristiwa Panggilan Masuk | Ketika panggilan masuk terjadi (yang dapat dijawab dengan answerCall ), peristiwa eventgrid panggilan masuk akan dikirim. Ini berbeda dari peristiwa Callback di atas, dan harus diatur pada portal Azure. Lihat Panggilan Masuk untuk detailnya. |
CallAutomationEventProcessor | CallAutomationEventProcessor adalah cara yang meyakinkan untuk menangani peristiwa panggilan balik tengah panggilan balik seperti CallConnected . Ini akan memastikan korelasi antara panggilan dan peristiwa dengan lebih mudah. Lihat contoh di bawah ini untuk penggunaannya. |
Contoh
Menginisialisasi 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);
Panggilan Create
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);
Putar Media
// 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);
Menangani peristiwa panggilan balik Mid-Connection
Untuk menangani peristiwa pertengahan koneksi dengan mudah, SDK Call Automation menyediakan cara yang lebih mudah untuk menangani peristiwa ini. Lihat CallAutomationEventProcessor. Ini akan memastikan korelasi antara panggilan dan peristiwa dengan lebih mudah.
const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);
ProcessEvents diperlukan agar EventProcessor berfungsi. Setelah peristiwa dikonsumsi oleh EventProcessor, Anda dapat mulai menggunakan fiturnya.
Lihat di bawah ini misalnya: tempat Anda melakukan panggilan dengan CreateCall, dan tunggu peristiwa panggilan CallConnected.
// 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!;
}
Pemecahan Masalah
Langkah berikutnya
- Gambaran Umum Automasi Panggilan
- Konsep Panggilan Masuk
- Membangun alur kerja interaksi pelanggan menggunakan Automasi Panggilan
- Mengalihkan panggilan telepon masuk dengan Automasi Panggilan
- Mulai cepat: Putar tindakan
- Mulai cepat: Mengenali tindakan
- Baca selengkapnya tentang Perekaman Panggilan di Azure Communication Services
- Merekam dan mengunduh panggilan dengan Event Grid
Berkontribusi
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Azure SDK for JavaScript
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk