Bird Verify
Dalam previewAPI verifikasi tanpa perlu menyimpan apa pun.
Kirim kode sekali pakai melalui email, SMS, atau WhatsApp, lalu periksa berdasarkan penerima, tanpa verification id yang perlu disimpan di antara dua panggilan. Urutan channel, pengirim, dan aturan kode adalah konfigurasi per negara, bukan rebuild. Auth dan idempotency yang sama seperti setiap channel Bird lainnya, karena tim yang sama membangun semuanya. Voice akan segera diluncurkan.
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();Dua panggilan dari instalasi hingga pengguna terverifikasi
Kirim kode, lalu periksa, dalam bahasa yang sudah Anda gunakan.
Create-or-retry mengirim kode; check mengonfirmasi berdasarkan penerima. Dua panggilan, dan tidak ada verification id yang perlu dihubungkan di antaranya.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: "482917",
}).safe();Sepuluh hal yang tidak perlu Anda bangun
ketika verifikasi adalah API-nya.
Primitif konkret, bernama dan dapat dikonfigurasi. Tanpa basa-basi.
- 01
Create atau retry dalam satu panggilan.
Kirim ulang penerima yang sama dan kami melanjutkan sesi aktif serta mengirim ulang setelah cooldown berlalu. Tidak ada endpoint resend terpisah, tidak ada verifikasi duplikat.
- 02
Periksa berdasarkan target. Tidak perlu menyimpan apa pun.
Kirim penerima dan kode; kami menyelesaikan sesi dari pasangan konfigurasi-dan-penerima. Tidak ada verification id yang perlu disimpan antara pengiriman dan pemeriksaan.
- 03
Email, SMS, dan WhatsApp saat peluncuran.
Penerima yang Anda kirimkan menentukan channel: alamat email diverifikasi melalui email, nomor telepon melalui SMS atau WhatsApp. Beralih channel cukup mengubah satu field, bukan integrasi baru. Voice akan segera hadir, dan fallback otomatis antar-channel sedang dalam pengembangan.
- 04
Urutan channel per negara, sebagai konfigurasi.
Atur urutan channel, pengirim, dan channel mana yang aktif, per negara, sebagai sumber daya konfigurasi kelas satu, bukan tiket dukungan.
- 05
Kode yang tidak pernah Anda lihat.
Dihasilkan dengan sumber acak kriptografis, disimpan hanya sebagai HMAC, dibandingkan dalam waktu konstan. Kode plaintext tidak pernah menyentuh stack Anda maupun log kami.
- 06
Kode, TTL, dan percobaan yang dapat dikonfigurasi.
Default enam digit, dapat dikonfigurasi 4–10; jendela waktu 10 menit; 5 percobaan; cooldown pengiriman ulang 60 detik, diatur per konfigurasi. Panjang kode juga dapat di-override per permintaan.
- 07
Setiap kode tetap valid hingga sesi berakhir.
Pesan yang tertunda dan kode yang baru dikirim ulang keduanya dapat diverifikasi, karena kami tidak membatalkan kode sebelumnya saat kode baru dikirim.
- 08
Kode yang salah menghasilkan 200, bukan exception.
Periksa jawaban dengan hasil boolean — apakah kode ini terverifikasi, ya atau tidak — dan alasan yang menjelaskan ketika gagal: tidak valid, kedaluwarsa, sudah diverifikasi, atau percobaan habis. Anda melakukan branching berdasarkan field, bukan berdasarkan error yang dilempar.
- 09
Rate limit dan kuota sudah built-in.
Batas pengiriman per penerima, batas tebakan per verifikasi, dan kuota harian per workspace, masing-masing menghasilkan 429 dengan Retry-After, sehingga brute force kehabisan kesempatan sebelum Anda.
- 10
Kontrak yang sama dengan Bird lainnya.
Bearer auth, idempotency key, ID bertipe vrf_, satu error envelope. Handler yang Anda tulis untuk email sudah cocok untuk verifikasi.
Jelajahi platform Verify
Setiap kemampuan secara mendalam. Satu API, satu set kunci.
Tidak menyimpan apa pun antara kirim dan periksa.
Sebagian besar API verifikasi memberikan Anda sebuah id untuk disimpan, dicari, dan digunakan untuk mencocokkan kode. Bird menyelesaikan sesi dari penerima, sehingga tidak ada state per verifikasi di sisi Anda.
Sebagian besar API verifikasi
Create mengembalikan id yang Anda simpan, lalu Anda mencari verifikasi tersebut untuk mencocokkan kode.
const { id } = await api.verifications.create({
to: "+15551234567",
});
// persist id somewhere, then later…
await api.verifications.check({ id, code });Bird Verify
Periksa berdasarkan penerima. Tidak ada yang perlu dihubungkan antara dua panggilan tersebut.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
// no id to store; check by the same recipient
await bird.verify.verifications.check({
to: { phone_number: "+15551234567" }, code,
}).safe();Routing per negara adalah konfigurasi.
Atur urutan channel, pengirim, dan channel mana yang aktif per negara — WhatsApp-first di satu pasar, SMS-only di pasar lain. Ini adalah resource konfigurasi kelas satu, yang diterapkan ke dalam rencana setiap verifikasi. Lihat orkestrasi channel.
await bird.verify.verifications.configurations.countries.upsert(
"vfc_login",
"BR",
{ channels: [
{ channel: "whatsapp", state: "enabled" },
{ channel: "sms", state: "enabled" },
] },
).safe();Verifikasi juga merupakan keputusan produk: API yang sama mendukung autentikasi dua faktor dan login tanpa kata sandi. Ingin memvalidasi nomor terlebih dahulu? Pasangkan dengan Lookup. Autentikasi jaringan senyap dan aplikasi autentikator TOTP ada di roadmap.
Mengapa kami membangun Verify
Karena kode yang mengizinkan pengguna masuk seharusnya tidak memerlukan tabel database sendiri.
OTP adalah channel di mana kode yang tidak terkirim berarti pendaftaran yang tidak terjadi. Bird sudah menjalankan email dan SMS dalam skala besar, jadi Verify adalah pengiriman tersebut ditambah pembuatan kode, sesi, rencana channel per negara, dan rate limit, di balik dua endpoint yang tidak menyimpan apa pun di sisi Anda dan merespons dengan bentuk yang sama seperti setiap channel Bird lainnya.
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();Jika Anda sudah mengintegrasikan SMS, Anda sudah mengintegrasikan Verify.
Model auth yang sama, kontrak idempotency yang sama, error envelope yang sama. Perbedaannya adalah Verify yang menghasilkan kode, memilih channel, dan menjalankan rate limit — sehingga Anda tidak perlu.
Verify
Satu panggilan mengirim kode; satu panggilan memverifikasinya berdasarkan penerima. Kami yang mengelola kode, sesi, dan batasannya.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
});SMS
Pengiriman mentah, untuk saat Anda ingin mengelola sendiri pembuatan kode dan kebijakan percobaan ulang.
await bird.sms.send({
from: "Bird",
to: "+15551234567",
text: `Your code is ${code}.`,
});FAQ Verify API
Bagaimana cara menambahkan verifikasi ke aplikasi saya?+
Channel apa saja yang bisa saya gunakan untuk verifikasi?+
Apakah saya harus menyimpan verification id?+
Apa yang terjadi ketika seseorang memasukkan kode yang salah?+
Bagaimana kode dibuat dan disimpan?+
Berapa biayanya?+
Dari siapa pengguna saya melihat kode tersebut?+
Pengirim yang dilihat pengguna Anda: Authifly
Pengguna akhir Anda menerima kode mereka dari Authifly, merek verifikasi Bird. Pada pengirim bersama, email OTP dikirim dari otp@verify.authifly.com dan SMS mencantumkan nama Authifly dalam pesan, sehingga kode tiba dengan satu identitas konsisten yang tidak perlu Anda kelola. Jika penerima mendapat kode yang tidak diharapkan, authifly.com meyakinkan mereka bahwa Authifly mengirim kode sekali pakai yang sah atas nama suatu bisnis. Authifly dioperasikan oleh Bird B.V.
Kunjungi authifly.comVerifikasi di platform yang sama dengan seluruh pengiriman pesan Anda.
Verify sedang dalam tahap pratinjau. Mulai membangun hari ini, atau hubungi kami tentang kanal, volume, dan harga yang Anda butuhkan.