Kotak newsletter untuk situs Atlas mana pun, lengkap dengan bukti persetujuan

Atlas kini punya modul newsletter: satu kolom untuk email atau nomor WhatsApp, double opt in, captcha wajib, dan catatan persis apa yang disetujui tiap orang. Modul ini dikirim dalam keadaan mati, dan inilah yang sudah bisa dan belum bisa dilakukannya.

Cepat atau lambat, setiap situs brand akan diminta hal yang sama: pasang kotak berlangganan di footer. Kotaknya mudah. Yang sulit adalah semua yang ada di belakangnya: mencegah bot memakai form Anda untuk mengirim email ke orang asing, tahu siapa menyetujui apa, dan membiarkan orang berhenti dengan satu klik.

Untuk itu Atlas kini punya modul newsletter. Modul ini sudah live di Atlas API 0.1.56 dan Atlas admin 0.1.41. Modul ini mati untuk setiap brand sampai admin menyalakannya, jadi tidak ada yang berubah di situs Anda hari ini.

Yang dilihat pengunjung

Satu kolom. Mereka mengetik email atau nomor ponsel lalu menekan tombolnya.

  1. Alamat email mendapat email konfirmasi. Orang itu baru menjadi pelanggan saat mengklik tautan di dalamnya (double opt in). Tautannya berlaku 72 jam.
  2. Nomor WhatsApp disimpan bersama persetujuannya dan belum ada yang dikirim ke nomor itu. Pengiriman WhatsApp adalah urusan modul omnichannel, bukan modul ini.
  3. Setiap email membawa header List-Unsubscribe, sehingga aplikasi email bisa menawarkan berhenti berlangganan satu klik. Tautannya membuka halaman dengan satu tombol, dan hanya tombol itu (sebuah POST) yang mengubah data. Dengan begitu pemindai tautan tidak bisa membatalkan langganan seseorang secara tidak sengaja.

Yang dihadapi bot

Mendaftar berarti mengirim email konfirmasi ke alamat apa pun yang diketik. Itu persis yang dicari penyalahguna, jadi endpoint ini lebih ketat daripada form biasa:

  1. Challenge bertanda tangan sekali pakai dengan jebakan waktu dan proof of work kecil, yang sudah disediakan Atlas Shield.
  2. Token Cloudflare Turnstile yang wajib, atau hCaptcha bila brand tidak bisa memakai Cloudflare. Brand tidak bisa menyalakan newsletter sebelum integrasi captcha tersimpan dan uji kuncinya lolos.
  3. Kolom honeypot dan pembatasan laju.
  4. Bila penyedia captcha tidak bisa dihubungi, jawabannya 503 dan tidak ada yang disimpan atau dikirim. Sistem gagal secara tertutup.

Jawabannya juga tidak pernah membocorkan apakah sebuah alamat sudah dikenal. Alamat baru, alamat yang sudah ada, dan alamat yang diblokir semuanya mendapat 202 yang sama.

Yang dipanggil dari situs Anda

Server situs Anda mengirim ke Atlas dengan read token brand. Pemanggilan tidak pernah dari browser. Pertama meminta challenge, lalu mendaftar:

{"contact": "0812 3456 7890", "locale": "id", "source": "footer",
 "tags": ["promo"], "consent_version": "footer-2026-11",
 "challenge": "<token>", "solution": 4711, "captcha_token": "<turnstile token>", "website": ""}
StatusArtinya
202Diterima. Email mendapat next: confirm_email, WhatsApp mendapat next: none
422Ada masalah pada input, dengan kode seperti contact_invalid atau captcha_failed
429Terlalu banyak percobaan, disertai Retry-After
503Captcha tidak bisa diperiksa, jadi tidak ada yang disimpan

Bukti persetujuan

Setiap brand menyimpan teks persetujuannya sebagai versi, dengan teks per bahasa dan tautan kebijakan. Situs hanya mengirim kunci versi yang ia tampilkan. Atlas menyimpan hash dari teks persis itu di samping setiap catatan persetujuan, sehingga nanti Anda bisa membuktikan redaksi apa yang dilihat seseorang walau teksnya kemudian diubah. Karena itu admin menjadikan "versi baru" sebagai aksi bawaan dan memberi peringatan saat Anda mengedit versi yang sudah punya persetujuan.

Alamat disimpan terenkripsi. Pencarian memakai hash berkunci. Data pelanggan yang berhenti dihapus setelah 7 hari, pendaftaran yang tidak dikonfirmasi setelah 14 hari, dan nomor WhatsApp setelah 30 hari. Hanya hash yang tetap ada di daftar suppression, sehingga orang yang sudah berhenti tidak dikirimi email lagi.

Di admin

Ada area Newsletter dengan daftar pelanggan, filter menurut status, sumber, dan channel, serta jumlah per status. Editor melihat alamat yang disamarkan. Publisher dan admin melihat alamat lengkap, dan hanya admin yang mengubah pengaturan, memblokir pelanggan, atau menghapusnya. Sebelum modul dinyalakan, sebuah checklist menunjukkan apa yang belum ada: captcha sudah disiapkan (Atlas menguji ulang kuncinya saat modul dinyalakan), teks persetujuan sudah ditulis, dan, disarankan, koneksi email milik Anda sendiri. Tanpa koneksi itu, email konfirmasi keluar lewat pengirim bawaan Atlas.

Yang belum bisa dilakukan

Ini fase pertama. Batasnya perlu jelas:

  1. Modul ini mengumpulkan dan mengelola pelanggan. Belum ada pengiriman kampanye. Menyusun dan mengirim dari konten Atlas adalah fase berikutnya.
  2. Nomor WhatsApp disimpan beserta persetujuannya, tetapi belum ada yang dikirim ke nomor itu.
  3. Belum ada daftar atau segmen selain tag.
  4. Alur persetujuannya mengikuti prinsip UU Pelindungan Data Pribadi (UU PDP): pemberitahuan yang jelas, klik konfirmasi, penarikan persetujuan kapan saja, dan penghapusan data. Redaksi persisnya belum melalui tinjauan hukum, jadi konsultasikan dengan penasihat hukum Anda sebelum mengandalkannya.

Yang sudah kami periksa, dan yang belum

Kami menjalankan seluruh alurnya di Atlas lokal: mendaftar lewat email dan nomor WhatsApp dari footer situs sungguhan, konfirmasi, berhenti satu klik, dan captcha yang gagal secara tertutup. API dan admin sudah ter-deploy ke production, migrasinya sudah jalan, dan modul masih mati. Kami belum menjalankan pendaftaran sungguhan di production, karena belum ada brand yang menyalakan modulnya.

Cara menyalakannya

  1. Simpan integrasi Turnstile atau hCaptcha untuk brand.
  2. Tambahkan sedikitnya satu teks persetujuan di pengaturan newsletter brand.
  3. Nyalakan modul di Pengaturan, lalu Modul.

Referensi API lengkapnya ada di dokumentasi newsletter.

//Baca juga

Lainnya dari blog

Semua artikel →

//Kelola setiap brand dari satu tempat.

Mulai gratis untuk satu brand. Ajak tim Anda saat sudah siap.

$ npm install @atlas/client @atlas/nuxt

Gratis untuk satu brandTanpa kartu kreditUpgrade kapan saja