ДокументацияРуководства
DARA Fingerprint
Подключение DARA Fingerprint к проекту — что даёт, SDK и cookie dara_visitor, отдельный секретный ключ, фоновая проверка, спорные и общие устройства, узнавание без входа, статусы подключения.
DARA Fingerprint — сервис распознавания посетителей: его SDK на страницах вашего сайта присваивает браузеру visitor_uuid и хранит его в cookie dara_visitor. Подключение к проекту ДАРА — по желанию: без него всё работает по user_id и anonymous_id.
Что даёт подключение
| Без подключения | С подключением | |
|---|---|---|
fingerprint_uuid в запросах |
ни на что не влияет и даже не проверяется | проверяется в фоне и после проверки участвует в определении пользователя |
сменился anonymous_id, а dara_visitor тот же |
новый анонимный пользователь | история сохраняется: пользователь находится по проверенному fingerprint_uuid |
| выдача без входа на устройстве, где входил пользователь | анонимная | по профилю пользователя — при включённом узнавании без входа |
| карточка пользователя в кабинете | идентификаторы | ещё входы на устройствах и результат проверки: известен ли посетитель вашему сайту, спорный ли он, общее ли устройство, визиты |
SDK и dara_visitor
- SDK DARA Fingerprint стоит на страницах вашего сайта с публичным ключом
pk_…и записываетvisitor_uuidв cookiedara_visitor. - Ваш сервер читает
dara_visitorи передаёт его значение вfingerprint_uuidобъектаuser— в событиях, заказах, профиле, склейке и выдаче. Передавайте только значения в формате UUID. - Передавайте
fingerprint_uuidвместе сanonymous_id: покаfingerprint_uuidне проверен, по нему одному пользователь не находится — события только с ним, кроме самого первого запроса с нового устройства, отклоняются с кодомno_user.
{"user": {"user_id": "u-501", "anonymous_id": "a-7f3c2e", "fingerprint_uuid": "3f1c9a52-8d4e-4b7a-9c61-2e5d7f0a1b34"}}
Продлевайте cookie ответом сервера. Safari удаляет cookie, записанные из JavaScript, через 7 дней без визита, и посетитель получает новый visitor_uuid. Cookie, выставленные ответом вашего сервера, он не трогает. Перевыставляйте dara_visitor с тем же значением не чаще раза в сутки: срок 400 суток, Path=/, Secure, SameSite=Lax, без HttpOnly — SDK читает её из JavaScript.
<?php
$uuid = $_COOKIE['dara_visitor'] ?? '';
$isUuid = preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i', $uuid) === 1;
if ($isUuid && !isset($_COOKIE['dara_visitor_srv'])) {
setcookie('dara_visitor', $uuid, ['expires' => time() + 400 * 86400, 'path' => '/', 'secure' => true, 'samesite' => 'Lax']);
setcookie('dara_visitor_srv', '1', ['expires' => time() + 86400, 'path' => '/', 'secure' => true, 'httponly' => true, 'samesite' => 'Lax']);
}
Вызывайте это на HTML-страницах сайта до отправки заголовков. Служебная cookie dara_visitor_srv ограничивает перевыставление одним разом в сутки.
Секретный ключ для ДАРА
ДАРА проверяет посетителей запросом к DARA Fingerprint от имени вашего сайта, поэтому ей нужен секретный ключ сайта.
- В кабинете DARA Fingerprint, в разделе «Настройки → Ключи сайтов», выпустите для сайта отдельный секретный ключ
sk_…для ДАРА — не тот, которым ваш сервер сам вызывает DARA Fingerprint: так ключи отзываются независимо. - В кабинете ДАРА: проект → «DARA Fingerprint» → поле «Секретный ключ fingerprint» → «Проверить и сохранить».
Что происходит при сохранении:
- пробелы и перевод строки по краям ключа убираются;
- публичный ключ
pk_…отклоняется с подсказкой сразу, без запроса к DARA Fingerprint, как и строка не в форматеsk_…; - ДАРА отправляет в DARA Fingerprint один проверочный запрос со случайным
visitor_uuid:- ответ «такого посетителя нет» — ключ действует, подключение сохраняется;
- ответ «ключ неверен» — «Ключ неверен или отозван», прежнее подключение не меняется;
- любой другой ответ или сервис недоступен — «Не удалось проверить ключ», ничего не сохраняется;
- не больше 10 проверок ключа за 10 минут на проект.
Ключ хранится зашифрованным. После сохранения в кабинете виден только его префикс — первые 11 символов; ключ не попадает в журналы, аудит и ответы API и больше не показывается. В запросах к API ДАРА ключ не передаётся.
Замена ключа. Выпустите в DARA Fingerprint новый секретный ключ (у сайта их может быть несколько), сохраните его в ДАРА через «Проверить и сохранить», затем отключите старый ключ в DARA Fingerprint. Результаты проверок посетителей при замене ключа сохраняются.
Фоновая проверка
Каждый новый fingerprint_uuid проекта ДАРА проверяет в фоне: знает ли DARA Fingerprint такого посетителя вашего сайта.
- Когда: обычно в течение минуты после первого запроса с ним. Неизвестный вашему сайту посетитель проверяется ещё раз через час — визит мог не успеть дойти до DARA Fingerprint. Дальше каждый
fingerprint_uuid, который продолжает приходить, перепроверяется раз в 7 дней. - Ничто её не ждёт: события, заказы, профили и выдача принимаются сразу. Определение пользователя по
user_idиanonymous_idот проверки не зависит. - До проверки и если посетитель неизвестен вашему сайту,
fingerprint_uuidне связывает анонимные профили и никого не определяет — поэтому всегда передавайте иanonymous_id. - Нагрузка: не больше 10 запросов в секунду к DARA Fingerprint на проект.
Что ДАРА хранит из ответа
Из ответа DARA Fingerprint ДАРА берёт только:
- известен ли посетитель вашему сайту;
- спорный ли профиль посетителя;
- считает ли DARA Fingerprint устройство общим;
- число визитов, время первого и последнего визита.
Email, телефон, имя, сессии, IP-адреса, данные форм и остальные поля ответа ДАРА не сохраняет и не пишет в журналы. Результат проверки виден в кабинете: «Пользователи» → карточка → «Проверка DARA Fingerprint».
Спорные и общие устройства
- Спорный
fingerprint_uuidне используется для определения пользователя, но не мешает определению поanonymous_idиuser_id. Спорным он становится, если DARA Fingerprint отметил профиль посетителя как спорный или если за 7 дней в ДАРА одинfingerprint_uuidпришёл с тремя и более разнымиanonymous_id. - Общее устройство — DARA Fingerprint не может отличить на нём разных людей. Например, iPhone одной модели с одинаковыми настройками неотличимы, поэтому iPhone и iPad всегда считаются общими. На общем устройстве не работает узнавание без входа; анонимную историю проверенный
fingerprint_uuidпо-прежнему сохраняет.
Узнавание без входа
Настройка «Узнавать пользователей без входа» — на странице «DARA Fingerprint» проекта. По умолчанию выключена; включить её можно при подключении, ключ которого не отклонён.
- Вход на устройстве. Любой запрос с
user_idиfingerprint_uuid— склейка, событие, заказ, профиль — запоминает пару «устройство — пользователь» на 90 дней. Пары записываются при подключении независимо от настройки. - Узнавание срабатывает для запроса без
user_id, если выполнены все условия:- настройка включена, а ключ подключения не отклонён;
- за 90 дней на устройстве входил ровно один аккаунт;
fingerprint_uuidпроверен, известен вашему сайту и не спорный;- DARA Fingerprint не считает устройство общим;
- пользователь не отказался от персонализации.
- Что получает узнанный пользователь: выдачу по своему профилю с
identity: recognized; его события и заказы записываются в его историю. - Запись профиля без
user_idузнавание не использует: посторонний на устройстве не меняет данные аккаунта. - Узнавание прекращается сразу, если на устройстве вошёл второй аккаунт (выдача становится
identity: anonymous), настройку выключили, ключ отклонён или подключение отключено; а также когда устройство стало общим или спорным и через 90 дней после последнего входа. Следующие страницы ленты после этого не продолжают выдачу узнанного пользователя.
Сработает ли узнавание на конкретном устройстве, видно в кабинете: «Пользователи» → карточка → «Общее», вердикт у входов на устройствах — например, «узнавание сработает», «не сработает: на устройстве входили разные аккаунты», «не сработает: за 90 дней на устройстве не входил ни один действующий аккаунт». Поиск в «Пользователях» принимает и fingerprint_uuid.
Статусы подключения
| Статус | Что значит | Что делать |
|---|---|---|
| работает | ключ действует, проверки идут | — |
| ключ отклонён | DARA Fingerprint ответил, что ключ неверен или отозван, либо сохранённый ключ не удалось расшифровать. Проверки новых fingerprint_uuid остановлены, узнавание без входа не работает; уже проверенные fingerprint_uuid по-прежнему находят анонимных пользователей |
выпустить действующий секретный ключ и ввести его в «Заменить ключ» |
| не отвечает | DARA Fingerprint не отвечает дольше часа | ничего: проверки повторяются автоматически, уже проверенные fingerprint_uuid продолжают работать, приём данных и выдача не затронуты |
При статусах «ключ отклонён» и «не отвечает» на всех страницах проекта в кабинете показывается предупреждение.
Статистика на странице подключения пересчитывается раз в час: проверено fingerprint_uuid, доля неизвестных вашему сайту, доля спорных. Если неизвестных больше половины, скорее всего, ключ выпущен для другого сайта или в fingerprint_uuid уходит не значение dara_visitor этого сайта — страница подскажет это.
Отключение и повторное подключение
- «Отключить» удаляет ключ и выключает узнавание без входа.
fingerprint_uuidснова ни на что не влияет. Результаты проверок и входы на устройствах сохраняются. - Повторное подключение использует результаты проверок моложе 7 дней, остальные
fingerprint_uuidпроверяются заново.