Orkestrasi kanal

Dalam pratinjau

Mulai dari default kami. Timpa hanya yang Anda butuhkan.

Siapkan dalam:
Cursor

Ketersediaan kanal, aturan pengirim, dan regulasi berbeda di setiap negara, dan menyesuaikannya butuh bertahun-tahun. Bird menyediakan itu sebagai konfigurasi dasar per negara: kanal mana yang tersedia di mana, pengirim mana yang diizinkan, dan default kode yang masuk akal. Pengaturan Anda diterapkan di atasnya. Anda mengubah satu hal untuk satu negara; semua yang tidak Anda sentuh diteruskan ke lapisan di bawahnya. Itulah routing per negara sebagai resource API kelas utama, kontrol yang kebanyakan API verifikasi tidak berikan.

verify.ts
200 · pending
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

// Send the code, then check it by recipient.
await bird.verify.verifications.create({
  to: { phone_number: "+15551234567" },
}).safe();

const { data } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: userInput,
}).safe();

Anda mewarisi default Bird, lalu membangun di atasnya.

Setiap verifikasi di Bird Verify API menentukan pengaturannya melalui kaskade. Di bagian paling bawah adalah basis per negara yang dikelola Bird dari pengalaman bertahun-tahun menjalankan email dan SMS — jadi sebelum Anda mengonfigurasi apa pun, verifikasi sudah diarahkan secara tepat di setiap negara. Konfigurasi dan override per negara Anda diterapkan di atasnya, dan opsi per permintaan dapat menyesuaikan satu panggilan tertentu. Anda tidak pernah memulai dari nol, dan Anda hanya mengelola keputusan yang benar-benar ingin Anda buat.

Kaskade nilai.

Tingkat tertinggi yang menetapkan nilai akan menang; apa pun yang tidak Anda atur akan diteruskan ke tingkat di bawahnya.

  1. 01

    Opsi per permintaan.

    Field pada panggilan create (panjang kode, preferensi kanal, locale) berlaku untuk satu verifikasi itu. Override paling ringan dan paling lokal.

  2. 02

    Override per negara Anda.

    Ubah urutan kanal atau pengirim untuk satu negara. Override digabungkan: hanya menyentuh field yang Anda atur, dan sisanya untuk negara tersebut tetap diwarisi dari bawah.

  3. 03

    Default konfigurasi Anda.

    Rencana dan aturan kode seluruh aplikasi Anda — urutan kanal, panjang kode, TTL, dan percobaan yang Anda inginkan di mana pun Anda belum menetapkan override negara.

  4. 04

    Basis per negara Bird.

    Lapisan paling bawah: default per negara milik Bird sendiri, diambil dari pengalaman menjalankan email dan SMS dalam skala besar. Apa pun yang tidak Anda atur akan diteruskan ke sini, sehingga verifikasi selalu menghasilkan rencana yang masuk akal.

Timpa satu negara, warisi sisanya.

Tetapkan rencana Anda sekali, lalu sentuh hanya negara yang membutuhkan sesuatu berbeda. Di sini Brasil mengutamakan WhatsApp, lalu SMS; setiap negara lain tetap diteruskan ke default Anda dan basis Bird.

orchestration.ts
200
// Your app-wide default plan.
await bird.verify.verifications.configurations.update("vfc_login", {
  channels: [
    { channel: "email", state: "enabled" },
    { channel: "sms", state: "enabled" },
  ],
}).safe();

// Override one country; the rest inherits.
await bird.verify.verifications.configurations.countries.upsert("vfc_login", "BR", {
  channels: [
    { channel: "whatsapp", state: "enabled" },
    { channel: "sms", state: "enabled" },
  ],
}).safe();

Hasil resolusi verifikasi.

Nomor Brasil dengan konfigurasi ini diselesaikan melalui kaskade. Override BR mengurutkan WhatsApp lalu SMS, keduanya tersedia, dan verifikasi melaporkan rencana terurut yang akan digunakan, dengan id vrf_ bertipe.

resolved.ts
200
const { data } = await bird.verify.verifications.create({
  configuration_id: "vfc_login",
  to: { phone_number: "+5511998765432" }, // Brazil
}).safe();

// Resolved through the cascade + availability/kill-switch ceilings:
// {
//   id:           "vrf_01k2m9q8e7fh3v0b7m4d2a9xzt",
//   status:       "pending",
//   channels:     [{ channel: "whatsapp" }, { channel: "sms" }],
//   last_channel: "whatsapp"
// }

Dua batas berada di atas kaskade.

Kaskade menentukan default. Dua gerbang menentukan apa yang diizinkan — mereka membatasi rencana yang dihasilkan, bukan menyediakan nilai yang diteruskan ke bawah:

Ketersediaan per negara. Anda hanya bisa mengaktifkan kanal yang benar-benar ditawarkan Bird di suatu negara. Mengaktifkan kanal yang tidak kami dukung di sana adalah no-op, bukan kegagalan diam — ketersediaan adalah irisan, bukan override.

Kill-switch global. Saat penyedia mengalami insiden, Bird dapat menarik kanal di mana pun sekaligus. Konfigurasi Anda tidak diubah; rencana yang dihasilkan cukup beralih ke kanal berikutnya, lalu dipulihkan saat switch dibersihkan.

Routing yang Anda atur, bukan tiket yang Anda ajukan.

Diselesaikan per verifikasi, dikembalikan dalam respons.

  1. 01

    Rute per negara, berdasarkan nomor.

    Negara diturunkan dari nomor E.164 penerima — Anda tidak perlu mengirimkannya. Tetapkan rute untuk suatu negara dan itu akan menimpa urutan dan pengirim di sana.

  2. 02

    Aktifkan dan nonaktifkan kanal.

    Setiap kanal memiliki status aktif/nonaktif, sehingga Anda dapat menonaktifkan satu kanal untuk suatu negara tanpa kehilangan posisinya dalam rencana.

  3. 03

    Rencana yang dihasilkan ada di respons.

    Setiap verifikasi melaporkan kanal terurut yang dihasilkan, sehingga keputusan kaskade tidak pernah menjadi misteri.

  4. 04

    Failover otomatis sedang diluncurkan.

    Pengalihan berbasis pengiriman melalui rencana (mencoba kanal berikutnya saat satu tidak terkirim) sedang diluncurkan seiring status pengiriman tersedia. Rencana sudah diselesaikan dan dikembalikan hari ini.

FAQ orkestrasi kanal

Apa itu kaskade konfigurasi?+
Ini adalah cara pengaturan verifikasi ditentukan: opsi per-permintaan, lalu override per-negara Anda, lalu default konfigurasi Anda, lalu basis per-negara Bird. Tingkat tertinggi yang menetapkan nilai akan menang, dan apa pun yang tidak Anda atur akan diteruskan ke tingkat di bawahnya — jadi Anda hanya perlu mengonfigurasi yang ingin diubah.
Apa yang diberikan basis per-negara Bird kepada saya?+
Titik awal yang tepat di setiap negara tanpa perlu pengaturan apa pun: channel mana yang layak dicoba, pengirim mana yang diizinkan, dan default kode yang wajar, dikelola oleh Bird dari pengalaman bertahun-tahun menjalankan email dan SMS. Anda membangun di atasnya, bukan menemukannya kembali dari nol.
Apakah override per-negara menggantikan seluruh rencana?+
Tidak — ia digabungkan. Anda mengatur field yang berbeda untuk negara tersebut dan sisanya tetap mewarisi dari konfigurasi Anda dan basis Bird, sehingga override adalah perubahan kecil dan terarah, bukan spesifikasi ulang secara keseluruhan.
Bisakah saya mengaktifkan channel yang tidak ditawarkan Bird di suatu negara?+
Tidak. Ketersediaan per-negara adalah batas atas, bukan default: Anda hanya bisa mengaktifkan yang didukung Bird di sana. Mengaktifkan channel yang tidak tersedia tidak akan melakukan apa-apa, bukan kegagalan tersembunyi, sehingga sebuah rencana tidak akan pernah menjanjikan channel yang sebenarnya tidak bisa mengirim.
Bagaimana negara ditentukan?+
Dari nomor telepon E.164 penerima, pada saat resolve. Anda tidak perlu mengirim negara; Bird menentukannya dan menerapkan rute yang sesuai. Email tidak tergantung negara.
Dari siapa pengguna saya melihat kode tersebut?+
Authifly, brand verifikasi Bird. Ini adalah identitas di setiap kode yang diterima pengguna Anda: email dikirim dari otp@verify.authifly.com atau domain terverifikasi milik Anda, dan SMS serta WhatsApp menggunakan brand Authifly. authifly.com adalah halaman publik yang meyakinkan penerima bahwa Authifly mengirim kode sekali pakai yang sah atas nama sebuah bisnis. Bird adalah platform tempat Anda membangun; Authifly adalah yang dilihat penerima.

Kontrol per-negara yang tidak diberikan API verifikasi lain kepada Anda.

Orkestrasi adalah salah satu kemampuan Bird Verify: channel, kode, dan limit disertakan di dalamnya, pada dua endpoint yang sama.

Mulai dengan satu channel.
Tambahkan yang lain saat Anda siap.

API key uji coba langsung tersedia untuk Anda. Akses produksi terbuka setelah Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Menggunakan Claude Code, Cursor, atau Codex? Salin prompt pengaturan dan agen Anda akan menginstal Bird CLI dan skill untuk Anda. Pilih milik Anda:

Cursor