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

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

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 проверяются заново.