Panduan ini berisi langkah-langkah praktis untuk memigrasikan integrasi sistem backend Anda dari layanan krmpesan.app versi lama ke platform WhatsApp Business API yang baru.
1. Ringkasan Perubahan (Overview)
Platform baru dirancang dengan kompatibilitas mundur (backward-compatibility). Anda tidak perlu langsung merombak format JSON payload lama Anda. Cukup perbarui Base URL dan API Key.
| Komponen | krmpesan.app (Lama) | Platform Baru | Catatan |
|---|---|---|---|
| Base URL | https://api.krmpesan.app/ | https://pfnapp.id/api/whatsapp/ | Prefix /api/whatsapp |
| Autentikasi | Authorization: Bearer <userToken> | Authorization: Bearer <API_KEY> atau x-api-key: <API_KEY> | Gunakan Static Org API Key |
| Kirim Pesan | POST /messages | POST /api/whatsapp/messages | Mendukung payload lama & baru |
| Daftar Pesan | GET /messages | GET /api/whatsapp/messages | Riwayat pesan dan status |
| Daftar Template | GET /templates | GET /api/whatsapp/templates | Sinkronisasi template Meta |
| Daftar Kontak | GET /contacts | GET /api/whatsapp/contacts | Manajemen kontak audiens |
| Webhook Status | POST /webhooks | GET /api/whatsapp/webhooks/events | Log event & status pengiriman |
2. Autentikasi & API Key Baru
Pada platform baru, autentikasi menggunakan Organization API Key yang dapat digenerate melalui Console:
- Masuk ke Console > WhatsApp > API Keys (
/console/whatsapp/api-keys). - Klik tombol Generate API key dan simpan token rahasia yang muncul (berawalan
pfn_wa_sec_atauwa_live_). - Tambahkan token ke header permintaan HTTP Anda:
Authorization: Bearer pfn_wa_sec_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
Atau menggunakan header kustom:
x-api-key: pfn_wa_sec_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
3. Komparasi Payload & Contoh Pengiriman
A. Pengiriman Pesan Template
1. Format Legacy krmpesan (Drop-in Replacement)
Anda dapat tetap menggunakan struktur JSON payload lama Anda tanpa perubahan kode logika:
2. Format Standar Baru (OpenAPI / Meta Cloud Architecture)
Format baru yang direkomendasikan untuk mendukung parameter dinamis header (gambar/dokumen/video) serta tombol interaktif:
B. Pengiriman Pesan Teks Bebas (Session Message)
Ketentuan Meta: Pesan teks bebas (non-template) hanya dapat dikirim jika pelanggan telah mengirim pesan ke nomor WhatsApp Anda dalam kurun waktu 24 jam terakhir.
C. Pengiriman Pesan Media (Gambar / Dokumen)
4. Contoh Integrasi Kode
Node.js / TypeScript
PHP (cURL / Guzzle)
5. Checklist Langkah Migrasi
- Langkah 1: Buat API Key baru di Console WhatsApp (
/console/whatsapp/api-keys). - Langkah 2: Perbarui konfigurasi environment aplikasi (
WHATSAPP_API_BASE_URLdanWHATSAPP_API_KEY). - Langkah 3: Uji coba pengiriman pesan template ke nomor pengujian.
- Langkah 4: Pastikan nama template dan urutan variabel body sesuai dengan template yang disetujui di Meta.
- Langkah 5: Hubungkan webhook callback untuk memantau status pesan masuk dan delivery report (
sent,delivered,read,failed).