Send Template (Official WABA)

Gunakan endpoint ini untuk mengirim pesan menggunakan template resmi WhatsApp yang telah disetujui (Meta-Approved Template) melalui Meta WhatsApp Business API (Official WABA) BaBlast.


Endpoint API

hljs http
POST https://api.bablast.id/waba/send-template

Headers

HeaderValueDeskripsi
AuthorizationBearer <API_KEY>Global API Key atau Device/Legacy API Key WABA Anda
Content-Typeapplication/jsonFormat payload request

Payload Parameter (JSON)

FieldTipeWajibDeskripsi
sender_codeStringKondisionalKode perangkat WABA (misal: SND-WABA01). Wajib untuk memilih sender pada Global API Key multi-perangkat; hilangkan jika API Key sudah terikat ke satu sender.
phoneStringYaNomor telepon WhatsApp penerima (misal: 6281234567890).
template_nameStringYaNama kode template yang telah disetujui di Meta.
languageStringTidakKode bahasa template (default: id).
parametersArrayTidakNilai variabel template secara berurutan, misalnya untuk {{1}}, {{2}}. Cocok untuk template teks sederhana.
componentsArrayTidakKomponen template Meta lengkap untuk header, body, dan button. Gunakan ini untuk media header atau parameter terstruktur.
reference_idStringTidakID transaksi/invoice dari sistem Anda. Alias referenceId dan ref_id juga diterima.
metadataObjectTidakObjek JSON kustom yang dikembalikan pada webhook status.

Untuk kompatibilitas, reference_id juga dapat dikirim sebagai metadata.reference_id. Jika tersedia di kedua lokasi, nilai top-level digunakan. Callback selalu mengeluarkannya sebagai data.reference_id, bukan sebagai bagian dari data.metadata.


Contoh Request

Mengirim Template Berisi Variabel

Misalkan Anda memiliki template bernama otp_verification yang disetujui Meta dengan format teks: Halo {{1}}, kode keamanan akun Anda adalah {{2}}.

hljs bash
curl -X POST https://api.bablast.id/waba/send-template \
  -H "Authorization: Bearer bk_live_YOUR_GLOBAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sender_code": "SND-WABA01",
    "phone": "6281234567890",
    "template_name": "otp_verification",
    "language": "id",
    "parameters": ["Budi", "582103"],
    "reference_id": "REF-2026-001",
    "metadata": {
      "customer_tag": "VIP"
    }
  }'

Template dengan Media Header

Untuk template dengan header gambar, video, atau dokumen, kirim components sesuai format Meta:

hljs json
{
  "sender_code": "SND-WABA01",
  "phone": "6281234567890",
  "template_name": "invoice_ready",
  "language": "id",
  "components": [
    {
      "type": "header",
      "parameters": [
        {
          "type": "image",
          "image": {
            "link": "https://example.com/invoice-header.jpg"
          }
        }
      ]
    },
    {
      "type": "body",
      "parameters": [
        {
          "type": "text",
          "text": "INV-2026-9901"
        }
      ]
    }
  ],
  "reference_id": "REF-2026-002",
  "metadata": {
    "invoice_id": "INV-2026-9901"
  }
}

Struktur Respons (200 OK)

hljs json
{
  "success": true,
  "message": "Template message sent successfully",
  "data": {
    "success": true,
    "messageId": "wamid.HBgNNjI4MTIzNDU2Nzg5MA==...",
    "data": {
      "messaging_product": "whatsapp",
      "contacts": [
        {
          "input": "6281234567890",
          "wa_id": "6281234567890"
        }
      ],
      "messages": [
        {
          "id": "wamid.HBgNNjI4MTIzNDU2Nzg5MA==...",
          "message_status": "accepted"
        }
      ]
    }
  }
}

Respons accepted berarti Meta menerima request. Status akhir seperti terkirim, dibaca, atau gagal dikirim secara asinkron melalui webhook dengan reference_id dan metadata kustom yang sama.

CATATAN

Pencatatan Log WABA: Setiap pengiriman via WABA API resmi akan dicatat ke dalam database log WABA akun Anda dan dapat diinspeksi melalui menu API Message Logs di portal pengembang.