Masa berlaku pesan WhatsApp (TTL): cegah kode OTP, pengingat, dan notifikasi pengiriman datang terlambat
Ponsel pelanggan mati beberapa jam, dan begitu menyala WhatsApp mengirimkan kode OTP yang sudah lama kedaluwarsa, atau pesan "kurir tiba 20 menit lagi" untuk paket yang sudah diterima siang tadi. Masa berlaku pesan memberi tahu WhatsApp kapan harus berhenti mencoba. Nilai bawaan tiap kategori template, nilai yang cocok untuk tiap pesan, dan cara mengaturnya di MonoChat.
Tim MonoChat Diperbarui: 7 menit baca
Di halaman ini
Pelanggan sebuah toko online di Surabaya meminta kode masuk saat menunggu boarding di bandara. Ponselnya masuk mode pesawat, dan empat jam kemudian, setelah mendarat, WhatsApp mengantarkan kode yang sudah kedaluwarsa sepuluh menit setelah dikirim. Pelanggan lain menerima “kurir J&T Anda tiba sekitar 20 menit lagi” pada malam hari, padahal paketnya sudah dititipkan ke tetangga siang tadi. Pengingat “janji temu Anda dimulai satu jam lagi” dari sebuah klinik baru muncul keesokan paginya.
Tidak ada pesan yang salah saat dikirim. Yang salah adalah waktu tibanya. WhatsApp terus mencoba mengirim pesan ke ponsel yang mati atau offline, dan untuk kebanyakan template ia mencoba hingga 30 hari. Masa berlaku pesan (time-to-live, TTL) adalah pengaturan yang memberi tahu WhatsApp kapan harus berhenti.
Sejak versi 3.8.46, pembuat template MonoChat memungkinkan Anda mengaturnya di template Utilitas dan Autentikasi, seperti yang sudah bisa dilakukan di template Pemasaran. Panduan ini menjelaskan cara kerja masa berlaku pesan, nilai bawaan dan batas tiap kategori, nilai yang cocok untuk tiap pesan, dan cara mengaturnya.
Cara WhatsApp mencoba ulang sebuah pesan
Saat Anda mengirim template, WhatsApp lebih dulu mencoba mengantarkannya ke ponsel pelanggan. Jika ponsel mati, tidak ada koneksi, atau sudah lama offline, pesan menunggu di sisi WhatsApp dan WhatsApp mencoba lagi. Meta menyebut lamanya periode percobaan itu sebagai masa berlaku pesan.
Dua hal terjadi ketika masa berlaku habis:
- Pesan dibuang. Dokumentasi Meta menyebutkan sistem membuang pesan yang tidak bisa dikirim dalam masa berlaku bawaan atau khusus. Pelanggan tidak pernah melihatnya.
- Anda tidak menerima status terkirim. Saran Meta sederhana: jika webhook terkirim tidak datang sebelum masa berlaku berakhir, anggap pesan itu dibuang.
Masa percobaan bawaan dibuat panjang karena kebanyakan pesan masih berguna berhari-hari kemudian: struk, tagihan, newsletter. Pesan yang dibahas di panduan ini adalah yang tidak.
Nilai bawaan dan batas per kategori
Meta mengatur masa berlaku per template, dan rentang yang diizinkan bergantung pada kategori template:
| Kategori | Nilai bawaan | Rentang yang bisa diatur | Di MonoChat (detik) |
|---|---|---|---|
| Autentikasi | 10 menit (30 hari untuk template yang dibuat sebelum 23 Okt 2024) | 30 detik sampai 15 menit | 30 sampai 900 |
| Utilitas | 30 hari | 30 detik sampai 12 jam | 30 sampai 43200 |
| Pemasaran | 30 hari | 12 jam sampai 30 hari | 43200 sampai 2592000, pada akun yang sudah di-onboard ke Marketing Messages API |
Tiga hal yang mudah terlewat:
- Template autentikasi lama tetap 30 hari. Jika template verifikasi Anda dibuat sebelum 23 Oktober 2024 dan Anda tidak pernah mengatur masa berlaku, kode masih bisa tiba berminggu-minggu kemudian. Mengisi nilainya menyelesaikan masalah itu.
- Utilitas tidak punya batas pendek bawaan. Notifikasi pengiriman tanpa masa berlaku dicoba ulang selama 30 hari, selama newsletter.
- Pergantian kategori menghapus nilainya. Ketika Meta memindahkan template ke kategori lain, masa berlakunya dihapus, dan template kembali ke nilai bawaan kategori barunya sampai Anda mengisi nilai baru dalam rentang kategori itu.
Nilai mana untuk pesan yang mana
Atur masa berlaku sampai saat pesan berhenti benar atau berguna, bukan sampai saat Anda ingin pelanggan membacanya. Beberapa titik awal:
| Pesan | Kategori | Masa berlaku yang disarankan | Alasan |
|---|---|---|---|
| Kode masuk atau verifikasi yang berlaku 10 menit | Autentikasi | 600 detik atau kurang | Meta menyarankan masa berlaku pesan sama dengan atau lebih pendek dari masa berlaku kode |
| Kode konfirmasi pembayaran yang berlaku 5 menit | Autentikasi | 300 detik | Kode yang tiba setelah kedaluwarsa hanya menambah tiket komplain |
| ”Kurir Anda tiba sekitar 30 menit lagi” | Utilitas | 1800 detik | Setelah itu, kurir sudah datang atau sudah pergi |
| ”Meja Anda sudah siap” atau “pesanan siap diambil” | Utilitas | 1800 sampai 3600 detik | Berguna selama pelanggan masih di sekitar |
| Pengingat janji temu yang dikirim 3 jam sebelumnya | Utilitas | 10800 detik | Membuangnya setelah jam janji temu menghindarkan pesan yang membingungkan |
| Konfirmasi slot pengiriman di hari yang sama | Utilitas | 21600 sampai 43200 detik | Slotnya sudah lewat pada malam hari |
| Konfirmasi pesanan, struk, invoice | Utilitas | Biarkan kosong | Masih berguna berhari-hari kemudian |
| Flash sale 48 jam | Pemasaran | 172800 detik | Penawaran berakhir bersama berakhirnya sale |
Dua pegangan praktis:
- Biarkan kosong jika terlambat masih tidak masalah. Struk yang tiba besok lebih baik daripada tidak ada. Jangan pasang masa berlaku pendek pada pesan yang harus selalu sampai.
- Siapkan cadangan jika terlambat lebih buruk daripada tidak sama sekali. Kode yang dibuang sebaiknya mengarah ke tombol “kirim ulang kode” di aplikasi Anda; pesan “kurir sudah dekat” yang dibuang bisa diganti telepon dari kurir. Putuskan itu sebelum Anda memperpendek masa berlaku.
Cara mengaturnya di MonoChat
Anda memerlukan nomor WhatsApp yang terhubung sebagai saluran WhatsApp Business (Cloud).
1. Buka template. Masuk ke Pengaturan › Obrolan › Saluran, buka menu ⋮ pada saluran, lalu pilih Pesan Templat.
2. Buat template. Klik Buat dan pilih kategori: Utilitas untuk pembaruan, Autentikasi untuk kode. Untuk kode, pilih jenis Kata sandi sekali pakai; untuk pembaruan, Standar, atau Dari pustaka Meta untuk memulai dari salah satu template utilitas siap pakai milik Meta (lihat panduan template library kami).
3. Isi masa berlaku pesan. Di bawah nama dan bahasa, isi Masa berlaku pesan (detik). MonoChat memeriksa rentangnya saat Anda mengetik dan menampilkan “Masukkan nilai antara 30 dan 43200 detik.” untuk Utilitas atau “antara 30 dan 900 detik” untuk Autentikasi jika angkanya di luar rentang. Biarkan kosong untuk memakai nilai bawaan WhatsApp.
4. Untuk kode, samakan dengan masa berlakunya. Di template Kata sandi sekali pakai, Masa berlaku kode (menit, 1–90) menerima 1 sampai 90 menit. Atur masa berlaku pesan sama panjang atau lebih pendek. Kode yang berlaku 10 menit dengan masa berlaku pesan 600 detik tidak pernah tiba setelah kodenya tidak bisa dipakai lagi.
5. Kirim. Lengkapi pesan, tombol, dan contohnya seperti biasa (cara membuat template WhatsApp menjelaskan setiap kolomnya) lalu kirim untuk ditinjau. Masa berlaku pesan ikut bersama template: setiap pesan yang dikirim darinya, dari obrolan, flow, pesan massal, atau sistem Anda sendiri, memakai nilai yang sama.
Template Pemasaran menampilkan kolom yang sama hanya jika WhatsApp Business Account Anda sudah di-onboard ke Marketing Messages API Meta, yang dideteksi MonoChat sendiri. Rentangnya di sana 43200 sampai 2592000 detik.
Contoh: pesan hari-H sebuah klinik gigi
Sebuah klinik gigi di Yogyakarta mengirim tiga jenis pesan WhatsApp dari flow MonoChat yang terhubung ke kalender booking-nya:
- Konfirmasi booking (Utilitas, tanpa masa berlaku). Masih berguna jika pasien membacanya keesokan hari.
- Pengingat tiga jam sebelumnya (Utilitas, 10800 detik). Jika ponsel pasien mati sepanjang pagi, pengingat dibuang begitu janji temu dimulai, bukan tiba sesudahnya.
- “Dokter terlambat 20 menit” (Utilitas, 1200 detik). Pesan ini hanya benar untuk dua puluh menit ke depan.
Flow mengirim masing-masing dengan node Kirim Pesan Templat. Ketika pasien membalas “Bisa dipindah jam 5 sore, Dok?”, balasan itu membuka jendela layanan pelanggan 24 jam dan masuk ke inbox tim, tempat resepsionis menjawab dengan teks bebas, misalnya “Baik, Bapak/Ibu, kami jadwalkan ulang ya.”
Konfirmasi bisa berbagi template dengan pengingat jika klinik tidak peduli soal waktu. Karena masa berlaku diatur per template, pesan dengan umur yang berbeda memerlukan template terpisah.
Biaya
Meta menagih per pesan terkirim, dengan tarif kategori template dan negara penerima. Halaman harga Meta menyebutkan bisnis hanya ditagih ketika pesan terkirim, jadi pesan yang dibuang di akhir masa berlakunya tidak ditagih. Memperpendek masa berlaku karena itu tidak pernah menambah biaya; paling jauh ia menghemat biaya pesan yang akan tiba terlalu terlambat untuk berguna. Meta menagih bisnis Anda langsung, dan MonoChat, Meta Business Partner resmi, tidak menambah markup. Perkirakan kampanye dengan kalkulator pesan massal.
Daftar periksa
- Daftar semua template yang pesannya tidak lagi benar setelah waktu tertentu: kode, “dalam perjalanan”, “siap”, pengingat hari-H, flash sale
- Template autentikasi: masa berlaku pesan sama dengan atau lebih pendek dari Masa berlaku kode
- Template autentikasi yang dibuat sebelum 23 Okt 2024: isi nilainya, atau tetap 30 hari
- Pembaruan utilitas yang terikat waktu: masa berlaku yang berakhir saat pembaruan tidak lagi benar
- Struk, konfirmasi, dan invoice: dibiarkan kosong
- Template terpisah untuk pesan dengan umur yang berbeda
- Cadangan untuk pesan yang dibuang: kirim ulang di aplikasi, telepon, pesan baru saat pelanggan menulis
- Setelah Meta mengubah kategori template: atur masa berlaku pesan lagi
Sumber
- Meta for Developers: Configure message time-to-live (percobaan ulang, nilai bawaan dan rentang per kategori, pesan yang dibuang, webhook terkirim, saran untuk autentikasi, perubahan kategori; dibuka 6 Nov 2026)
- Meta for Developers: Pricing on the WhatsApp Business Platform (“Businesses are only charged when a message is delivered”; dibuka 6 Nov 2026)
- Pusat bantuan MonoChat: Pesan Templat (kolom Masa berlaku pesan dan rentangnya, masa berlaku kode Kata sandi sekali pakai, Marketing Messages API; dibuka 6 Nov 2026)
- Changelog MonoChat 3.8.46 (masa berlaku pesan untuk template Utilitas dan Autentikasi; dibuka 6 Nov 2026)
Terapkan dengan MonoChat