PHP & REST API

API WhatsApp PHP: Contoh JSON, cURL dan Penanganan Response

Integrasi API yang stabil tidak cukup hanya dengan contoh cURL. Aplikasi perlu menangani timeout, response invalid, kegagalan autentikasi, retry, dan pencatatan event agar notifikasi WhatsApp tidak sulit ditelusuri saat ada masalah.

KIRIMORE28 September 2026± 9 menit baca

Payload dasar pesan teks Kirimore

Field berikut digunakan pada endpoint text REST API v2.

FieldFungsiContoh
api_keyKredensial REST API akundisimpan di environment
senderID device pengirim milik akun971017
numberNomor private atau ID grup6281234567890
messageIsi pesan teksPesanan sudah diproses

Buat helper API yang mengembalikan array

Dengan helper, penanganan error tidak tersebar di banyak file.

PHP
<?php
function kirimoreSendText(array $payload): array
{
    $ch = curl_init('https://kirimore.com/apiv2/send-message.php');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
        CURLOPT_POSTFIELDS => json_encode($payload),
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_TIMEOUT => 30,
    ]);

    $body = curl_exec($ch);
    $err  = curl_error($ch);
    curl_close($ch);

    if ($err !== '') {
        return ['status' => false, 'msg' => 'Network error'];
    }

    $json = json_decode((string) $body, true);
    return is_array($json)
        ? $json
        : ['status' => false, 'msg' => 'Invalid JSON response'];
}

Error handling yang sebaiknya dibedakan

Tidak semua kegagalan layak di-retry. Pisahkan minimal menjadi:

  • Network/timeout: dapat dicoba ulang secara terbatas dengan jeda.
  • API key atau permission salah: jangan retry terus-menerus; perbaiki konfigurasi.
  • Sender tidak ditemukan: cek device dan pemilik sender.
  • Nomor tidak valid: perbaiki data pelanggan.
  • Engine/device tidak siap: tunda dan kirim ulang setelah device kembali online.

Gunakan queue untuk event penting

Untuk aplikasi dengan trafik tinggi, jangan menahan request pengguna sambil menunggu gateway. Simpan job notifikasi ke queue, proses di worker, lalu catat hasil. Pendekatan ini membuat checkout atau proses transaksi tidak tergantung pada kecepatan kanal WhatsApp.

Pada shared hosting yang tidak memiliki worker permanen, queue sederhana juga dapat dibuat dengan tabel database dan cron yang memproses job secara berkala.

Pisahkan status bisnis dan status pesan

Order sukses dan WhatsApp terkirim adalah dua hal berbeda. Jangan membatalkan transaksi hanya karena notifikasi WhatsApp gagal. Simpan status notifikasi sebagai metadata terpisah sehingga operator dapat melakukan retry tanpa mengubah status utama transaksi.

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.

Lihat fitur REST API Kirimore

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