Подключение CMS
Связь между CMS (системой управления контентом) организации и CityScreen Context — второй шаг запуска оператора, и всё, что идёт дальше, зависит от того, что подключение работает.
Страница для сотрудников с ролями владельца и администратора, которые заполняют настройки — сохранить их не может никакая другая роль, — и для инженеров со стороны CMS. Тип сервера организации, который определяет, какой из описанных ниже путей применяется, задаёт администратор платформы при создании организации.
Что передаёт подключение
Через него в двух направлениях проходят четыре потока данных.
| Поток | Направление |
|---|---|
Каталог экранов и рекламных поверхностей |
Платформа загружает |
Одобренные креативы |
Платформа отправляет |
«Что сейчас играть на этой рекламной поверхности?» |
Система запрашивает |
Подтверждённые показы |
Платформа загружает |
Первое, второе и четвёртое — исходящие: CityScreen Context обращается к CMS. Третье — входящее: CMS обращается к CityScreen Context.
Из-за этого разделения и нужны два токена.
Два токена, направленных в противоположные стороны
Оба называются токеном, и настраиваются они на соседних экранах под одним и тем же словом. Разобраться, какой из них какой, до начала работы полезнее любой другой минуты, потраченной на это подключение.
- Токен синхронизации CMS
-
Его вводит оператор в разделе Настройки → Настройки синхронизации, где поле подписано «Токен». Он принадлежит CMS и выдаётся ею. CityScreen Context предъявляет его при каждом исходящем вызове.
- Токен доступа
-
Его выдаёт CityScreen Context, по одному на организацию, и он показан в разделе Настройки → Интеграции с агентствами. Он принадлежит организации и передаётся CMS, которая предъявляет его при каждом входящем вызове. Этот токен описан в разделе Токены доступа: что он покрывает, кто может его перевыпустить и во что обходится перевыпуск.
Они хранятся в разных местах, выдаются разными сторонами и проверяются отдельно. Если подставить один токен вместо другого, на другом конце получится ошибка аутентификации.
Идентификатор оператора работает в обе стороны
Одно поле в настройках синхронизации используется в обоих направлениях: идентификатор оператора.
В исходящем направлении он ограничивает каждый вызов инвентарём этого оператора внутри CMS. Во входящем он определяет организацию в запросе, который отправляет CMS, а платформа сверяет его со значением, сохранённым в этих настройках. Запрос, токен которого проходит аутентификацию, а идентификатор не совпадает, отклоняется с ошибкой аутентификации.
Поэтому идентификатор оператора должен быть одной и той же строкой в трёх местах: в этих настройках, в том, как CMS называет этого оператора, и в запросе, который формирует CMS.
Подключение вручную
Обычный путь; пользуйтесь им, если инсталляция не предлагает handshake, описанный ниже.
-
Войдите как владелец или администратор организации.
-
Откройте Настройки → Настройки синхронизации (
/settings/inventory-sync). -
Введите базовый URL программного интерфейса CMS.
-
Введите токен, который CMS выдала для этого оператора. Это токен синхронизации CMS.
-
Введите идентификатор оператора, под которым CMS знает этого оператора.
-
Заполните дополнительные поля, которые показывает форма. Какие поля появятся, определяет интеграция, а не ваш выбор: форма запрашивает ровно то, что нужно этой интеграции.
-
Сохраните.
-
Откройте Настройки → Интеграции с агентствами (
/settings/agencies), скопируйте токен доступа организации и передайте его вместе с идентификатором оператора и адресом самой платформы тому, кто администрирует CMS.
Если позже удалить эти настройки, организация перестанет синхронизироваться, но уже импортированное не удалится — см. Синхронизация.
| Некоторые интеграции вообще не предоставляют интерфейс каталога и вместо этого принимают загрузку таблицы. Для них применима только входящая половина этой страницы; импорт описан в разделе Синхронизация. |
Автоматический handshake
Если инсталляция это предлагает, CMS может сама представить нового оператора; тогда оба токена обмениваются одним вызовом, и ни один не вводится вручную.
-
CMS обращается к CityScreen Context, предъявляет общий секрет инсталляции и называет организацию, собственный идентификатор этой организации и предполагаемого владельца.
-
CityScreen Context возвращает краткоживущий ссылочный токен и адрес своей формы регистрации.
-
Будущий владелец заполняет эту форму, и организация создаётся.
-
CityScreen Context делает обратный вызов в CMS и отправляет токен доступа новой организации, идентификатор организации и собственный адрес платформы.
-
CMS отвечает своим токеном и своим идентификатором оператора. Эти два значения сохраняются как настройки синхронизации, и подключение готово.
-
Если этот ответ не приходит, организация не создаётся.
В разделе Настройка организации описана половина этого же потока, в которой создаётся организация.
Проверка, что всё работает
Проверьте оба направления по очереди.
-
В разделе Настройки → Настройки синхронизации запустите синхронизацию вручную, чтобы не ждать ежечасной.
-
Прочитайте лог на этой же странице. Завершённый запуск заканчивается числом созданных, обновлённых, неизменённых и отключённых рекламных поверхностей. В неудачном указана ошибка, которую вернула CMS.
-
Откройте Инвентарь → Экраны (
/inventory/screens). Рекламные поверхности на месте, с названиями, адресами и разрешениями, как они хранятся в CMS.
В разделе Синхронизация объясняются лог, постраничная загрузка и то, что делает частичный сбой.
-
Пусть CMS отправит один рекламный запрос для одной из этих рекламных поверхностей.
-
Ошибка аутентификации означает, что неверен токен или идентификатор: сверьте токен со значением, показанным в разделе Настройки → Интеграции с агентствами (см. Токены доступа), а идентификатор, который отправила CMS, — с идентификатором оператора, сохранённым в настройках синхронизации.
-
Любая другая ошибка означает, что запрос дошёл до платформы и был отклонён по коммерческой причине; на этом этапе это ожидаемо. Организация, чей прайс-лист не допускает ни одного активного источника спроса или у которой комиссия оказывается нулевой, отклоняет каждый запрос; в таблице в конце раздела Аукцион названы все причины и показано, какие из них дают ошибку, а какие — пустой ответ.
Шаги 3 и 4 раздела Начало работы превращают этот отказ в ответ.
Где это подключение заканчивается
-
Источники спроса приходят к вам другим путём. Они регистрируются и включаются отдельно — см. Подключение источника спроса.
-
Каталог принадлежит CMS, и запуск синхронизации перезаписывает почти всё на рекламной поверхности. Исключения перечислены в разделе Что можно редактировать.
-
Ответ на рекламный запрос называет объявление, которое у CMS уже есть, потому что одобренные креативы были доставлены ей раньше.