Контактілер және келісім
Сізде бар тізім ғана емес, қорғай алатын тізім
Кез келген адам он мың электрондық мекенжайды сақтай алады. Маңызды сұрақ — заң қадағалаушы, провайдер және сіздің өз ар-ұжданыңыз сәл өзгеше сөздермен қоятын сұрақ — олардың әрқайсысы қайдан келгені және оған неге жазуға құқығыңыз бар екені. ClickSomo мұны қайта қалпына келтіруге тура келмейтін, сақталған фактіге айналдырады.
Сәйкестендіру — электрондық мекенжай
Әр адреске, әр жобаға бір контакт — бұл үмітпен емес, дерекқормен қамтамасыз етіледі. Адрес жазылған кезде нормаланады, оқылған кезде ешқашан — оқу кезінде нормаласаңыз, шектеу тек безендіру болып қалады және Anna@ де, anna@ де ішке өтіп кетеді.
Телефон нөмірлері бар жерде E.164 форматында сақталады, бірақ телефон нөмірі — бұл атрибут, жеке басылық емес. Жеке басылықты шешу графигі жоқ, біріктіру хаттамасы да, біріктірулердің аудит журналы да жоқ, өйткені бұл жердегі әр контакт адресі бар арна арқылы келеді: импорт, форма, жазылу немесе сіздің өз кодыңыз.
Аты тұтас күйінде сақталады
display_name берген күйінде дәл сақталады және ешқашан бөліктерге бөлінбейді. Атты бөлу — қателер фабрикасы: «van der Berg», «Ким Мин-жун», бірсөздік аттар, атаулар және ағылшындық емес барлық рет тәртібі — ал қате бөлу merge-тегте «Құрметті van,» болып шығады, бұл жеке даралаудың мүлде болмауынан да жаман.
Құрылымдық бөліктер тек оларды бөлек берген дереккөздер үшін ғана болады. Ештеңе оларды шығарып алмайды. Ал адамның өзі теріп жазған аты кейінгі CSV-файл басқаша көрсеткен деп ешқашан үстінен жазылмайды, өйткені соңғы жазу ұтады деген принцип ең абайсыз импорттың ұтуына жол ашады.
- 1Жеке басылықЭлектрондық пошта, нормаланған. Жоба ішінде бірегей.
- 2АтыТұтас күйінде сақталады.
first_nameкөрсету кезінде шығарылады, ешқашан сақталмайды. - 3АтрибуттарҚалағаныңыз, JSON түрінде. Сіздікі және
attrs.*ретінде интерполяцияланады. - 4Тегтер мен тізімдерТегтер — толыққанды нысандар, бір сақтау орнында тұрады; тізімдер — айқын мүшелік.
- 5КелісімӘр арнаға бір жол, заңды негізі және оның дәлелімен бірге.
- 6ОқиғаларБұл адам жасаған барлық нәрсенің тек қосымша жазылатын журналы. Өнім тірелетін кесте.
- ×ЕшқашанҚұпиясөз жоқ, хэш жоқ, сессия жоқ, API-кілт жоқ. Біреуді аутентификациялайтын баған — бұл мүмкіндік емес, оқиға болар еді.
Тенантқа да, жобаға да қатысты шектелген
Келісім журналы
Болмауы — рұқсат емес
Әр контактке, әр арнаға бір жол — электрондық пошта, SMS, хат, push — әрқайсысында күй, заңды негіз, дереккөз, дәлел, уақыт белгілері және юрисдикция бар. Арна үшін негіз жолы жоқ контактқа сол арна арқылы ештеңе жіберілмейді. «Белгіленген» емес. Жіберілмейді.
consent
Адам белсенді түрде сұраған. Дәлелі сақталған форма жіберуі, қосарланған растама, өзі құсбелгі қойған құсбелгі. Бұл ең мықты негіз және форма бере алатын жалғыз негіз.
legitimate_interest
CSV импортының қол жеткізе алатын ең жақсы деңгейі. Кесте біреудің бір нәрсеге келісімін есте сақтай алмайды, сондықтан ол мұны білдіруге ешқашан рұқсат етілмейді — ал сол файлды қайта жүктеу оны жақсартпайды.
contract
Сіз оларға екеуіңіз де тарап болған бір нәрсе үшін жазасыз. Қызмет ескертуі, жаңарту хабарламасы — алып қалса, ренжитін нәрсе.
Науқан жіберілмес бұрын сіз оның аудиториясының негіздер құрамын көресіз: осы адамдардың қаншасы сұраған, қаншасына заңды мүдде бойынша жетесіз және қаншасы келісімшарт бойынша бар. Нашар жіберулердің қаншасын тоқтатқан ешбір ескерту баннерімен салыстырғанда бұл бір сан көбірек тоқтатқан.
Бұл сізге қажеттен гөрі қатаң неге: шынында да сіз туралы емес. Жаппай жіберу беделі — ортақ ресурс, және бір абайсыз тізім бір инфрақұрылымнан жіберетін барлығына құдықты улайды. Тенант бойынша шағым және қайтару көрсеткіштері бақыланады, шектен асқан тіркелгі осы жерде шектеледі — провайдер барлығына бірден жасамай тұрып.

Тізімдегі әр жолдың артында біреу «иә» деген.
Кірудің төрт жолы
Тізіміңізге кіретін әр жол — өз деректеріңізге өзіңіз әрекет ету
Сервис-токенмен дерек қабылдау арнасы жоқ және сіздің контакттарыңызға үнсіз жазатын туынды өнім де жоқ. Біреуді тізімге қосқыңыз келсе, оны осы төрт жолдың біреуі қосқан.
CSV импорты
Бағаннан бағанға салыстырылады, жазу кезінде нормаланады, MX-тексеріледі, сондықтан өлі және қате терілген домендер қатты қайтарымға түспей тұрып ұсталады, және сіз айқын қойған негізбен түседі. Импорт id алады, ал ол жасаған әр контакт соған сілтенеді.
ClickSomo формасы
Барлық нәрсе сияқты сол құжаттан көрсетіледі, валидация, honeypot және жиілік шегімен. Жіберу — consent заңды түрде бере алатын жалғыз жол, өйткені адамның өзі қатысатын жалғыз жол осы.
dash-b-де өзіңіз жасаған бет
Дашборд дизайнері беттер жариялайды; олардың біріндегі форма сіздің өз тіркелгі деректеріңізбен осында жіберіледі. Сол валидация, сол келісім өңдеу, ұстап тұратын екінші интеграция жоқ.
Ашық API
POST /v1/contacts өз токеніңізбен, upsert семантикасы, idempotency-кілті ескеріледі. Қолданбаңыз кім тіркелгенін бұрыннан біледі; осы фактіден воронкаға дейінгі ең қысқа жол — бұл.
Сегменттер — бұл предикат, компиляцияланған
Сегмент — бұл контакт өрістері, атрибуттар, тегтер, тізім мүшелігі және әрекеттер бойынша сақталған предикат ағашы, ол SQL-ге компиляцияланып, санымен бірге кэштеледі. Операторлар қарапайым — тең, тең емес, ішінде, ішінде емес, басталады, аяқталады, қамтиды, орнатылған, орнатылмаған — олар and, or және not арқылы қажетті тереңдікте біріктіріледі.
Қолданар алдында алдын ала қарап шығыңыз. Эндпоинт нақты контакттерді қайтарады, сондықтан «бұның ішінде шынымен кім бар» деген сұраққа жіберіп білуге емес, қарап білуге болады.
Сегменттер қосарланған міндет атқарады: кампанияның аудиториясы ретінде, воронка тармағының шарты ретінде және өз алдына триггер ретінде — segment_enter біреу құқықты болған сәтте іске қосылуды бастайды.
- 1Тег
tags contains "regular" - 2Атрибут
attrs.total_orders >= 3— сіздің өрісіңіз, сіздің атауыңыз. - 3Мінез-құлықСоңғы 90 күнде
order.paidоқиғасы жоқ. - 4КелісімПайдалануға жарамды электрондық пошта негізі. Онысыз контакттер санаққа кірмейді, өйткені оларға әйтпегенде жіберу мүмкін емес еді.
- iАлдын ала көру412 контакт тізімделді. Жіберу кезінде қайта есептеледі, өйткені сегмент — бұл сұрақ, сурет емес.
SQL-ге компиляцияландыСанақ кэштелген, жауап жаңа
Шығарып тастау және оның қашан тексерілетіні
Шығарып тастаулар жоба ауқымында және глобалды: қатты қайтарылымдар, шағымдар, жазылудан бас тартулар, қолмен енгізілген жазбалар және рөлдік адресаттар. Олар жіберу кезінде тексеріледі, содан кейін жіберу қызметінің ішінде тағы бір рет.
Екінші сөз шешуші рөл атқарады. Үш күндік күтуді қамтитын воронкада біреу жазылудан бас тарта алатын үш күндік терезе бар, ал хабарлама кезекте тұрғанда шығарып тастауларды тексерген жүйе оларға әйтпегенде жібере береді. Жіберу кезінде тексеру — жазылудан бас тартуды құрметтеу мен оны жай жазып қоюдың айырмашылығы.
Жою да солай жұмыс істейді: жою сұрауы контактті және оның хабарламалар тарихын осы жерден алып тастайды және көшірмесі сақталған әр туыстық қызметке отбасының қалғаны пайдаланатын сол бір ішкі арна арқылы жетеді. Сұрайтын бір орын және орындалатын бір әрекет бар.