Выберите раздел в навигации слева, чтобы просмотреть конкретный раздел документа.
Предназначение документа и целевая аудитория#
Термины и определения | ||
|---|---|---|
Сокращение | Расшифровка | Значение |
ОРД | Оператор рекламных данных | В данном документе, если явно не указано иначе, ОРД от SberAds |
ЕРИР | Единый Реестр Интернет Рекламы | Информационная система, разработанная ГКРЧ и эксплуатируемая РКН, предназначенная для регистрации информации о рекламе |
Объект | Объект рекламной информации | Совокупность данных, описывающих сущность из предметной области ОРД. Примеры типов объектов: Организация (контрагент), Договор, Креатив, Акт |
РС | Рекламное сообщение |
|
Erid | Единый идентификатор рекламного объявления (aka токен или маркер) |
|
ППО | Прикладное программное обеспечение |
|
РМ | Рекламные материалы |
|
SMN | Simple Message Notification | Сервис Sbercloud Advanced, предназначенный для распространения сообщений |
Основные операции, производимые ОРД#
- Регистрация объектов
- Модификация ранее зарегистрированных объектов
- Получение (выгрузка) зарегистрированных объектов
- Регистрация новых и модификация данных по существующим объектам в ЕРИР
- Загрузка медиафайлов креативов в хранилище ОРД
- Назначение и выдача маркера (токена)
- Получение статуса объектов
- Возобновление незавершенного процесса регистрации или обновления объекта
- Предварительную валидацию объекта и его запись (регистрацию) в хранилище ОРД;
- Только для креативов: загрузку медиафайлов в хранилище ОРД;
- Регистрацию объекта в ЕРИР.
Модификация объектов
- Предварительную валидацию объекта и его модификацию в хранилище ОРД
- Только для креативов и только при необходимости: загрузку медиафайлов в хранилище ОРД
- Модификацию объекта в ЕРИР
Получение (выгрузка) зарегистрированных объектов
Загрузка медиафайлов креативов в хранилище ОРД
- Клиент
- ОРД
- Клиент
- Публичный доступ во внутреннее хранилище ОРД закрыт.
- При обновлении данных допускается указывать внутреннюю ссылку, которая была ранее создана для данного креатива. Не допускается указывать ссылки, созданные в других креативах.
Назначение и выдача маркера (токена)
- Для успешно зарегистрированного объекта (в статусе APPROVED) маркер всегда присутствует в статусной информации;
- В ряде случаев для ускорения процесса маркер может появится ранее, например, с началом регистрации в ЕРИР, а не по ее окончании.
Получение статуса объектов
- В заголовках HTTP в ответах на запросы любых типов к объектам ОРД
- В теле ответа на запросы:
POST, PUT и GET /{entityType}/{entityId}/statusВозобновление незавершенного процесса регистрации или обновления объекта
POST /{entityType}/{entityId}/syncСтатусная модель#
Основной статус
Тип статуса | Значение статуса |
|---|---|
PENDING | Объект зарегистрирован в ОРД, но пока не зарегистрирован в ЕРИР (в процессе регистрации) |
APPROVED | Объект зарегистрирован в ОРД и в ЕРИР |
DECLINED | Объект зарегистрирован в ОРД, но отклонен ЕРИР |
ACCEPTED | Объект принят в ОРД. отправлен на проверку в ЕРИР |
DELETING | Объект находится в процессе удаления |
Тип статуса | Значение статуса |
|---|---|
PENDING | Медиаданные ожидают загрузки или в процессе загрузки |
LOADED | Медиаданные загружены в хранилище ОРД |
ERROR | Не удалось загрузить медиаданные в хранилище |
Сценарии регистрации и модификации объектов#
Сценарий | Значение |
|---|---|
Синхронная обработка | Клиент осуществляет REST запрос на регистрацию (POST) или модификацию (PUT) данныхПолный цикл регистрации происходит синхронно в рамках одного вызова API, включаязагрузку медиафайлов (при необходимости)регистрацию объекта в ЕРИРУправление возвращается в клиентское приложение с HTTP статусом 201 CREATED (POST) или 200 OK (PUT) |
Асинхронная обработка | Клиент осуществляет REST запрос на регистрацию (POST) или модификацию (PUT) данныхВ рамках синхронного вызова происходит один или несколько шагов регистрации, последний из которых завершается с ошибкойУправление возвращается в клиентское приложение с HTTP статусом 202 ACCEPTEDОРД периодически (по таймеру) возобновляет незавершенный процесс регистрации, начиная с точки остановаПроцесс регистрации завершаетсяКлиент получает статус и сопутствующие атрибуты, например маркер (Erid), при помощи запроса Status |
Выбор сценария
- Синхронная обработка обычно используется по умолчанию.
- В случае нештатных ситуаций синхронный процесс завершается и переключается в асинхронный. К таким ситуациям относятся:
Диаграмма сценариев (для случая регистрации нового объекта)

- В случае успеха или перманентной ошибки объект переходит в статус APPROVED или DECLINED соответственно и обработка данного объекта в системе завершается (в общем случае до модификации объекта).
- В прочих случаях объект остается в статусе PENDING и производится определенное число повторных попыток
- При исчерпании количества повторных попыток объект переходит в статус DECLINED
- До завершения успешной загрузки медиаданных отправка данных в ЕРИР производиться не будет и сущность будет иметь статус PENDING.
- Загрузка медиаданных происходит в соответствии со статусной моделью media-state (см. выше).
Алгоритм тайминга | Exponential backoff |
|---|---|
Задержка первой повторной попытки | 1ч |
Количество попыток | 5 |
Обязательная к реализации функциональность#
- Передача данных в ОРД
- Периодический опрос статуса по каждому объекту, регистрация которого не завершена (GET /{entityType}/{entityId}/status)
- Получение и анализ уведомлений об изменении статуса через сервис Simple Message Notification (SMN)
- Периодическое возобновление процесса по каждому объекту, регистрация которого не завершена
- Получение маркера креатива (если регистрируются креативы)
- Анализ нештатных и ошибочных ситуаций и совершение по ним определенных действий
Что не следует делать#
- ОРД оставляет за собой право отключить синхронный сценарий (см. Сценарии регистрации и модификации объектов) для креативов, также как и для других объектов, в зависимости от нагрузки на систему и договоренностей с ЕРИР;
- Отказ от объекта при отсутствии токена в синхронном ответе и повторная регистрация напрямую ведет к дублированию данных, что является плохой практикой и в общем случае не поддерживается. Это может быть предметом вопросов со стороны оператора ЕРИР, а также может приводить к завышенной сумме в счете за услугу;
Типовая схема работы клиентского приложения при передаче данных в ОРД#
Регистрация нового объекта
- Вызвать метод POST /{entityType}
- Проанализировать response code
- Вызвать метод GET /{entityType}/{entityId}/status
- Проанализировать значение state в ответе
Модификация ранее созданного объекта
- Вызвать метод PUT /{entityType}/{entityId}
- Проанализировать response code
- Вызвать метод GET /{entityType}/{entityId}/status
- Проанализировать значение state в ответе
Нештатные и ошибочные ситуации при работе с ОРД#
Ситуация | Признаки | Что делать |
|---|---|---|
Отклонение запроса на стороне ОРД | ОРД возвращает ответ с кодом 400 | Скорректировать запрос в соответствии с требованиями API ОРД |
Ошибка при загрузке файлов медиа | status: DECLINEDmediaStatus: ERRORmediaError: | Исправить ошибку на стороне сервера отдачи медиафайлов, либо исправить креатив (при помощи PUT), указав корректный URL |
Ошибка при регистрации в ЕРИР | status: DECLINEDerirError: | Если возможно, исправить креатив (при помощи PUT), исходя из сообщения об ошибке; в противном случае связаться с ТП ОРД |
Рекомендации по языкам программирования и библиотекам#
- Осуществление вызовов HTTP REST GET, POST, PUT, опционально HEAD
- Прием и передача JSON
- Анализ HTTP статус кода ответа
- Возможность разбора ответа в формате JSON при любом статус-коде
- Возможность анализа заголовков в ответе HTTP
ЯП | Библиотека | SDK для SCA |
|---|---|---|
Python | requests | https://github.com/huaweicloud/huaweicloud-sdk-python-v3 |
Go | net.http | https://github.com/huaweicloud/huaweicloud-sdk-go-v3 |
Аутентификация и авторизация в API#
API Authorisation header
Authorization: Bearer ABCDE.ZYXWV
Получение уведомлений через сервис Simple Message Notification#
- У Клиента должен быть подключен сервис SMN
- На стороне Клиента должен быть выделен SMN topic для сообщений от ОРД
- К этому SMN topic должен быть дан доступ на публикацию сообщений технологической учетной записи ОРД
Имя и тип файла#
- Имя файла формируется из данных HTTP заголовка Content-Disposition, либо из суффикса URL
- Тип файла формируется из HTTP заголовка Content-Type, либо из суффикса имени файла
Поддерживаемые форматы файлов#
MIME type | Image type |
|---|---|
image/apng | Animated Portable Network Graphics (APNG) |
image/avif | AV1 Image File Format (AVIF) |
image/gif | Graphics Interchange Format (GIF) |
image/jpeg | Joint Photographic Expert Group image (JPEG) |
image/png | Portable Network Graphics (PNG) |
image/svg+xml | Scalable Vector Graphics (SVG) |
image/webp | Web Picture format (WEBP) |
MIME type | Audio or video type |
|---|---|
audio/waveaudio/wavaudio/x-wav audio/x-pn-wav | An audio file in the WAVE container format. The PCM audio codec (WAVE codec "1") is often supported, but other codecs have limited support (if any). |
audio/webm | An audio file in the WebM container format. Vorbis and Opus are the codecs officially supported by the WebM specification. |
video/webm | A video file, possibly with audio, in the WebM container format. VP8 and VP9 are the most common video codecs; Vorbis and Opus the most common audio codecs. |
audio/ogg | An audio file in the Ogg container format. Vorbis is the most common audio codec used in such a container; however, Opus is now supported by Ogg as well. |
video/ogg | A video file, possibly with audio, in the Ogg container format. Theora is the usual video codec used within it; Vorbis is the usual audio codec, although Opus is becoming more common. |
application/ogg | An audio or video file using the Ogg container format. Theora is the usual video codec used within it; Vorbis is the usual audio codec. |
Составные HTML креативы
Видео креативы (VAST и VPAID)
- Ссылка mediaUrl должна указывать на объект в формате VAST или VAST Wrapper
- При загрузке VAST итеративно загружаются компоненты креатива, которые описывает VAST (непосредственно сами ролики или VPAID компоненты), поэтому все они также должны быть доступны для ОРД на время регистрации креативаВведите текст




