Bird Verify
API verifikasi tanpa perlu menyimpan apa pun.
Send a one-time code over email, SMS, or WhatsApp, then check it by recipient, with no verification id to keep between the two calls. The channel order, sender, and code rules already resolve per country automatically. Same auth and idempotency as every other Bird channel, because the same team built them all. Voice is rolling out next.
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, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
if (error) throw error;
Dua panggilan dari npm install ke 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.
const verification = await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
});
console.log(verification.id, verification.status);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
Per-country channel order, already resolved.
Channel order, sender, and which channels are on differ by country. Bird's per-country base decides this, so a create call already resolves to the right plan everywhere.
- 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.
Six-digit default, 4–10 configurable per request; a 10-minute window; 5 attempts; a 60-second resend cooldown.
- 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 sudah built-in.
Batas pengiriman per penerima dan batas tebakan per verifikasi, 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.
SMS OTP.
Kode sekali pakai melalui SMS, dengan jangkauan global dan rate limit bawaan.
Email OTP.
Verifikasi melalui email di jaringan yang sudah mengirimkan email transaksional Anda.
WhatsApp OTP.
Kirim kode melalui WhatsApp sebagai channel yang dapat diatur urutannya dalam paket yang sama.
Voice OTP.
Segera hadir: kode yang diucapkan untuk telepon rumah, aksesibilitas, dan pengguna yang sulit dijangkau.
Orkestrasi saluran.
Per-country channel order, senders, and enable/disable, resolved automatically for every send.
Anti-penyalahgunaan & keamanan kode.
Kode ter-hash, batas per penerima, penguncian percobaan, dan roadmap anti-penipuan.
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 already knows the country.
Channel order, senders, and which channels are on differ by country: WhatsApp-first in one market, SMS-only in another. Bird's per-country base decides this, so a create call already resolves to the right plan. See channel orchestration.
// Brazil already resolves WhatsApp, then SMS.
const { data, error } = await bird.verify.verifications.create({
to: { phone_number: "+5511998765432" },
}).safe();
if (error) throw error;
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, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
if (error) throw error;
Jika Anda sudah mengintegrasikan SMS, Anda sudah mengintegrasikan Verify.
Model auth yang sama, kontrak idempotency yang sama, envelope error yang sama. Bedanya, Verify yang menghasilkan kode, memilih kanal, dan menjalankan rate limit, jadi Anda tidak perlu melakukannya.
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}.`,
category: "authentication",
});Pilih pengirim yang dilihat pengguna Anda
Kode dikirim atas nama Bird Verify secara default, dan tidak ada pendaftaran atau pengaturan template yang menghalangi. Alihkan saluran ke Authifly dan pengguna Anda akan melihat identitas verifikasi netral alih-alih vendor platform: email OTP dikirim dari otp@verify.authifly.com, dan SMS menampilkan pengirim Authifly di mana pun negara tujuan mengizinkan pengirim bermerek. Bird mengoperasikan kedua identitas tersebut, jadi pilihan ini tidak menambah biaya operasional, dan Anda dapat mengaturnya per saluran dan per negara. Pada email, Anda bisa melangkah lebih jauh dengan mengirim dari domain yang telah Anda verifikasi sendiri. Jika penerima mendapat kode yang tidak terduga, authifly.com meyakinkan mereka bahwa Authifly mengirimkan kode sekali pakai yang sah atas nama sebuah bisnis. Authifly dioperasikan oleh Bird B.V.
Kunjungi authifly.comVerifikasi di platform yang sama dengan seluruh pengiriman pesan Anda.
Mulai membangun hari ini, atau hubungi kami tentang saluran, volume, dan harga yang Anda butuhkan.