WhatsApp API untuk developer
Kirim konfirmasi pesanan, tagihan, pengingat, dan kode verifikasi lewat REST API. Terima balasan dan status dibaca lewat webhook bertanda tangan HMAC. Semua dari nomor WhatsApp Anda sendiri.
Tanpa verifikasi Meta. Tanpa kartu kredit.
Satu POST untuk mengirim teks, satu lagi untuk gambar dan dokumen. Contoh kode tersedia untuk cURL, PHP, Node.js, Python, Go, dan Java.
Setiap pesan masuk dikirim ke URL Anda dengan tanda tangan HMAC-SHA256, dan dicoba ulang otomatis kalau server Anda sedang gagal.
Event message.status memberi tahu kapan notifikasi Anda sampai dan kapan dibaca.
Daftarkan kode buatan aplikasi Anda, dan Kirima memberi tahu lewat webhook begitu pengguna mengirim kode itu. Lengkap dengan masa berlaku, daftar status, dan kunci nomor.
Buat key terpisah untuk kirim saja atau baca saja, dan ganti secret-nya kapan pun.
Pengiriman per nomor diatur temponya supaya tetap wajar. Kalau terlalu cepat, API menjawab 429 lengkap dengan Retry-After.
OTP biasa mengirim kode ke pengguna lalu meminta mereka mengetiknya ulang. OTP terbalik membalik arahnya: aplikasi Anda membuat kode dan mendaftarkannya ke Kirima, pengguna mengirimkannya ke nomor WhatsApp Anda, lalu Kirima memberi tahu kode mana yang terkonfirmasi dan siapa pengirimnya.
Nomor Anda hanya menerima pesan dan tidak mengirim kode ke nomor yang belum dikenal, jadi risiko blokir jauh lebih kecil daripada OTP biasa. Pengguna juga tidak perlu mengetik ulang kode.
Daftarkan kode, terima konfirmasinya (Node.js)
// 1. Register the code your app generated, show the user wa_link
const res = await fetch('https://<host>/api/v1/wa/verifications', {
method: 'POST',
headers: { 'X-Client-Id': KEY_ID, 'X-Client-Secret': KEY_SECRET,
'Content-Type': 'application/json' },
body: JSON.stringify({ device_jid: DEVICE, code: 'VERIFIKASI 482913',
expires_in: 300, reference: user.id }),
})
const { wa_link } = (await res.json()).payload.data
// 2. Kirima calls your webhook when that exact text arrives
app.post('/kirima/webhook', express.raw({ type: '*/*' }), async (req, res) => {
if (!validSignature(req)) return res.sendStatus(401) // X-Kirima-Signature
const { event, data } = JSON.parse(req.body)
if (event === 'verification.confirmed') {
await users.markVerified(data.reference, data.confirmed_phone)
}
res.sendStatus(200)
})Bedanya hanya kuota pesan, jumlah perangkat, dan watermark. Tidak ada yang lain.
| Paket | FreeUntuk mencoba dan proyek kecil. | StarterHarga peluncuranUntuk toko online dan usaha kecil. | ProRekomendasiUntuk bisnis dengan beberapa nomor. | BusinessUntuk volume tinggi dan banyak cabang. |
|---|---|---|---|---|
| Harga | Rp0/bulan | Rp19rb/bulanRp25rb | Rp49rb/bulan | Rp149rb/bulan |
| Pesan per bulan | 1.000 | 2.000 | 20.000 | 150.000 |
| Perangkat | 1 | 1 | 2 | 5 |
| Watermark Kirima | Ya | Tidak | Tidak | Tidak |
| Fitur | Semua | Semua | Semua | Semua |
| Paket | Mulai gratis | Pilih Starter | Pilih Pro | Pilih Business |
Kirim
Terima
Integrasi yang aman
Paket berbayar aktif setelah pembayaran: pilih paketnya dan tim kami akan menghubungi Anda. Integrasi Anda tidak perlu diubah saat naik paket.
Untuk volume besar, atau data yang tidak boleh keluar dari infrastruktur Anda, kami yang memasang Kirima dan merawatnya.
Tidak. Kirima memakai nomor WhatsApp atau WhatsApp Business biasa yang tersambung sebagai perangkat tertaut. Tidak ada template yang harus disetujui dan tidak ada biaya per percakapan.
Untuk volume wajar, aman. Risiko blokir datang dari mengirim ke banyak nomor asing dalam waktu singkat. Kalau volume verifikasi Anda besar, pakai OTP terbalik, karena nomor Anda hanya menerima pesan.
Apa pun yang bisa mengirim HTTP request. Dokumentasinya menyertakan contoh cURL, PHP, Node.js, Python, Go, dan Java.
Pengiriman webhook dicoba ulang otomatis dengan jeda yang makin panjang, jadi event tidak langsung hilang saat server Anda sebentar tidak bisa dihubungi.