KEAMANAN & OTP

API OTP WhatsApp untuk Verifikasi Akun Website

OTP WhatsApp dapat dipakai untuk verifikasi nomor, login, reset password, atau konfirmasi tindakan. Yang paling penting bukan hanya mengirim kode, tetapi bagaimana kode dibuat, disimpan, dibatasi, dan diverifikasi dengan aman.

KIRIMORE28 September 2026± 9 menit baca

Arsitektur OTP yang disarankan

Pisahkan proses menjadi langkah berikut:

  • User memasukkan nomor WhatsApp.
  • Server membuat kode acak dengan generator kriptografis.
  • Server menyimpan hash OTP, tujuan, purpose, expiry, dan jumlah percobaan.
  • Server mengirim pesan melalui REST API Kirimore.
  • User memasukkan OTP.
  • Server membandingkan hash, expiry, purpose, dan rate limit sebelum menandai nomor terverifikasi.

Contoh membuat OTP di PHP

Jangan menggunakan angka tetap atau rand() biasa untuk kode keamanan.

PHP
<?php
$otp = (string) random_int(100000, 999999);
$otpHash = hash('sha256', $otp);
$expiresAt = (new DateTimeImmutable('+5 minutes'))->format('Y-m-d H:i:s');

// Simpan $otpHash, nomor, purpose, expiry, attempt_count ke database.
// Kirim $otp melalui REST API dari backend, bukan dari browser.

Kirim kode menggunakan endpoint pesan teks

Pesan OTP dapat dikirim sebagai text biasa melalui REST API Kirimore.

PHP
<?php
$payload = [
    'api_key' => getenv('KIRIMORE_API_KEY'),
    'sender'   => getenv('KIRIMORE_SENDER'),
    'number'   => $phone,
    'message'  => "Kode OTP Anda: {$otp}. Berlaku 5 menit. Jangan berikan kode ini kepada siapa pun."
];
// POST JSON ke https://kirimore.com/apiv2/send-message.php

Rate limit wajib

Batasi minimal:

  • Jumlah permintaan OTP per nomor dalam periode tertentu.
  • Jumlah permintaan per IP/device.
  • Jumlah percobaan kode salah.
  • Waktu minimum sebelum tombol kirim ulang aktif.
  • Jumlah OTP aktif untuk satu purpose.

Jangan simpan OTP plaintext lebih lama dari yang dibutuhkan

Untuk sistem yang lebih aman, simpan hash OTP dan bandingkan hash ketika user memasukkan kode. Hapus atau invalidasi record setelah sukses. Jangan menulis OTP ke application log produksi karena log sering memiliki retensi lebih panjang daripada masa berlaku kode.

Catatan: Kirimore menggunakan koneksi perangkat WhatsApp berbasis QR/pairing dan bukan WhatsApp Business Platform resmi Meta. Gunakan layanan secara bertanggung jawab, hindari spam, dan ikuti kebijakan WhatsApp serta persetujuan komunikasi dari penerima.

Praktikkan dengan Kirimore

Hubungkan device, gunakan fitur yang sesuai workflow Anda, dan uji integrasi dari lingkungan internal sebelum digunakan ke pelanggan.

Gunakan REST API Kirimore untuk notifikasi

Panduan terkait

Tools Gratis Kirimore
Generator Link WhatsApp Formatter Nomor WhatsApp UTM Builder Media Kit
Integrasi Kirimore
PHP Laravel CodeIgniter WordPress WooCommerce Shopify cPanel
Kirimore untuk Bisnis & Developer
Harga WhatsApp Gateway Fitur Untuk Bisnis Untuk Developer Multi Device Team Inbox