Подключение CMS

Связь между CMS (системой управления контентом) организации и CityScreen Context — второй шаг запуска оператора, и всё, что идёт дальше, зависит от того, что подключение работает.

Страница для сотрудников с ролями владельца и администратора, которые заполняют настройки — сохранить их не может никакая другая роль, — и для инженеров со стороны CMS. Тип сервера организации, который определяет, какой из описанных ниже путей применяется, задаёт администратор платформы при создании организации.

Что передаёт подключение

Через него в двух направлениях проходят четыре потока данных.

Поток Направление

Каталог экранов и рекламных поверхностей

Платформа загружает

Одобренные креативы

Платформа отправляет

«Что сейчас играть на этой рекламной поверхности?»

Система запрашивает

Подтверждённые показы

Платформа загружает

Первое, второе и четвёртое — исходящие: CityScreen Context обращается к CMS. Третье — входящее: CMS обращается к CityScreen Context.

Из-за этого разделения и нужны два токена.

Два токена, направленных в противоположные стороны

Оба называются токеном, и настраиваются они на соседних экранах под одним и тем же словом. Разобраться, какой из них какой, до начала работы полезнее любой другой минуты, потраченной на это подключение.

cms-credentials
Токен синхронизации CMS

Его вводит оператор в разделе Настройки → Настройки синхронизации, где поле подписано «Токен». Он принадлежит CMS и выдаётся ею. CityScreen Context предъявляет его при каждом исходящем вызове.

Токен доступа

Его выдаёт CityScreen Context, по одному на организацию, и он показан в разделе Настройки → Интеграции с агентствами. Он принадлежит организации и передаётся CMS, которая предъявляет его при каждом входящем вызове. Этот токен описан в разделе Токены доступа: что он покрывает, кто может его перевыпустить и во что обходится перевыпуск.

Они хранятся в разных местах, выдаются разными сторонами и проверяются отдельно. Если подставить один токен вместо другого, на другом конце получится ошибка аутентификации.

Идентификатор оператора работает в обе стороны

Одно поле в настройках синхронизации используется в обоих направлениях: идентификатор оператора.

В исходящем направлении он ограничивает каждый вызов инвентарём этого оператора внутри CMS. Во входящем он определяет организацию в запросе, который отправляет CMS, а платформа сверяет его со значением, сохранённым в этих настройках. Запрос, токен которого проходит аутентификацию, а идентификатор не совпадает, отклоняется с ошибкой аутентификации.

Поэтому идентификатор оператора должен быть одной и той же строкой в трёх местах: в этих настройках, в том, как CMS называет этого оператора, и в запросе, который формирует CMS.

Подключение вручную

Обычный путь; пользуйтесь им, если инсталляция не предлагает handshake, описанный ниже.

Подключение CMS
  1. Войдите как владелец или администратор организации.

  2. Откройте Настройки → Настройки синхронизации (/settings/inventory-sync).

  3. Введите базовый URL программного интерфейса CMS.

  4. Введите токен, который CMS выдала для этого оператора. Это токен синхронизации CMS.

  5. Введите идентификатор оператора, под которым CMS знает этого оператора.

  6. Заполните дополнительные поля, которые показывает форма. Какие поля появятся, определяет интеграция, а не ваш выбор: форма запрашивает ровно то, что нужно этой интеграции.

  7. Сохраните.

  8. Откройте Настройки → Интеграции с агентствами (/settings/agencies), скопируйте токен доступа организации и передайте его вместе с идентификатором оператора и адресом самой платформы тому, кто администрирует CMS.

Если позже удалить эти настройки, организация перестанет синхронизироваться, но уже импортированное не удалится — см. Синхронизация.

Некоторые интеграции вообще не предоставляют интерфейс каталога и вместо этого принимают загрузку таблицы. Для них применима только входящая половина этой страницы; импорт описан в разделе Синхронизация.

Автоматический handshake

Если инсталляция это предлагает, CMS может сама представить нового оператора; тогда оба токена обмениваются одним вызовом, и ни один не вводится вручную.

  1. CMS обращается к CityScreen Context, предъявляет общий секрет инсталляции и называет организацию, собственный идентификатор этой организации и предполагаемого владельца.

  2. CityScreen Context возвращает краткоживущий ссылочный токен и адрес своей формы регистрации.

  3. Будущий владелец заполняет эту форму, и организация создаётся.

  4. CityScreen Context делает обратный вызов в CMS и отправляет токен доступа новой организации, идентификатор организации и собственный адрес платформы.

  5. CMS отвечает своим токеном и своим идентификатором оператора. Эти два значения сохраняются как настройки синхронизации, и подключение готово.

  6. Если этот ответ не приходит, организация не создаётся.

В разделе Настройка организации описана половина этого же потока, в которой создаётся организация.

Проверка, что всё работает

Проверьте оба направления по очереди.

Исходящее
  1. В разделе Настройки → Настройки синхронизации запустите синхронизацию вручную, чтобы не ждать ежечасной.

  2. Прочитайте лог на этой же странице. Завершённый запуск заканчивается числом созданных, обновлённых, неизменённых и отключённых рекламных поверхностей. В неудачном указана ошибка, которую вернула CMS.

  3. Откройте Инвентарь → Экраны (/inventory/screens). Рекламные поверхности на месте, с названиями, адресами и разрешениями, как они хранятся в CMS.

В разделе Синхронизация объясняются лог, постраничная загрузка и то, что делает частичный сбой.

Входящее
  1. Пусть CMS отправит один рекламный запрос для одной из этих рекламных поверхностей.

  2. Ошибка аутентификации означает, что неверен токен или идентификатор: сверьте токен со значением, показанным в разделе Настройки → Интеграции с агентствами (см. Токены доступа), а идентификатор, который отправила CMS, — с идентификатором оператора, сохранённым в настройках синхронизации.

  3. Любая другая ошибка означает, что запрос дошёл до платформы и был отклонён по коммерческой причине; на этом этапе это ожидаемо. Организация, чей прайс-лист не допускает ни одного активного источника спроса или у которой комиссия оказывается нулевой, отклоняет каждый запрос; в таблице в конце раздела Аукцион названы все причины и показано, какие из них дают ошибку, а какие — пустой ответ.

Шаги 3 и 4 раздела Начало работы превращают этот отказ в ответ.

Где это подключение заканчивается

  • Источники спроса приходят к вам другим путём. Они регистрируются и включаются отдельно — см. Подключение источника спроса.

  • Каталог принадлежит CMS, и запуск синхронизации перезаписывает почти всё на рекламной поверхности. Исключения перечислены в разделе Что можно редактировать.

  • Ответ на рекламный запрос называет объявление, которое у CMS уже есть, потому что одобренные креативы были доставлены ей раньше.