clickSomo

Kenalan & persetujuan

Senarai yang boleh anda pertahankan, bukan sekadar senarai yang anda miliki

Sesiapa sahaja boleh menyimpan sepuluh ribu alamat e-mel. Persoalan yang penting — soalan yang ditanya oleh pengawal selia, penyedia perkhidmatan dan hati nurani anda sendiri dengan perkataan yang sedikit berbeza — ialah dari mana setiap satu datangnya dan atas asas apa anda dibenarkan menulis kepadanya. ClickSomo menjadikan itu sebagai fakta yang disimpan, bukan sesuatu yang anda terpakai bina semula.

Identiti ialah alamat e-mel

Satu kenalan bagi setiap alamat bagi setiap projek, dikuatkuasakan oleh pangkalan data, bukan oleh harapan. Alamat dinormalkan semasa ditulis, bukan semasa dibaca — jika dinormalkan semasa dibaca, kekangan itu hanya hiasan yang membenarkan Anna@ dan anna@ masuk bersama-sama.

Nombor telefon disimpan dalam format E.164 jika wujud, tetapi nombor telefon ialah atribut, bukan identiti. Tiada graf penyelesaian identiti, tiada protokol penggabungan dan tiada jejak audit penggabungan, kerana setiap kenalan di sini tiba melalui saluran yang sudah mempunyai alamat: import, borang, langganan, atau kod anda sendiri.

Nama disimpan secara utuh

display_name disimpan tepat seperti yang diberikan dan tidak pernah dipecahkan kepada bahagian. Pemecahan nama ialah kilang pepijat — "van der Berg", "Kim Min-jun", nama tunggal, gelaran, dan setiap konvensyen susunan yang bukan Anglo — dan pemecahan yang salah muncul dalam teg gabungan sebagai "Dear van,", yang lebih teruk daripada tiada penyesuaian peribadi langsung.

Bahagian berstruktur hanya wujud untuk sumber yang membekalkannya sudah terpisah. Tiada apa-apa yang terbitkannya. Dan nama yang ditaip sendiri oleh seseorang tidak pernah ditulis ganti oleh fail CSV kemudian yang kebetulan mencatat sesuatu yang berbeza, kerana last-write-wins membenarkan import paling ceroboh menang.

Satu kenalanApa yang disimpan
  • 1IdentitiE-mel, dinormalkan. Unik dalam projek.
  • 2NamaDisimpan secara utuh. first_name diterbitkan semasa paparan, tidak pernah disimpan.
  • 3AtributApa sahaja yang anda suka, sebagai JSON. Milik anda, dan boleh disisipkan sebagai attrs.*.
  • 4Tag dan senaraiTag bersifat kelas pertama dan tinggal dalam satu stor; senarai ialah keahlian yang dinyatakan secara jelas.
  • 5PersetujuanSatu baris bagi setiap saluran, dengan asas yang sah dan buktinya.
  • 6PeristiwaLog tambah-sahaja bagi semua yang dilakukan oleh orang ini. Jadual yang menjadi tunjang produk.
  • ×Jangan sesekaliTiada kata laluan, tiada cincangan, tiada sesi, tiada kunci API. Lajur yang mengesahkan seseorang ialah insiden, bukan ciri.

Dilingkungi kepada penyewa dan projek, kedua-duanya

Buku besar persetujuan

Ketiadaan bukanlah kebenaran

Satu baris bagi setiap kenalan bagi setiap saluran — e-mel, SMS, surat, push — setiap satu membawa keadaan, asas yang sah, sumber, bukti, cap masa dan bidang kuasa. Kenalan tanpa baris asas bagi sesuatu saluran tidak boleh dihantar apa-apa melalui saluran itu. Bukan "ditandai". Tidak boleh.

consent

Seseorang telah meminta secara aktif. Penghantaran borang dengan bukti disimpan, double opt-in, kotak pilihan yang mereka tanda sendiri. Ini asas paling kuat dan satu-satunya yang boleh dihasilkan oleh borang.

legitimate_interest

Yang terbaik yang boleh dicapai oleh import CSV. Hampir data tidak boleh mengingati seseorang bersetuju dengan sesuatu, jadi ia tidak pernah dibenarkan mendakwa mereka berbuat demikian — dan memuat naik semula fail yang sama tidak menaikkan tarafnya.

contract

Anda menulis kepada mereka kerana sesuatu yang kedua-dua pihak terlibat. Peringatan perkhidmatan, notis pembaharuan, perkara yang mereka akan rasa pelik jika tidak menerimanya.

Sebelum kempen dihantar, anda melihat campuran asas khalayaknya: berapa ramai daripada orang ini yang meminta sendiri, berapa ramai anda capai di bawah kepentingan sah, dan berapa ramai ada di sana kerana kontrak. Ia satu angka yang telah menghentikan lebih banyak penghantaran buruk daripada mana-mana sepanduk amaran yang pernah ditulis.

Mengapa ini lebih ketat daripada yang diperlukan untuk anda: ia sebenarnya bukan tentang anda. Reputasi penghantaran pukal ialah sumber berkongsi, dan satu senarai yang ceroboh meracuni telaga untuk semua orang yang menghantar dari infrastruktur yang sama. Kadar aduan dan bounce bagi setiap penyewa dipantau, dan akaun yang kadar melampaui hadnya diperlahankan di sini — sebelum penyedia melakukannya kepada semua orang sekaligus.

Di sebalik setiap baris dalam senarai, seseorang telah berkata ya.

Empat jalan masuk

Setiap laluan ke dalam senarai anda ialah anda, bertindak ke atas data anda sendiri

Tiada saluran penyerapan token perkhidmatan dan tiada produk lain yang menulis secara senyap ke dalam kenalan anda. Jika anda mahu seseorang berada dalam senarai, salah satu daripada empat ini yang meletakkannya di sana.

Import CSV

Dipetakan lajur demi lajur, dinormalkan semasa menulis, disemak MX supaya domain mati dan tersalah taip dikesan sebelum hard-bounce, dan diletakkan dengan asas yang anda tetapkan secara jelas. Import mendapat satu id, dan setiap kenalan yang diciptanya menunjuk kembali kepadanya.

Borang ClickSomo

Dipaparkan daripada dokumen yang sama seperti yang lain, dengan pengesahan, honeypot dan had kadar. Penghantaran borang ialah satu-satunya laluan yang boleh menghasilkan consent secara sah, kerana ia satu-satunya di mana orang itu hadir.

Halaman yang anda bina dalam dash-b

Pereka papan pemanda menerbitkan halaman; borang pada salah satunya dihantar ke sini dengan kelayakan anda sendiri. Validasi yang sama, pengendalian persetujuan yang sama, tanpa integrasi kedua untuk diselenggara.

API awam

POST /v1/contacts dengan token anda sendiri, semantik upsert, kunci idempotensi dihormati. Aplikasi anda sudah tahu siapa yang mendaftar; inilah laluan terpendek daripada fakta itu ke corong.

Segmen ialah predikat, dikompil

Segmen ialah pepohon predikat yang disimpan ke atas medan kontak, atribut, tag, keahlian senarai dan tingkah laku, dikompil ke SQL dan di-cache dengan kiraan. Operatornya ialah operator biasa — sama dengan, tidak sama dengan, dalam, tidak dalam, bermula dengan, berakhir dengan, mengandungi, ditetapkan, tidak ditetapkan — digabungkan dengan dan, atau dan tidak pada kedalaman yang anda perlukan.

Pratonton dahulu sebelum menggunakannya. Endpoint ini memulangkan kontak sebenar, jadi soalan "siapa sebenarnya di dalam ini" dijawab dengan melihat, bukan dengan menghantar dan mengetahui kemudian.

Segmen kemudian berfungsi berganda: sebagai khalayak untuk kempen, sebagai syarat pada cabang corong, dan sebagai pencetus itu sendiri — segment_enter memulakan larian pada saat seseorang menjadi layak.

Pelanggan tetap yang senyapPratonton segmen · 412
  • 1Tagtags contains "regular"
  • 2Atributattrs.total_orders >= 3 — medan anda, nama anda untuknya.
  • 3Tingkah lakuTiada peristiwa order.paid dalam 90 hari terakhir.
  • 4PersetujuanAsas e-mel yang boleh digunakan. Kontak tanpa asas tersebut tidak dikira, kerana mereka tidak boleh dihantar e-mel juga.
  • iPratonton412 kontak, tersenarai. Dikira semula semasa penghantaran, kerana segmen ialah soalan dan bukan petikan.

Dikompil ke SQLKiraan di-cache, jawapan langsung

Penindasan, dan bila ia diperiksa

Penindasan berdasarkan projek dan global: lantunan keras, aduan, nyahlanggan, entri manual dan alamat peranan. Ia diperiksa semasa masa penghantaran, dan kemudian sekali lagi di dalam perkhidmatan penghantaran itu sendiri.

Periksa kedua itulah yang berfungsi. Corong dengan jangkaan tiga hari mempunyai tetingkap tiga hari di mana seseorang boleh nyahlanggan, dan sistem yang memeriksa penindasan semasa mesej dimasukkan ke baris giliran tetap menghantar e-mel kepada mereka. Pemeriksaan semasa penghantaran ialah perbezaan antara menghormati nyahlanggan dan hanya merekodkannya.

Pemadaman berfungsi dengan cara yang sama: permintaan pemadaman mengalih keluar kontak dan sejarah mesejnya di sini, dan sampai ke setiap perkhidmatan saudara yang menyimpan salinan melalui lorong dalaman yang sama seperti yang digunakan oleh seluruh keluarga. Terdapat satu tempat untuk meminta dan satu perkara yang berlaku.