Voice yang dapat diprogram dalam JSON. Panggilan, IVR, rekaman, TTS.
Voice untuk developer: 140+ negara dengan jangkauan suara, 1.500+ prefiks nomor telepon, panggilan tersamar, nomor virtual. Surface API yang sama seperti Email dan SMS: panggilan hanyalah resource lain.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.voice.calls.create({
to: "+15005550010",
from: "+14155550199",
flow: [
{ say: "Your verification code is..." },
{ say: "4. 2. 9. 1. 7." },
{ gather: { digits: 1, timeout: 5 } },
{ record: { transcribe: true } },
],
}).safe();
if (error) throw error;
console.log(data.id);
// → "call_7tQ04Lp2n..."
Bird Verify
+1 (500) 555-0010
Yourverificationcodeisfourtwonineoneseven.
5 menit dari npm install hingga panggilan pertama
Lakukan panggilan dari bahasa pemrograman yang sudah Anda gunakan.
SDK di setiap runtime utama. Panggilan pertama menuju nomor uji coba yang diotorisasi (+15005550010) sehingga Anda bisa menjalankan CI check sebelum menyediakan nomor asli.
Contoh kode akan tersedia saat API ini diluncurkan. SDK sudah mencakup channel yang aktif.
Sepuluh bagian voice yang lebih baik tidak Anda tulis sendiri.
Carrier routing, kontrol panggilan, dan primitif observabilitas, bernama dan dapat diaudit.
- 01
Panggilan keluar dan masuk
Lakukan dan terima panggilan melalui REST atau SIP: model autentikasi yang sama, kontrak idempotensi yang sama.
- 02
Alur panggilan deklaratif dalam JSON
Susun say, play, gather, record, transfer, dan dial sebagai array JSON datar.
- 03
Rekaman dengan transkripsi
Rekaman opsional di setiap leg; transkrip dibuat otomatis dalam 40+ bahasa.
- 04
Streaming TTS, di bawah 250 md
Audio first-byte melalui HTTP chunked transfer atau WebSocket, ditagih per karakter.
- 05
Voice OTP melalui verifikasi
Resource bird.verifications yang sama seperti SMS OTP; cukup ganti field channel.
- 06
Nomor virtual di 100+ negara
Sediakan long code dari dashboard atau API numbers dalam hitungan detik.
- 07
Panggilan tersamar
Nomor pemanggil dan penerima tidak pernah terekspos satu sama lain: privasi melalui routing.
- 08
SmartRouting per panggilan
Operator berbiaya terendah dipilih secara real time untuk setiap leg, dengan pemilihan ulang rute saat gagal.
- 09
Event webhook per panggilan
call.ringing, call.answered, call.completed dan lainnya: ditandatangani HMAC, dilindungi dari replay.
- 10
WebRTC client SDK
Bridge browser-ke-PSTN dari satu paket npm; berfungsi di runtime modern mana pun.
Mengapa kami membangun Voice
Voice adalah kanal yang selalu dianggap remeh. Kami tidak.
Voice itu sulit — latensi di bawah satu detik, routing operator sungguhan, kepatuhan rekaman — dan itulah mengapa kebanyakan vendor memberikannya autentikasi sendiri, SDK sendiri, kontrak webhook sendiri. Kami meluangkan waktu untuk membuatnya sama seperti setiap endpoint Bird lainnya: autentikasi sama, idempotensi sama, envelope error sama. Kontrol panggilan hanyalah JSON.
Setiap perubahan status adalah webhook.
Payload bertanda tangan HMAC, dilindungi dari replay, idempoten. Envelope yang sama di setiap channel Bird: pelajari satu, Anda sudah mempelajari semuanya.
Jadwal percobaan ulang: 5d, 30d, 5m, 30m, 2j, 6j, 12j. Dead-letter setelah percobaan terakhir; setiap event dead-letter dapat diputar ulang dari dashboard atau API.
call.queuedDiterima oleh API dan diantrekan untuk dial-out.call.ringingSaluran penerima berdering: status sebelum dijawab.call.answeredPenerima mengangkat; tagihan dimulai dari event ini.call.completedPanggilan berakhir normal: durasi dan harga ada di payload.call.failedKegagalan permanen (sibuk, tidak dijawab, ditolak operator) dengan alasan yang diketik.call.recording.readyRekaman telah dienkode dan tersedia di URL bertanda tangan dalam payload.call.transcript.readyTranskripsi selesai; payload mencakup bahasa dan segmen.
Voice OTP adalah resource yang sama dengan SMS OTP.
Lakukan panggilan kustom atau serahkan verifikasi ke runtime. Autentikasi sama, idempotensi sama, envelope error sama: field channel adalah satu-satunya yang berubah.
Panggilan kustom.
Susun alur apa pun — say, gather, transfer — untuk kasus di mana Anda ingin skrip ada di kode Anda.
Verifikasi.
Satu baris. Bird memilih rute, menjalankan pemeriksaan penipuan, mengirimkan prompt audio. Kode yang sama di setiap kanal.