Bird Verify
API verifikasi tanpa perlu menyimpan apa pun.
Kirim kode sekali pakai melalui email, SMS, atau WhatsApp, lalu verifikasi berdasarkan penerima, tanpa perlu menyimpan verification id di antara kedua panggilan. Urutan channel, pengirim, dan aturan kode sudah diselesaikan per negara secara otomatis. Autentikasi dan idempotensi yang sama seperti setiap channel Bird lainnya, karena tim yang sama membangun semuanya. Voice akan segera hadir.
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;
Your account
Confirm it’s you.
Enter the code sent to
+1 ••• ••• 4567Example verification code
Dipercaya setiap hari oleh tim yang membangun perangkat lunak kelas dunia
Baca lebih banyak kisah pelangganDua 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.
The recipient you pass picks the channel: an email address verifies by email, a phone number by SMS or WhatsApp. Switching channels is a one-field change, not a new integration. Delivery failure can advance the verification to the next available channel. Voice is rolling out next.
- 04
Urutan channel per negara, sudah diselesaikan.
Urutan channel, pengirim, dan channel mana yang aktif berbeda di setiap negara. Basis per negara Bird yang menentukan ini, sehingga panggilan create sudah mengarah ke rencana yang tepat di mana saja.
- 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–8 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.
Urutan channel per negara, pengirim, dan aktif/nonaktif, diselesaikan secara otomatis untuk setiap pengiriman.
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 sudah mengetahui negaranya.
Urutan channel, pengirim, dan channel mana yang aktif berbeda di setiap negara: WhatsApp-first di satu pasar, hanya SMS di pasar lain. Basis per negara Bird yang menentukan ini, sehingga panggilan create sudah mengarah ke rencana yang tepat. Lihat orkestrasi channel.
// 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.comKirim permintaan pertama Anda sebelum menulis kode apa pun.
Seluruh API publik tersedia sebagai koleksi Postman, dikonversi dari spesifikasi OpenAPI yang sama dengan yang digunakan untuk menghasilkan SDK, lengkap dengan contoh permintaan dan respons di setiap endpoint. Fork ke workspace Anda sendiri, atur kunci API, dan kirim permintaan langsung.
Terapkan dalam praktik.
Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.
Verifikasi di platform yang sama dengan seluruh pengiriman pesan Anda.
Mulai membangun hari ini, atau hubungi kami tentang saluran, volume, dan harga yang Anda butuhkan.