Cek Nomor WhatsApp Terdaftar Sebelum Kirim Pesan dengan API Kirimin

Cek Nomor WhatsApp Terdaftar Sebelum Kirim Pesan dengan API Kirimin

Mengirim pesan ke nomor yang ternyata tidak aktif di WhatsApp membuang kuota blast dan mengotori data hasil campaign Anda. Endpoint /check-number di API Kirimin memungkinkan Anda memvalidasi nomor sebelum mengirim pesan.

1. Endpoint Validasi Nomor

POST https://app.kirimin.net/api/v1/check-number
Authorization: Bearer wab_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

{
  "session_id": "SESSION_ID_ANDA",
  "phone": "628123456789"
}

2. Contoh Kode PHP

<?php

function isWhatsappRegistered(string $phone, string $apiKey, string $sessionId): bool
{
    $ch = curl_init('https://app.kirimin.net/api/v1/check-number');
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => json_encode([
            'session_id' => $sessionId,
            'phone'      => $phone,
        ]),
        CURLOPT_HTTPHEADER => [
            'Authorization: Bearer ' . $apiKey,
            'Content-Type: application/json',
        ],
    ]);

    $response = curl_exec($ch);
    curl_close($ch);

    $result = json_decode($response, true);

    return $result['data']['registered'] ?? false;
}

if (isWhatsappRegistered('628123456789', 'wab_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'SESSION_ID_ANDA')) {
    echo "Nomor aktif di WhatsApp, aman untuk dikirim.";
} else {
    echo "Nomor tidak terdaftar, lewati dari daftar kirim.";
}

3. Response

{
  "success": true,
  "data": {
    "phone": "628123456789",
    "registered": true
  }
}

4. Contoh Filter Sebelum Blast

Gabungkan dengan endpoint blast untuk menyaring daftar kontak besar sebelum dikirim, agar kuota blast tidak terbuang ke nomor yang sudah tidak aktif:

$rawNumbers = ['628111111111', '628222222222', '628999999999'];
$validNumbers = [];

foreach ($rawNumbers as $phone) {
    if (isWhatsappRegistered($phone, $apiKey, $sessionId)) {
        $validNumbers[] = $phone;
    }
    usleep(300000); // jeda kecil antar pengecekan
}

// $validNumbers siap dipakai sebagai "recipients" di endpoint /send-bulk
💡 Untuk daftar kontak yang sangat besar (puluhan ribu), sebaiknya lakukan validasi secara bertahap (batch) di background job agar tidak membebani rate-limit maupun waktu eksekusi script.

Siap Coba Integrasinya Sendiri?

Trial gratis 7 hari, semua fitur unlimited aktif — API Key bisa langsung dipakai dari dashboard.

Daftar Gratis Sekarang →