Подтверждение клиента
Что превращает новый клиент в активный: руководство по подключению, проверка, которую наш сервер делает к вашему сайту, и что делать, если статус остаётся «Ожидает подтверждения».
Запись клиента и настоящий сайт – это две разные вещи. Создание клиента даёт вам ключ и секрет; подтверждение – это то, что привязывает эту запись к сайту, на котором данные введены. Пока оно не произошло, клиент не участвует в обмене: ваш контент никому не предлагается, а блоки на ваших страницах остаются пустыми.
В кабинете его ничто не запускает, и нажимать здесь ничего не нужно. Подтверждение начинается на стороне сайта – в тот момент, когда данные там сохранены.
Руководство по подключению
На странице клиента есть кнопка Руководство по подключению, и само руководство открывается сразу после создания нового клиента. Оно по очереди указывает на каждое поле и объясняет, что с ним делать, а ключ и секрет несёт с собой – оба можно скопировать прямо из него, и это важно, потому что открытое руководство закрывает карточку под собой.
Закрытие ничего не теряет. Нажмите кнопку ещё раз, когда понадобятся те же шаги.
Четыре шага
- Установите интеграцию на своём сайте. Первый шаг перечисляет доступные: официальный плагин для WordPress, модуль для Drupal, который ещё в разработке, и ваш собственный код поверх REST API для любой другой платформы.
- Скопируйте API ключ. Это открытая половина пары, которая идентифицирует ваш сайт. В плагине для WordPress она вводится в поле API key на вкладке Traffman → Settings → API.
- Скопируйте API секрет. Секрет – это половина, которая доказывает, что сайт ваш, поэтому на странице клиента он скрыт: копирование не раскрывает его. Вставьте его рядом с ключом, в поле API secret.
- Нажмите Save в плагине. Это всё: проверка начинается отсюда.
Что делает наш сервер
Сохранение отправляет нам ключ вместе с адресом обратного запроса на вашем сайте, подписанные секретом. Эта подпись доказывает, что обращающийся знает секрет, – но ещё не доказывает, что обращается именно сайт. Поэтому наш сервер возвращается к нему сам: вызывает тот адрес и передаёт одноразовый токен, который сайт должен подписать тем же секретом и вернуть. Клиент подтверждается только тогда, когда ответ совпадает.
Обратный запрос выполняется в очереди, а не во время сохранения, поэтому на него уходит несколько минут – плагин так и пишет в своём сообщении.
После успеха сразу меняются три вещи:
- поле Хост на странице клиента заполняется адресом подключённого сайта – он берётся именно из адреса обратного запроса, поэтому до сих пор оставался пустым;
- клиент активируется, и его статус становится Активный – если ваша подписка допускает ещё один активный клиент (см. ниже);
- вам приходит письмо с подтверждением.
Статусы
Ожидает подтверждения – это клиент, за которым ещё нет сайта; состояние, с которого начинается каждый клиент. Активный – подтверждённый клиент, участвующий в обмене.
Подтверждённый клиент может быть и деактивирован, а статус объясняет почему:
- Деактивирован: лимит подписки – клиент не вмещается в лимит активных клиентов вашей подписки: создать клиентов можно больше, чем позволяет лимит, но одновременно активными может быть только столько. Клиент, подтверждённый, когда лимит уже исчерпан, не активируется; после перехода на более низкую подписку деактивируются самые новые клиенты сверх лимита – об этом приходит письмо. Такой клиент снова активируется автоматически после улучшения подписки; или деактивируйте другой клиент на странице редактирования и активируйте этот.
- Деактивирован – вы деактивировали клиент сами, на странице его редактирования. Он остаётся деактивированным при любых изменениях подписки, пока вы не активируете его снова.
Деактивированный клиент сохраняет свой хост, но в обмене не участвует.
Один сайт – один клиент
Уникальным клиент делает хост, а хост берётся с сайта, который его подтвердил. Отсюда два следствия:
- Те же данные нельзя использовать на втором сайте. Как только клиент подтверждён, сохранение его ключа и секрета где-либо ещё получает в ответ «Mismatch between client host and callback URL host.»
- Сайт, у которого уже есть подтверждённый клиент, не может подтвердить поверх него ещё один: «The client host is already in use.»
Поэтому каждый сайт, который вы вводите в сеть, нуждается в собственном клиенте, а каждый клиент остаётся со своим сайтом навсегда. Если сайт переезжает на другой домен, напишите нам, а не нажимайте Save ещё раз.
Когда ничего не приходит
Неудачная проверка проходит тихо: письма нет, а статус просто остаётся Ожидает подтверждения. Сама она тоже не повторяется – наш сервер обратился один раз и не получил пригодного ответа. Запустить её заново – это та же кнопка Save на вкладке API, с тем же ключом и секретом.
Прежде чем нажимать ещё раз, стоит выяснить, что именно не сложилось. Вкладка Healthcheck в плагине просит наш сервер обратиться к сайту прямо сейчас и показывает причину неудачи; обе её кнопки описаны в теме установка плагина.
Самая частая причина – что наш сервер вообще не добрался до вашего сайта: защита от ботов на хостинге, фаервол или CDN ответили ему капчей вместо страницы. Тема когда защита хостинга блокирует наш сервер перечисляет названия, под которыми прячется эта опция, и показывает, как пропустить наш адрес.
Несколько нажатий Save подряд упираются в ограничение частоты: «You can request client confirmation again in N seconds.» Это не значит, что что-то сломалось, – переждите эти секунды и нажмите один раз.
Мы напоминаем
Неподтверждённый клиент не забывается. Напоминание приходит через неделю после создания, затем – через месяц, три месяца, полгода и год, пока клиент не будет подтверждён или удалён; одно письмо охватывает сразу все неподтверждённые клиенты аккаунта.
Когда клиент активен, остаётся работа на стороне сайта: выберите контент, который он предлагает сети, и разместите блок там, где должен появляться заимствованный контент.