Cara Kirim Pesan WhatsApp dengan PHP Menggunakan REST API Kirimin

Cara Kirim Pesan WhatsApp dengan PHP Menggunakan REST API Kirimin

Kirimin menyediakan REST API sederhana untuk mengirim pesan WhatsApp langsung dari kode PHP Anda — tanpa perlu library WhatsApp pihak ketiga atau maintain server sendiri. Di tutorial ini kita akan kirim pesan teks pertama menggunakan cURL murni.

1. Siapkan API Key & Device

Sebelum mulai, pastikan dua hal berikut sudah siap di dashboard Kirimin:

2. Endpoint Kirim Pesan

Gunakan endpoint berikut untuk kirim pesan teks:

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

{
  "session_id": "SESSION_ID_ANDA",
  "to": "628123456789",
  "message": "Halo, ini pesan dari Kirimin API!"
}

3. Contoh Kode PHP (cURL)

<?php

$apiKey    = 'wab_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$sessionId = 'SESSION_ID_ANDA';

$payload = [
    'session_id' => $sessionId,
    'to'         => '628123456789',
    'message'    => 'Halo, ini pesan dari Kirimin API!',
];

$ch = curl_init('https://app.kirimin.net/api/v1/send');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode($payload),
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
]);

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

$result = json_decode($response, true);

if ($result['success'] ?? false) {
    echo "Pesan terkirim! ID: " . $result['message_id'];
} else {
    echo "Gagal: " . $result['message'];
}

4. Contoh dengan Laravel HTTP Client

Jika project Anda menggunakan Laravel, cara ini lebih ringkas karena tidak perlu setup cURL manual:

use Illuminate\Support\Facades\Http;

$response = Http::withToken(config('services.kirimin.key'))
    ->post('https://app.kirimin.net/api/v1/send', [
        'session_id' => 'SESSION_ID_ANDA',
        'to'         => '628123456789',
        'message'    => 'Halo, ini pesan dari Kirimin API!',
    ]);

if ($response->json('success')) {
    logger()->info('WA terkirim', ['id' => $response->json('message_id')]);
}

5. Response & Error Umum

HTTP StatusErrorPenyebab
422validation_errorParameter to atau message kosong/tidak valid
404session_not_foundsession_id salah atau bukan milik akun Anda
409session_not_connectedDevice belum di-scan QR / statusnya terputus
500send_failedGagal mengirim di sisi WhatsApp — cek log untuk detail
💡 Alias /send-text tersedia dan berfungsi identik dengan /send jika Anda ingin penamaan endpoint yang lebih eksplisit.

Siap Coba Integrasinya Sendiri?

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

Daftar Gratis Sekarang →