ym88659208ym87991671
Подключение браузерного агента | Документация для разработчиков

Подключение браузерного агента

Обновлено 19 ноября 2025

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

Требования к партнеру

Для успешного подключения браузерного агента сайт партнера должен соответствовать описанным требованиям.

Обшие требования

На сайте партнера не должено быть:

  • обязательного выбора дополнительных услуг к товару (в том числе с возможностью отказа);
  • сломанной верстки, неработающих ссылок и прочих проблем.

Требования по авторизации

Сайт партнера должен поддерживать хотя бы один из способов авторизации:

  • Сбер ID;
  • покупка неавторизованным пользователем без создания аккаунта;
  • аккаунт линкинг на базе OAuth 2.0.

Требование по каталогу

Для автоматизации работы с каталогом товаров браузерный агент предоставляет две опции:

Если сайт партнера реализован с помощью REST API, потребуется предоставление агенту доступа к эндпоинту для получения всего каталога товаров в формате JSON.

Начало работы

Для интеграции с браузерным агентом партнеру понадобится добавить на страницы товаров и оформления заказа дополнительную разметку, чтобы повысить точность агента и независимость от меняющейся верстки сайта. Это затрагивает основную информацию о товаре, а также важные для агента поля. Точное количество и названия атрибутов зависят от конкретного партнера и вида товаров.

Разметка информации о товаре

В HTML код каждой страницы товара необходимо добавить информацию о товаре в мета теги, расположенные между <head> </head>. Разметка должна соответствовать формату Schema.org и быть представлена microdata.

<div itemscope itemtype="https://schema.org/Product">
<span itemprop="name">Книжный магазинчик у озера</span>

<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<span itemprop="price" content="1000.00"/>
<link itemprop="availability" href="https://schema.org/InStock" />In stock

<div itemprop="additionalProperty" itemscope itemtype="https://schema.org/PropertyValue">
<meta itemprop="name" content="propertyName">
<meta itemprop="value" content="propertyValue">
</div>
</div>
</div>

Информация о продукте должна быть представлена в формате https://schema.org/Product, а поля name и price являются обязательными параметрами в разметке.

Кроме этого:

  • В поле name должно содержать полное наименование товара.
  • Стоимость должна быть >0 и представлена целочисленным числом либо в десятичном виде с разделителем-точкой и двумя знаками после разделителя (пример: 1000.00).
  • Варианты значений доступности заказа: https://schema.org/ItemAvailability. Лучше ограничиться значениями https://schema.org/InStock и https://schema.org/OutOfStock.
Промт для добавления параметов в страницу

Специально подготовленный для LLM промт, который автоматически добавляет нужные параметры в код страницы.

LLM могут ошибаться. Обязательно проверяйте результат на корректность.

Роль: Ты — фронтенд-разработчик, разбирающийся в Schema.org.

Задача: Сгенерируй только HTML-код с микроразметкой Microdata для страницы товара интернет-магазина. Не выводи всю страницу, только готовый фрагмент с микроразметкой.

Требования к микроразметке:

Формат: Microdata (атрибуты itemscope, itemtype, itemprop)

Структура:
Основной контейнер: Product (https://schema.org/Product)
Вложенный контейнер для цены: Offer (https://schema.org/Offer)


Разрешенные свойства (только эти):
name - название товара
offers - вложенный объект Offer с:
price - цена товара
priceCurrency - валюта
isFamilyFriendly - только значения True или False


Важные ограничения:
НЕ добавлять никаких других свойств кроме указанных выше.
Все значения должны быть представлены как переменные
Для isFamilyFriendly использовать только True или False

Пример ожидаемого вывода (только микроразметка):

<div itemscope itemtype="https://schema.org/Product">
<meta itemprop="name" content="{dynamic_product_name}">
<meta itemprop="isFamilyFriendly" content="{True_or_False}">
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<meta itemprop="price" content="{dynamic_price}">
<meta itemprop="priceCurrency" content="{dynamic_currency}">
</div>
</div>


Инструкция:
Проанализируй предоставленный код страницы оформления заказа и сгенерируй только готовый фрагмент микроразметки Microdata с указанными свойствами.

Код для анализа:

Разметка информации о заказе

В HTML код страницы чекаута (сразу перед финальным формированием заказа и перехода к оплате) необходимо добавить информацию о финальном оффере.

<div itemscope itemtype="https://schema.org/Invoice">
<div itemprop="totalPaymentDue" itemscope itemtype="https://schema.org/PriceSpecification">
<span itemprop="price">200.00</span>
<span itemprop="priceCurrency">RUB</span>
</div>
</div>

Оффер должен быть представлен в формате https://schema.org/Invoice и содержать информацию о финальной стоимости и валюте. Кроме этого:

  • Информация о стоимости должна быть представлена в формате https://schema.org/PriceSpecification.
  • Стоимость должна быть >0 и представлена целочисленным числом либо в десятичном виде с разделителем-точкой и двумя знаками после разделителя.
  • Валюта должна соответствовать стандарту ISO_4217.
Промт для добавления параметов в страницу

Специально подготовленный для LLM промт, который автоматически добавляет нужные параметры в код страницы.

LLM могут ошибаться. Обязательно проверяйте результат на корректность.

Роль: Ты — фронтенд-разработчик, разбирающийся в Schema.org.

Задача: Сгенерируй только HTML-код с микроразметкой Microdata для страницы оформления заказа интернет-магазина. Не выводи всю страницу, только готовый фрагмент с микроразметкой.

Требования к микроразметке:

Формат: Microdata (атрибуты itemscope, itemtype, itemprop)

Структура:
Основной контейнер: Invoice (https://schema.org/Invoice)
Вложенный контейнер для суммы: PriceSpecification (https://schema.org/PriceSpecification)

Разрешенные свойства (только эти):
totalPaymentDue - вложенный объект PriceSpecification с:
price - общая сумма заказа
priceCurrency - валюта

Важные ограничения:
НЕ добавлять никаких других свойств кроме указанных выше.
Все значения должны быть представлены как переменные

Пример ожидаемого вывода (только микроразметка):

<div itemscope itemtype="https://schema.org/Invoice">
<div itemprop="totalPaymentDue" itemscope itemtype="https://schema.org/PriceSpecification">
<meta itemprop="price" content="{dynamic_total_price}">
<meta itemprop="priceCurrency" content="{dynamic_currency}">
</div>
</div>

Инструкция:
Проанализируй предоставленный код страницы оформления заказа и сгенерируй только готовый фрагмент микроразметки Microdata с указанными свойствами.

Код для анализа:

Атрибуты для агента

Для надежной работы агента, независимой от изменений в нейминге и верстке сайта, потребуется добавить атрибуты data-agent-payment, значения и порядок которых необходимо согласовать заранее. Агент будет обращать внимание на наличие этих атрибутов и обрабатывать их соответственно.

Примеры возможных значений атрибутов:

  • button_buy;
  • button_addToCart;
  • form_email;
  • form_firstName.

Пример добавления атрибута в код:

<div class="_9e2062ab" data-testid="book-sale-block__price--button">
<button data-agent-payment="button_buy" type="button" class="ad20ffd5 e46d17bc _86ab0c42 _1f70b464 _2337ec76">
<div class="_87b72f2c">
<div class="_70e57f8e" data-testid="button__content">
<div class="d4e741ee" data-component="text-container">Купить и скачать</div>
</div>
</div>
</button>
</div>

Отключение всплывающих окон

Если на сайте есть всплывающие окна (информация об акциях и других событиях), это необходимо учесть в процессе интеграции:

  • Оптимальный вариант – отключение всплывающих окон для агента. Отличить агента от пользователей можно по заголовкам запроса или на сетевом уровне.

  • Альтернативный вариант – если отключение всплывающих окон невозможно, то их стоит разметить и включить в сценарий.

Обработка защиты от автоматических действий

Для стабильной и быстрой работы агента желательно отключить для него проверку на автоматические действия.

Для этого добавьте в белый список:

  • клиентский сертификат агента.
  • список IP-адресов.

Дополнительную информацию можно запросить в процессе подключения.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.