Payload dasar pesan teks Kirimore
Field berikut digunakan pada endpoint text REST API v2.
| Field | Fungsi | Contoh |
|---|---|---|
| api_key | Kredensial REST API akun | disimpan di environment |
| sender | ID device pengirim milik akun | 971017 |
| number | Nomor private atau ID grup | 6281234567890 |
| message | Isi pesan teks | Pesanan sudah diproses |
Buat helper API yang mengembalikan array
Dengan helper, penanganan error tidak tersebar di banyak file.
<?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.
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