ДАРА
Разделы документации

ДокументацияРуководства

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

  1. SDK DARA Fingerprint стоит на страницах вашего сайта с публичным ключом pk_… и записывает visitor_uuid в cookie dara_visitor.
  2. Ваш сервер читает dara_visitor и передаёт его значение в fingerprint_uuid объекта user — в событиях, заказах, профиле, склейке и выдаче. Передавайте только значения в формате UUID.
  3. Передавайте 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 от имени вашего сайта, поэтому ей нужен секретный ключ сайта.

  1. В кабинете DARA Fingerprint, в разделе «Настройки → Ключи сайтов», выпустите для сайта отдельный секретный ключ sk_… для ДАРА — не тот, которым ваш сервер сам вызывает DARA Fingerprint: так ключи отзываются независимо.
  2. В кабинете ДАРА: проект → «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 проверяются заново.