Кантакты і згода
Спіс, які Вы можаце абараніць, а не проста спіс, які Вы маеце
Кожны можа трымаць дзесяць тысяч адрасоў электроннай пошты. Пытанне, што мае значэнне — тое, якое рэгулятар, правайдар і Ваша ўласная сумленнасць задаюць у крыху розных словах — гэта адкуль кожны з іх прыйшоў і на якой падставе Вы можаце пісаць на яго. ClickSomo робіць гэта захаваным фактам, а не тым, што Вам прыйшлося б аднаўляць.
Ідэнтычнасць — гэта адрас электроннай пошты
Адзін кантакт на адрас на праект — гэта гарантуе база даных, а не надзея. Адрасы нармалізуюцца пры запісе, а не пры чытанні — калі нармалізаваць пры чытанні, абмежаванне стануць дэкарацыяй, якая прапускае і Anna@, і anna@.
Нумары тэлефонаў захоўваюцца ў фармаце E.164, калі яны ёсць, але нумар тэлефона — гэта атрыбут, а не ідэнтычнасць. Тут няма графа вырашэння ідэнтычнасцей, пратакола аб'яднання і журналу аудыту аб'яднанняў, бо кожны кантакт трапляе сюды праз канал, які ўжо мае адрас: імпарт, форма, падпіска або ваш уласны код.
Імя захоўваецца цалкам
display_name захоўваецца дакладна ў тым выглядзе, у якім быў дадзены, і ніколі не падзяляецца на часткі. Падзел імёнаў — крыніца памылак: «van der Berg», «Kim Min-jun», адзіночныя імёны, тытулы і ўсе парадкі слоў, акрамя англійскага. Памылковы падзел з'явіцца ў тэгу аб'яднання як «Шаноўны van,», што горш, чым ніякай персаналізацыі.
Структураваныя часткі існуюць толькі для крыніц, якія падаюць іх ужо падзеленымі. Нішто іх не выводзіць. І імя, якое чалавек увёў сам, ніколі не перазапісваецца пазнейшым CSV, які выпадкова зафіксаваў нешта іншае, бо прынцып «апошні запіс перамагае» дазваляе перамагаць найбольш неахайнаму імпарту.
- 1ІдэнтычнасцьЭлектронная пошта, нармалізаваная. Унікальная ў межах праекта.
- 2ІмяЗахоўваецца цалкам.
first_nameвыводзіцца падчас рэндэрынгу і ніколі не захоўваецца. - 3АтрыбутыШто заўгодна, у выглядзе JSON. Вашы, і даступныя для інтэрпаляцыі як
attrs.*. - 4Тэгі і спісыТэгі — паўнапраўныя аб'екты і жывуць у адным сховішчы; спісы — гэта відавочнае членства.
- 5ЗгодаАдзін радок на канал, з прававой падставай і яе доказам.
- 6ПадзеіЖурнал толькі для дадавання, які фіксуе ўсё, што рабіў гэты чалавек. Табліца, на якой трымаецца ўвесь прадукт.
- ×НіколіНі пароля, ні хэша, ні сесіі, ні API-ключа. Слупок, які правярае сапраўднасць чалавека, — гэта інцыдэнт, а не функцыя.
Абмежавана і арандатарам, і праектам
Рэестр згоды
Адсутнасць — гэта не дазвол
Адзін радок на кантакт на канал — электронная пошта, SMS, ліст, push — кожны з станам, прававой падставай, крыніцай, доказам, часовымі пазнакамі і юрысдыкцыяй. Кантакту, у якога няма радка падставы для канала, нічога нельга адправіць па гэтым канале. Не «пазначаны як забаронены». Нельга.
consent
Чалавек актыўна папросіў. Адпраўка формы з захаваным доказам, падвойнае пацвярджэнне падпіскі, сцяжок, які ён паставіў сам. Гэта наймацнейшая падстава і адзіная, якую можа даць форма.
legitimate_interest
Найлепшае, што можа даць імпарт CSV. Табліца не можа запомніць, што чалавек на што-то згадзіўся, таму ёй ніколі не дазваляецца гэта сцвярджаць — і паўторная загрузка таго ж файла гэтага не павышае.
contract
Вы пішаце ім, бо вы абодва — удзельнікі адных і тых жа адносін. Нагадванне пра паслугу, паведамленне пра падаўжэнне, тое, без чаго чалавек быў бы раздразнёны.
Перад адпраўкай кампаніі вы бачыце расподзел падставаў па яе аўдыторыі: колькі з гэтых людзей папрасілі самі, колькі вы дасягаеце па законным інтарэсе і колькі трапілі сюды праз дагавор. Гэта адна лічба, якая спыніла больш дрэнных рассылак, чым любое папярэджанне, калі-небудзь напісанае.
Чаму гэта стражэй, чым вам было б трэба: справа насамрэч не ў вас. Рэпутацыя масавай рассылкі — агульны рэсурс, і адна неахайная спіс атручвае крыніцу для ўсіх, хто рассылае з той жа інфраструктуры. Узровень скарг і адмоваў сачыцца па кожным арандатарам, і ўліковы запіс, які перавышае парог, абмяжоўваецца тут — да таго, як гэта зрабіць правайдар для ўсіх адразу.

За кожным радком у спісе — чалавек, які сказаў «так».
Чатыры шляхі траплення
Кожны шлях у ваш спіс — гэта вы, дзеячы са сваімі ўласнымі данымі
Няма канала прыёму праз сэрвісны токен і няма суседняга прадукта, які б цішком пісаў у вашы кантакты. Калі вы хочаце бачыць чалавека ў спісе, адзін з гэтых чатырох шляхоў яго туды змясціў.
Імпарт CSV
Супастаўленне па слупок за слупком, нармалізацыя пры запісе, праверка MX, каб мёртвыя і з памылкамі дамены былі злоўлены да жорсткай адмовы, і прыём з падставай, якую вы задаеце відавочна. Імпарт атрымлівае ідэнтыфікатар, і кожны створаны ім кантакт спасылаецца на яго.
Форма ClickSomo
Рэндэрыцца з таго ж дакумента, што і ўсё астатняе, з праверкай даных, ханіпотам і абмежаваннем частоты. Адпраўка формы — адзіны шлях, які можа законна даць consent, бо толькі тут чалавек прысутнічае асабіста.
Старонка, якую вы пабудавалі ў dash-b
Дызайнер панэлі кіравання публікуе старонкі; форма на адной з іх адпраўляе даныя сюды з вашымі ўласнымі ўліковымі дадзенымі. Тая ж праверка, тая ж апрацоўка згоды, без другой інтэграцыі для падтрымання.
Публічны API
POST /v1/contacts з вашым уласным токенам, сэмантыкай upsert, з улікам ключа ідэнтэмпотэнтнасці. Ваша праграма ўжо ведае, хто зарэгістраваўся; гэта найкарацейшы шлях ад гэтага факту да варонкі.
Сегменты — гэта предыкат, кампілюецца
Сегмент — гэта захаванае дрэва предыкатаў над палямі кантактаў, атрыбутамі, тэгамі, прыналежнасцю да спісаў і паводзінамі, які кампілюецца ў SQL і кэшуецца з падлікам. Аперацыары звычайныя — роўна, не роўна, у, не ў, пачынаецца з, заканчваецца на, змяшчае, зададзена, не зададзена — злучаныя з дапамогай і, або і не на любую глыбіню, якая вам патрэбна.
Праглядзіце яго перад выкарыстаннем. Канцавая кропка вяртае рэальных кантактаў, таму пытанне «хто сапраўды тут» вы вырашыце паглядзеўшы, а не адправіўшы і даведаўшыся.
Сегменты потым выконваюць падвойную ролю: як аўдыторыя для кампаніі, як умова на галінцы варонкі і як трыгер самі па сабе — segment_enter пачынае запуск у той момант, калі хтосьці становіцца адпаведным.
- 1Тэг
tags contains "regular" - 2Атрыбут
attrs.total_orders >= 3— вашае поле, ваша назва для яго. - 3ПаводзіныНяма падзеі
order.paidза апошнія 90 дзён. - 4ЗгодаПрыдатная аснова для электроннай пошты. Кантакты без яе не ўваходзяць у падлік, бо ім усё роўна нельга было б адправіць.
- іПапярэдні прагляд412 кантактаў, пералічана. Падлічваецца зноў пры адпраўцы, бо сегмент — гэта пытанне, а не здымак.
Кампілюецца ў SQLПадлік у кэшы, адказ жывы
Прыдушэнне і калі яно правяраецца
Прыдушэнні маюць абсяг праекта і з'яўляюцца глабальнымі: жорсткія адмовы, скаргі, адмовы ад падпіскі, ручныя запісы і службовыя адрасы. Яны правяраюцца у момант адпраўкі, а потым яшчэ раз усярёдзе самой службы адпраўкі.
Гэтае другое слова і робіць работу. Варонка з трохдзённым чаканнем мае трохдзённае акно, на працягу якога хтосьці можа адмовіцца ад падпіскі, і сістэма, якая праверыла прыдушэнне пры пастаноўцы паведамлення ў чаргу, усё роўна адправіць яму ліст. Праверка ў момант адпраўкі — гэта розніца паміж павагай да адмовы ад падпіскі і яе фіксаваннем.
Выдаленне працуе таксама: запыт на выдаленне прыбірае кантакт і гісторыю яго паведамленняў тут і дасягае ўсіх братэрскіх службаў, якія трымалі копію, праз той самы ўнутраны канал, якім карыстаецца ўся сям'я. Ёсць адно месца, дзе можна папрасіць, і адна рэч, якая адбываецца.