Мост CRM

Калі сеанс атрымлівае імя, запіс дадаецца нататкай да гэтага чалавека ў CRM — да існага кантакту, не новага.

1. Сутнасць у адным сказе

Адразу пасля ідэнтыфікацыі сеанса мы знаходзім чалавека ў CRM па перададзеным ідэнтыфікатары і дадаём нататку са спасылкай на запіс.

Вось і ўсё. Без новых кантактаў, здзелак і змен варонкі продажаў. CRM, якая плодзіць дублікаты пры кожным наведванні цэн, горшая за адсутнасць інтэграцыі.

Калі чалавека не знайшлі, нічога не адбываецца. Стварэнне азначала б запіс у CRM з браўзернага сеанса — а сеансы не крыніца праўды пра вашых кліентаў.

2. Ключ супастаўлення: як знайсці чалавека

Гэта заслугоўвае дзесяці хвілін увагі, бо менавіта тут CRM-інтэграцыя звычайна ціха працуе няправільна.

Мы ведаем наведвальніка паводле таго, што паведаміў сайт, — MousePlayer.setUserId(), асобнага ID з аналітычнага інструмента або сервернага identify. CRM таксама ведае яго па нечым. Гэтыя дзве рэчы павінны супадаць.

Мы шукаемЦі можна змяніць
HubSpotпошту кантактуне — вакол яе пабудаваны пошукавы API
Pipedriveлюдзей па тэрміне, найперш пошцене
Salesforceполе, названае вамі, па змаўчанні Emailтак

Чаму Salesforce пытае гэта

Salesforce рэдка выкарыстоўвае пошту як ключ. У вас ключом можа быць Customer_Number__cабо знешні ID з білінгу. Калі б мы ўсё роўна шукалі па пошце, не знайшлі б нічога і паведамілі поспех — найгоршы збой, бо інтэграцыя выглядае жывой.

Таму форма пытае: якое поле Contact змяшчае перададзенае значэнне? Укажыце імя API разам з __c для ўласнага поля.

Назва правяраецца строгім шаблонам перад запытам. Назва поля CRM — літары, лічбы і падкрэсліванні; астатняе адхіляецца, а не экрануецца, бо экранаванне можна ледзь памылкова выканаць, а адмову — не.

3. Калі спрацоўвае і калі наўмысна не

Пры ідэнтыфікацыі: калі сайт выклікае MousePlayer.setUserId(), калі наш мост чытае асобны ID з PostHog, Mixpanel або Amplitude, або сервер выклікае кропку identify.

Адзін раз на сеанс, не на старонку

Уваход і адзінаццаць старонак — адна нататка, не адзінаццаць. Часовую шкалу CRM чытаюць людзі.

Не без ідэнтыфікатара

Ананімны сеанс няма з чым супаставіць. Мы не гадаем паводле IP і не дадаем запіс выпадковаму чалавеку з тым жа адрасам.

Не калі чалавека няма ў CRM

Лічыцца выкананым, а не памылкай — патэнцыйнага кліента часта яшчэ няма ў CRM, і паўтор заўтра нічога не зменіць.

4. Выгляд нататкі і месца захоўвання токена

Адна нататка ў часовай шкале кантакту: паведамленне пра запіс сеанса і спасылка. Прадавец адкрывае яе і бачыць, што чалавек сапраўды рабіў да звароту.

Уліковыя даныя

Захоўваюцца з шыфраваннем AES-256-GCM. Пасля захавання не паказваюцца — у полі зорачкі, і захаванне з зорачкамі не змяняе значэнне. Яны таксама наўмысна не трапляюць у чаргу задач: чарга — агульны стан, а агульны стан — не месца для ключа.

Salesforce патрабуе тры рэчы, астатнія дзве

Salesforce аўтарызуецца праз Connected App з токенам абнаўлення, таму пытае consumer key, secret, refresh token і URL асобніка. HubSpot і Pipedrive прымаюць адзін API-токен. Ва ўсіх выпадках праграма ваша — MousePlayer не выкарыстоўвае праграму маркетплэйса, якой вы павінны давяраць.

5. Zoho CRM і Freshsales

Яшчэ дзве CRM з супрацьлеглымі ўзроўнямі складанасці налады.

Zoho CRMFreshsales
Вы задаяцедата-цэнтр, client ID, client secret, refresh tokenAPI-ключ і дамен Freshworks
Мы шукаемназванае вамі поле, па змаўчанні Emailназванае вамі поле, па змаўчанні email
Нататка трапляеда кантакту як запіс Noteда кантакту як нататка

Zoho знаходзіцца ў адным з шасці дата-цэнтраў

Акаўнт знаходзіцца ў com, eu, in, com.au, jp або com.cn, і ключ не кажа, у якім. Пры няправільным выбары Zoho адказвае INVALID_TOKEN — гэта выглядае як дрэнны ключ і вядзе пошук не туды. Менавіта таму поле — выпадальны спіс.

Self Client, адзін раз

Стварыце Self Client у кансолі Zoho API, згенеруйце grant token для ZohoCRM.modules.ALL і ZohoSearch.securesearch.READі адзін раз абмяняйце яго на refresh token. Ён не мінае; гадзінныя токены доступу атрымліваюцца з яго і ніколі не захоўваюцца.

Zoho адказвае 200, калі мае на ўвазе адмову

Абмен токенамі і запіс даных могуць вяртаць HTTP 200 з памылкай або станам асобнага запісу ў целе. Мы чытаем цела — давер толькі коду паведаміў бы поспех для нястворанай нататкі.

Усе згаданыя таварныя знакі належаць адпаведным уладальнікам. MousePlayer не мае дзелавых адносін з гэтымі пастаўшчыкамі.