kirem.coDokumentasi API
Dokumentasi/Recipes/Resep: Notifikasi Pesanan WooCommerce via WhatsApp
Recipes

Resep: Notifikasi Pesanan WooCommerce via WhatsApp

Ringkasan Teknis (TL;DR)

Panduan langkah demi langkah mengirim notifikasi WhatsApp otomatis setiap ada pesanan baru di WooCommerce menggunakan Kirem API.

#recipes#woocommerce#ecommerce#notification#php

Resep: Notifikasi Pesanan WooCommerce via WhatsApp

Panduan ini akan membantu Anda mengirimkan notifikasi WhatsApp secara otomatis setiap kali ada pesanan baru masuk di toko WooCommerce Anda. Pelanggan akan langsung menerima konfirmasi pesanan melalui WhatsApp, meningkatkan kepercayaan dan transparansi.


๐ŸŽฏ Yang Akan Anda Capai

Setelah mengikuti panduan ini:

  • Setiap pesanan baru di WooCommerce akan memicu notifikasi WhatsApp ke nomor pelanggan
  • Pesan berisi detail pesanan: nama pelanggan, total, dan daftar produk
  • Notifikasi dikirim secara otomatis tanpa intervensi manual

๐Ÿ“‹ Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Toko WooCommerce yang sudah berjalan di WordPress
  • API Key Kirem (live key) โ€” dapatkan dari Dasbor Kirem
  • Nomor WhatsApp terdaftar di Kirem yang sudah aktif
  • Templat pesan disetujui untuk notifikasi pesanan (gunakan kategori UTILITY)
  • Akses editor WordPress untuk menambahkan kode ke functions.php atau membuat plugin kustom

๐Ÿ”ง Langkah 1: Membuat Templat Pesan di Kirem

Sebelum menulis kode, buat templat pesan WhatsApp yang akan digunakan untuk notifikasi:

Endpoint: POST /v1/templates

{
  "name": "notif_pesanan_baru",
  "category": "UTILITY",
  "language": "id",
  "components": [
    {
      "type": "BODY",
      "text": "Halo {{1}}, terima kasih telah berbelanja di {{2}}!\n\nPesanan #{{3}} telah kami terima.\nTotal: Rp {{4}}\n\nKami akan segera memproses pesanan Anda."
    }
  ]
}

Variabel yang akan diisi:

  • {{1}} โ€” Nama pelanggan
  • {{2}} โ€” Nama toko
  • {{3}} โ€” Nomor pesanan
  • {{4}} โ€” Total belanja

Tunggu hingga status templat menjadi APPROVED sebelum melanjutkan.


๐Ÿ”ง Langkah 2: Menambahkan Kode ke WordPress

Anda dapat menambahkan kode langsung ke functions.php di tema aktif, atau membuat plugin kustom. Berikut adalah plugin lengkap yang siap digunakan:

Membuat Plugin Kustom (Direkomendasikan)

Buat file baru di wp-content/plugins/kirem-woocommerce-notif/kirem-woocommerce-notif.php:

<?php
/**
 * Plugin Name: Kirem WooCommerce WhatsApp Notifications
 * Description: Kirim notifikasi WhatsApp otomatis setiap ada pesanan baru via Kirem API
 * Version: 1.0.0
 * Author: Tim Anda
 */

// Cegah akses langsung
if (!defined('ABSPATH')) {
    exit;
}

// ============================================
// KONFIGURASI โ€” Ubah sesuai pengaturan Anda
// ============================================
define('KIREM_API_KEY', 'kirem_live_xxxxxxxxxxxxxxxx');
define('KIREM_API_URL', 'https://api.kirem.co/v1/messages');
define('KIREM_TEMPLATE_NAME', 'notif_pesanan_baru');
define('STORE_NAME', 'Toko Online Anda');

/**
 * Hook ke aksi woocommerce_new_order โ€” dipicu setiap pesanan baru dibuat
 */
add_action('woocommerce_new_order', 'kirem_send_order_notification', 10, 2);

function kirem_send_order_notification($order_id, $order) {
    // Ambil data pesanan
    $customer_phone = $order->get_billing_phone();
    $customer_name  = $order->get_billing_first_name();
    $order_total    = number_format($order->get_total(), 0, ',', '.');

    // Bersihkan nomor telepon โ€” hapus awalan 0 atau +62
    $customer_phone = preg_replace('/[^0-9]/', '', $customer_phone);
    if (strpos($customer_phone, '0') === 0) {
        $customer_phone = '62' . substr($customer_phone, 1);
    }

    // Siapkan payload sesuai format Kirem
    $payload = [
        'messaging_product' => 'whatsapp',
        'recipient_type'    => 'individual',
        'to'                => $customer_phone,
        'type'              => 'template',
        'template'          => [
            'name'     => KIREM_TEMPLATE_NAME,
            'language' => [
                'code' => 'id'
            ],
            'components' => [
                [
                    'type'       => 'body',
                    'parameters' => [
                        ['type' => 'text', 'text' => $customer_name],
                        ['type' => 'text', 'text' => STORE_NAME],
                        ['type' => 'text', 'text' => (string) $order_id],
                        ['type' => 'text', 'text' => 'Rp ' . $order_total],
                    ]
                ]
            ]
        ]
    ];

    // Kirim ke Kirem API
    $response = wp_remote_post(KIREM_API_URL, [
        'headers' => [
            'Authorization' => 'Bearer ' . KIREM_API_KEY,
            'Content-Type'  => 'application/json',
        ],
        'body'    => json_encode($payload),
        'timeout' => 30,
    ]);

    // Log hasil (opsional)
    if (is_wp_error($response)) {
        error_log('Kirem Notification Error: ' . $response->get_error_message());
    } else {
        $body = json_decode(wp_remote_retrieve_body($response), true);
        $message_id = $body['data']['messages'][0]['id'] ?? 'unknown';
        error_log("Kirem Notification Sent. Order #{$order_id}, WAID: {$message_id}");
    }
}

๐Ÿ”ง Langkah 3: Aktivasi Plugin

  1. Upload folder kirem-woocommerce-notif ke direktori wp-content/plugins/ di WordPress Anda
  2. Masuk ke Dasbor WordPress > Plugins
  3. Cari "Kirem WooCommerce WhatsApp Notifications" dan klik Activate
  4. Plugin langsung aktif โ€” tidak ada halaman pengaturan tambahan

๐Ÿงช Langkah 4: Uji Coba

  1. Buka toko WooCommerce Anda di browser (mode incognito)
  2. Lakukan pemesanan fiktif dengan nomor WhatsApp Anda sendiri
  3. Setelah checkout selesai, periksa WhatsApp Anda โ€” notifikasi akan masuk dalam hitungan detik

Jika tidak menerima notifikasi:

  • Periksa log PHP WordPress (wp-content/debug.log) untuk error
  • Pastikan API Key masih aktif di Dasbor Kirem
  • Pastikan templat notif_pesanan_baru sudah APPROVED

๐ŸŽจ Kustomisasi Lanjutan

Menambahkan Detail Produk ke Pesan

Perbarui komponen body pada templat dan kode untuk menyertakan daftar produk:

Templat (tambahkan variabel {{5}} untuk daftar produk):

{
  "type": "BODY",
  "text": "Halo {{1}}, terima kasih telah berbelanja di {{2}}!\n\nPesanan #{{3}}\nTotal: Rp {{4}}\n\nProduk:\n{{5}}"
}

Kode โ€” bangun daftar produk:

// Di dalam fungsi kirem_send_order_notification, tambahkan:
$items = $order->get_items();
$product_list = '';
foreach ($items as $item) {
    $product_name = $item->get_name();
    $quantity     = $item->get_quantity();
    $product_list .= "- {$product_name} x{$quantity}\n";
}

// Tambahkan parameter ke-5:
['type' => 'text', 'text' => $product_list],

Menambahkan Pengaturan Nomor Admin di WooCommerce

Tambahkan halaman pengaturan sederhana di WooCommerce > Settings:

// Tambahkan tab pengaturan
add_filter('woocommerce_get_sections_advanced', function($sections) {
    $sections['kirem_notif'] = 'Kirem WhatsApp';
    return $sections;
});

// Field pengaturan
add_filter('woocommerce_get_settings_advanced', function($settings, $current_section) {
    if ($current_section === 'kirem_notif') {
        return [
            [
                'title' => 'Pengaturan Notifikasi WhatsApp',
                'type'  => 'title',
                'id'    => 'kirem_notif_options'
            ],
            [
                'title'    => 'Nomor Admin',
                'desc'     => 'Nomor WhatsApp yang akan menerima notifikasi setiap pesanan baru',
                'id'       => 'kirem_admin_phone',
                'type'     => 'text',
                'default'  => '',
            ],
            [
                'type' => 'sectionend',
                'id'   => 'kirem_notif_options'
            ]
        ];
    }
    return $settings;
}, 10, 2);

โš ๏ธ Catatan Penting

  • Pastikan nomor telepon pelanggan menggunakan format internasional (contoh: 62812345678)
  • WhatsApp membatasi pengiriman pesan templat dalam jendela 24 jam. Untuk pesanan yang dibuat oleh pelanggan yang belum pernah chat, gunakan templat MARKETING atau UTILITY yang telah disetujui
  • Jangan kirim notifikasi ke nomor yang tidak valid โ€” ini dapat mempengaruhi rating kualitas akun WhatsApp Anda

Butuh bantuan integrasi lanjutan?

Hubungi tim developer Kirem melalui tiket bantuan.

Buka Tiket Bantuan