kirem.coDokumentasi API
Dokumentasi/Templates/Membuat Templat Pesan Baru
Templates

Membuat Templat Pesan Baru

Ringkasan Teknis (TL;DR)

Membuat dan mengirimkan draf templat pesan WhatsApp baru ke Meta untuk ditinjau via API POST /v1/templates.

#templates#create#post

Membuat Templat Pesan Baru

Endpoint ini digunakan untuk membuat dan mengirimkan templat pesan WhatsApp baru ke Meta untuk melalui proses peninjauan (review). Setelah templat disetujui oleh Meta, Anda dapat menggunakannya untuk mengirim pesan kepada pelanggan.


🛜 Endpoint

POST /v1/templates


📦 Request Body (JSON)

{
  "name": "promo_diskon_baru",
  "category": "MARKETING",
  "language": "id",
  "components": [
    {
      "type": "HEADER",
      "format": "TEXT",
      "text": "Promo Spesial!"
    },
    {
      "type": "BODY",
      "text": "Halo {{1}}, nikmati diskon khusus {{2}}% untuk semua produk. Gunakan kode: {{3}}."
    },
    {
      "type": "FOOTER",
      "text": "Kirim STOP untuk berhenti berlangganan."
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "QUICK_REPLY",
          "text": "Tertarik!"
        },
        {
          "type": "URL",
          "text": "Kunjungi Situs",
          "url": "https://kirem.co.id/promo"
        }
      ]
    }
  ]
}

📋 Penjelasan Field

Field Tipe Wajib Keterangan
name String Ya Nama unik templat (hanya huruf kecil, angka, dan garis bawah; contoh: promo_diskon_baru)
category String Ya Kategori templat (lihat tabel di bawah)
language String Ya Kode bahasa templat (contoh: id untuk Bahasa Indonesia, en untuk Inggris)
components Array Ya Daftar komponen penyusun templat

🏷️ Kategori Templat

Kategori Keterangan Contoh Penggunaan
MARKETING Pemasaran dan promosi Diskon, penawaran khusus, pengumuman produk baru
UTILITY Transaksi dan pemberitahuan Konfirmasi pesanan, pengingat janji temu, pembaruan akun
AUTHENTICATION Kode keamanan dan OTP Kode verifikasi login, OTP transaksi

🧩 Tipe Komponen

HEADER (Opsional)

Bagian atas templat. Dapat berupa teks atau media.

Format Keterangan
TEXT Header teks biasa (maksimal 60 karakter)
IMAGE Header berupa gambar (sertakan URL contoh gambar)
VIDEO Header berupa video (sertakan URL contoh video)
DOCUMENT Header berupa dokumen (sertakan URL contoh dokumen)
{
  "type": "HEADER",
  "format": "IMAGE",
  "example": {
    "header_handle": ["https://contoh.com/banner.jpg"]
  }
}

BODY (Wajib)

Isi utama pesan. Mendukung parameter variabel dengan format {{1}}, {{2}}, dan seterusnya. Parameter ini akan diganti dengan nilai aktual saat pengiriman.

{
  "type": "BODY",
  "text": "Halo {{1}}, pesanan Anda #{{2}} sedang diproses."
}

FOOTER (Opsional)

Catatan kaki di bagian bawah pesan (maksimal 60 karakter).

{
  "type": "FOOTER",
  "text": "Balas STOP untuk berhenti."
}

BUTTONS (Opsional)

Tombol aksi interaktif. Maksimal 2 tombol per templat.

Tipe Tombol Keterangan
QUICK_REPLY Tombol balasan cepat — mengirimkan teks yang telah ditentukan ke bisnis
URL Tombol tautan — membuka URL di browser ponsel pelanggan
{
  "type": "BUTTONS",
  "buttons": [
    {
      "type": "QUICK_REPLY",
      "text": "Ya, lanjutkan"
    },
    {
      "type": "URL",
      "text": "Lihat Detail",
      "url": "https://kirem.co.id/pesanan/123"
    }
  ]
}

🚦 Contoh cURL Request

curl -X POST https://api.kirem.co/v1/templates \
  -H "Authorization: Bearer kirem_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "konfirmasi_pesanan",
    "category": "UTILITY",
    "language": "id",
    "components": [
      {
        "type": "BODY",
        "text": "Halo {{1}}, pesanan Anda #{{2}} telah dikonfirmasi. Estimasi pengiriman: {{3}} hari kerja."
      },
      {
        "type": "BUTTONS",
        "buttons": [
          {
            "type": "QUICK_REPLY",
            "text": "Lacak Pesanan"
          },
          {
            "type": "URL",
            "text": "Lihat Status",
            "url": "https://kirem.co.id/pesanan/{{2}}"
          }
        ]
      }
    ]
  }'

✅ Respons Sukses (200 OK)

{
  "status": 200,
  "message": "Template created successfully",
  "data": {
    "id": "194819481948194",
    "status": "PENDING",
    "category": "UTILITY"
  }
}
Field Keterangan
data.id ID unik templat yang baru dibuat
data.status Status awal selalu PENDING — menunggu peninjauan Meta
data.category Kategori templat yang didaftarkan

⚠️ Proses Peninjauan Meta

  • Setelah templat dibuat, status akan menjadi PENDING.
  • Meta akan meninjau templat dalam waktu 24–48 jam.
  • Jika disetujui, status berubah menjadi APPROVED dan templat siap digunakan.
  • Jika ditolak, status menjadi REJECTED. Periksa alasan penolakan dan perbaiki konten templat sebelum mengirim ulang.
  • Gunakan endpoint List Templates untuk memantau status persetujuan.

⚠️ Aturan Penamaan

  • Nama templat hanya boleh mengandung huruf kecil, angka, dan garis bawah (_).
  • Tidak boleh mengandung spasi atau karakter khusus lainnya.
  • Nama harus unik — tidak boleh sama dengan templat yang sudah ada.

Butuh bantuan integrasi lanjutan?

Hubungi tim developer Kirem melalui tiket bantuan.

Buka Tiket Bantuan