Как мы создали лучшее банковское API

Сегодня хочу рассказать, как решая проблему продаж небанковских продуктов, мы создали лучшее решение API на рынке.

В закладки
Аудио

Ящик Пандоры

В далеком 2015 году в рамках эксперимента мы запустили первый небанковский сервис Бизнес Аналитика в интернет-банке Сбербанк Бизнес Онлайн. Это решение для управленческого учета в малом и среднем бизнесе. Мы решились на это вместе с партнером, так как создавать такой сервис с нуля было долго и очень дорого.

Мы взяли одного из лучших провайдеров сервиса управленческого учета - Seeneco, работающего по модели SAAS, адаптировали обертку (цветовую палитру сервиса, скрипты контактного центра) под гайдлайны банка и начали рекламировать внутри нашего интернет-банка для корпоративных клиентов (СББОЛ - Сбербанк Бизнес Онлайн).

И буквально сразу, в первые дни, мы обнаружили что теряем пользователей на этапе регистрации в сервис. И этому было очень просто объяснение: так как провайдер внешний, то и сам сервис находился вне периметра нашей системы и конечно сервис ничего не знал про клиента. Мы гнали трафик на отдельно стоящий сайт, на котором пользователь должен был найти кнопку “Зарегистрироваться”, пройти все шаги регистрации юридического лица (поверьте, это не так тривиально, как регистрация физ. лица) и только после этого он мог начать работу с сервисом.

Забегая вперед, хочу сказать, что мы вскрыли ящик Пандоры. В дальнейшем мы столкнулись с целой чередой проблем. Сервис не привлекал пользователей: они видели пустой экран, так как у внешнего сервиса не было никакой транзакционной информации по клиенту и самое печальное, freemium пользователи не становились платными. Но обо всем этом по порядку.

Мы поняли, что строить digital экосистему c stand alone продуктами просто нельзя. Это не удобно клиентам и не выгодно банку. Сервисами просто-напросто не пользуются. Единственный правильный путь – это бесшовный клиентский опыт.

Для обеспечения бесшовного опыта нам было нужно найти решение… И вроде оно у нас было – API. Но, к сожалению, классические банковское API не зашло b2b провайдерам - нашим партнерам. Оно создавалось банкирами для банкиров или для крупнейших корпораций. Традиционные банковские API тяжёлые, к ним сложно подключиться и ещё сложнее использовать, и вот почему:

  • SOAP архитектура, проприетарная авторизация, исторически сложившиеся форматы для передачи финансовой информации, асинхронный режим работы, обязательный hardware-VPN для организации защищенного канала и т.д.
  • PDF документация - никто не хотел “читать 7 томов”. Всем нужен удобный Wiki формат с перекрестными ссылками
  • Отсутствие удобной среды разработки и отладки. Партнеры хотели быстро получить результат (даже без написания кода!), просили готовые примеры реализации и “песочницу”, полностью эмулирующую промышленное окружение.

Поэтому мы решили создать специализированный API - fintech API, заточенный под потребности b2b SAAS провайдеров.

API для разработчиков

Мы не хотели изобретать велосипед, и обратились за лучшим опытом к FAGMA (Facebook, Amazon, Google, Microsoft, Apple).

Изучив подход и практики bigtech’a, мы решили создать API с нуля, без оглядки на предыдущие банковские решения. Новый связующий элемент digital экосистемы мы назвали - fintech API.

Мы провели серию интервью с разработчиками потенциальных потребителей нашего API. Выявили потребности, пожелания и совместили всё это с требованиями Банка и целями направления по развитию небанковских сервисов.

Что мы заложили в основу при проектировании API:

  • Никаких тяжелых форматов, которые учитывают малейшие нюансы. Будем проще! Разработанные нами форматы простые, легко понимаемые и не имеют ничего лишнего
  • API должен подходить широкому кругу потенциальных участников digital экосистемы, вплоть до заложенной возможности интеграции в digital экосистему продуктов IOT
  • Конечно же, мы решили избавиться от многотомных описаний, чтобы разработчики могли достичь быстрого результата. С помощью песочницы для тестовых испытаний можно получить первые положительные результаты уже за час. Мы сделали Easy Steps документацию, чтобы буквально за 15 минут оценить весь масштаб работ
  • Мы собрали тестовый полигон, заточенный под работу с внешними, небанковскими разработчиками. Подготовили базовые примеры реализации, чтобы минимизировать затраты внешних разработчиков на подоготовку к кодированию, уменьшить сроки разработки и количество потенциальных ошибок
  • Отказались от проприетарных решений, привязанных к определенной платформе. Все должно быть кроссплатформенным и не ограничивать партнера в используемой инфраструктуре. Никаких сложных требований к инфраструктуре и системному ПО
  • Внешним разработчикам не должно мешать то, чем они не занимаются — внутрибанковские сложные структуры данных, механизмы компонентов банковской платформы, особенности работы большого количества внутренних legacy-систем банка. Мы должны скрыть все это от внешних разработчиков – теперь это не их головная боль

Мы выбрали уже доказавшие свою полезность при построении Open API промышленные технические решения:

  • Аутентификация на базе протокола OAUTH 2.0

  • REST-архитектура поверх HTTP без дополнительных сложностей
  • Полностью синхронная работа
  • Формат JSON
  • Опциональное применение электронной подписи — там, где это необходимо
  • Тестовая песочница с развернутым SWAGGER. С помощью этой среды отладки разработчик партнера может смоделировать бизнес-процесс работы и получить результат без написания кода

Для обеспечения высокого уровня безопасности мы стали использовать ФПСУ (это такой “железный VPN”) между банком и партнером, а если партнер не использует платежные API мы разрешили работу через SSL.

Что наше API умеет сегодня?

Sberbank Business ID

Ключевой элемент нашего API - Sberbank Business ID. Это механизм, который позволяет клиенту бесшовно авторизоваться в партнерском сервисе, партнеру получить всю необходимую информацию о юридическом лице и ее представителе, а также после получения соответствующего согласия клиента, партнер может взаимодействовать с системами банка от имени клиента.

Транзакционные бизнес методы (host 2 host)

Наш API насчитывая 36 групп методов, которые закрывают все ключевые потребности b2b провайдеров и клиентов сегмента крупный средний бизнес. На самом деле на базе нашего API уже можно создать Neo-банк. Кажется, это для этого есть весь набор необходимых транзакционных продуктов.

Больше чем host 2 host методы

Но самое интересное, что в рамках интеграции fintech API с b2b провайдерами у нас из host 2 hostметодов родились новые платежные механизмы.

Corporate cheсkout

Один из ключевых шагов любой воронки продаж - это оплата :) и к сожалению, на российском корпоративном рынке этот процесс крайне несовершенен. Одно юридическое лицо должно выставить счет другому юр. лицу. Бухгалтер покупателя создает черновик платежного поручения, которое должен подписать генеральный директор, и все ждут, когда деньги дойдут до продавца. Если платеж был отправлен в пятницу вечером, то продавец увидит поступление только в понедельник. Этот рудиментарный процесс очень плохо влиял на воронку продаж. Часть клиентов мы просто теряли, часть клиентов задерживала оплату, мы пропускали месяц (ы) абонентской платы. И мы решили сделать процесс взаиморасчетов между юр. лицами, таким же удобным как привычный нам онлайн-шопинг. Теперь наши клиенты могут добавить на свой сайт кнопку “Оплатить через Сбербанк Бизнес Онлайн”, которая отправляет пользователя на предзаполненное платежное поручение. Клиенту надо лишь вести СМС код и продавец в эту же минуту (не надо ждать сутки) узнает о факте оплаты - все точно так же, как и в карточном эквайринге. Просто, быстро и удобно. Это позволило значительно увеличить конверсию в первую оплату, но полностью проблему не решило.

B2B Подписки

Мы хотели увеличить количество клиентов, которые стабильно ежемесячно оплачивают абонентскую плату, но к сожалению, в b2b мире не было для этого решений. И мы вновь решили не изобретать велосипед и повторили b2c опыт. Мы создали решение, которое позволяет нашим партнерам безакцептно списывать денежные средства по факту оказания услуг. Для этого мы добавили в SberBusiness ID на шаг согласия клиента (мы называем это офертой) создание документа ЗДА - заранее данный акцепт, который легализует безакцептные списания между провайдером сервиса и конечным клиентом. Таким образом наш партнер через fintech API отправляет платежные требования (специальный банковский документ) в адрес клиента и эти требования безакцептно списывают указанную сумму в пользу партнера. Это позволило нашим партнерам увеличить количество платных клиентов. Часть партнеров даже изменили свои модели монетизации - отказались от годовых тарифов в пользу ежемесячных микро-транзакций.

Гарантированные платежи

Еще один интересный метод, который мы недавно запустили - это гарантированная оплата, работает он следующим образом:

  • Партнер блокирует определенную сумму на счете клиента
  • Оказывает услугу клиенту или что-то продает (например, авиабилет)
  • Как только услуга оказана и сделка подтверждена мерчантом, нужная сумма списывается с клиента

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

По моему мнению, Fintech API Сбербанка является наиболее развитым на рынке банковским API. Количество продуктовых методов, возможности бординга, скорость работы технических компонент, количество интегрированных продуктов, услуг, сервисов, количество клиентов - эти показатели являются уникальными для нашей страны.

Что получили наши клиенты и партнеры?

Интересно, то что изначально, мы создавали fintech API только для наших партнеров по небанковский сервисам, но они рассказали про API другим b2b saas представителям, которые тоже захотели улучшить продуктовые характеристики своих продуктов и интегрировались с нашим API, а потом решили автоматизировать свою операционную деятельность и стали интегрировать API со своими ERP системами. Так, среди наших потребителей у нас появились первые клиенты сегмента крупный и средний бизнес.

Сегодня с fintech API интегрированы несколько десятков разнородных продуктов, услуг и сервисов, построенных по абсолютно разным принципам – облачные и аутсорсинговые бухгалтерии, системы финансовой аналитики, интернет-магазины, сервисы лояльности для клиентов, услуги юридических и таможенных брокеров, системы электронного документооборота, сервисы для путешественников и другие.

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

Участники экосистемы получили возможность значительно улучшить продуктовые характеристики своих сервисов за счет получения информации о клиенте. Ведь это же очень круто, когда пользователь заходит в ваш сервис и вместо пустого экрана видит предрасчитанный налог, базу контрагентов, с которыми ранее взаимодействовал в интернет-банке, или график движения денежных средств.

Что получил банк?

Банк смог значительно обогатить свой продуктовый портфель. Нашим клиентам доступно более 90 продуктов, среди них 55 традиционных банковских сервисов и 35 небанковских продуктов. И это не просто сервисы, в которые мы приводим пользователей, это сервисы, которые глубоко интегрированы в интернет банк, как в части обмена информацией, так и в части пользовательского опыта. Например, когда вы отправляет кому-то платеж, мы тут же анализируем получателя через партнерский сервис “Проверки контрагентов” и даем внутри интернет-банка подсказку о благонадежности получателя денежных средств.

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

Сегодня наше решение fintech API обеспечивает основные сценарии взаимодействия юридических лиц и финтехкомпаний с банком и обрабатывает свыше 2 млн запросов от более чем 50 тыс. уникальных клиентов в сутки. Благодаря ему в Сбербанк Бизнес Онлайн банковские и небанковские продукты и услуги объединены на одной платформе, реализована бесшовная авторизация в партнерских сервисах, мгновенный обмен платежными данными, интеграция учетных систем бизнеса с интернет-банком. Под эгидой одного решения налажены: механизм бесшовной авторизации SberBusiness ID, подписание согласия клиента на передачу данных, методы выставления и оплаты счетов, методы получения информации по счетам и операциям, методы работы с зарплатным проектом, реестры задолженностей и платежей, методы работы с международными платежами, корпоративные подписки на услуги.

А ещё его признали лучшим на национальной премии TAdviser и на международной премии Banking Technology. Так что у меня есть все основания полагать, что это лучшее решение на рынке на сегодняшний день.

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

Мои прошлые публикации можно почитать тут:

А тут можно посмотреть внутреннюю кухню разработки Сбербанк Бизнес Онлайн.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Sergey Parshikov", "author_type": "self", "tags": [], "comments": 31, "likes": 18, "favorites": 50, "is_advertisement": false, "subsite_label": "tribuna", "id": 99396, "is_wide": false, "is_ugc": true, "date": "Fri, 27 Dec 2019 14:16:13 +0300", "is_special": false }
0
{ "id": 99396, "author_id": 3480, "diff_limit": 1000, "urls": {"diff":"\/comments\/99396\/get","add":"\/comments\/99396\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/99396"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116, "last_count_and_date": null }
31 комментарий
Популярные
По порядку
Написать комментарий...
3

Интересно про то, "как у них". Будет обзор решений зарубежных банков? 

Ответить
0

Если это наберёт 100 лайков, то сделаю обзор 😬

Ответить
1

Выбранный стек и подход к проектированию понравились, правда пора отказываться от Oauth и переходить на JWT с ECC (надёжнее и проще в имплементации, нет промежуточных шагов).

Из статьи не понятно кто «мы».

Ответить
2

А какие проблемы с OAuth? У JWT есть свои проблемы, он хорош внутри периметра, ИМХО.

Ответить
0

1. Более простая модель. В OAuth нужно обменивать secret_token на access_token. Что создает хранимое состояние, необходимость отслеживать время жизни этого самого токена и дополнительный запрос. Подпись позволяет обходиться без промежуточных запросов и хранения состояния, что упрощает реализацию и как следствие количество потенциальных ошибок (при условии, что библиотеки для работы с криптографией прошли надлежащую проверку).

2. Повышенная устойчивость к атакам. Перехват сообщения OAuth позволяет в дальнейшем отправлять любые запросы, так как секрет отправляется в открытом виде. С JWT секрет не раскрывается. Остается возможной атака воспроизведением, но при правильной имплементации и она будет невозможна.
3. Упрощенное расследование инцидентов. JWT позволяет подтвердить, что запрос был сгенерирован только одной стороной и что владелец API на своей стороне не подменил историю операций.

Ответить
1

А с отзывом jwt что делать? Так заблокировал аккаунт и все, новый access token уже не получить. У жвт время жизни поболе будет.

Ответить
0

Да,  у JWT тоже есть цена владения, но она по-другому распределена. Минимально рабочая версия будет работать даже с данными хранящимися внутри программы. Например публичные ключи можно вшить в исходный код программы, а отзывать, изменяя код, который будет релизиться через CI/CD по пушу в репозиторий. Для массового сервиса нужен механизм отзыва ключей через предоставляемый провайдером. По сути схема та же только используются два ключа: один для доступа к самому API, второй – мастер-ключ – для управления и, соответственно, отзыва первого. 

Ответить
0

Мы - это команда разработки Сбербанк Бизнес онлайн, которая занимается созданием и развитием API :)

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

Ответить
3

То есть "вы" – это отдел/подразделение в Сбербанке? Для меня Трибуна – это раздел для новых небольших компаний. Поэтому контекст статьи такой: вы предприниматели или инициативная группа сделали некий Fintech API, как например в Сингапуре Bank API и применили его на Сбере, или название взяли чтобы мимикрировать под Сбер (как например партнеры 1С делали), ну или вас купил Сбер в итоге. В общем есть некая путаница с этим, возможно не для меня одного, наверное лучше раскрыть это более явно.

По поводу плюсов JWT описал выше, советую, все-таки, присмотреться: надежность он предоставляет более высокую, при невысокой стоимости. В банковской сфере, на мой взгляд, этот показатель критически важный. А если для bigtech не повышать требования, то что вообще будет мотивировать их модернизировать инфраструктуру.

Ответить
0

Мы это Дивизион "Цифровой Корпоративный Банк" в Сбербанке :) А эта колонка попала в раздел "Трибуна" потому, что сюда ее определили модераторы VC 

Ответить
1

От Коруса отдельный лайк за API 😏

Ответить
0

ЗДА - заранее данный акцепт

Полное название - Первичный идентификационный заранее данный акцепт.

Ответить
0

Где можно попробовать оплатить?

есть примеры конкретной имплементации? Уже полгода ищу, никак не найду...

Ответить
0

Примеры имплементации B2B подписок можно посмотреть, например, по следующим сервисам тут (потребуется авторизоваться в Сбербанк Бизнес Онлайн):

Моя Бухгалтерия Онлайн: https://www.sberbank-mbo1.ru

Бухгалтерия для ИП: https://www.sberbank-mbo1.ru/usn/ 

Сервис выставления счетов: https://invoice.sbbfm.ru 

Сервис «Бизнес Аналитика»: https://sbbfm.ru

Сервис «Моя торговля»: https://www.sb-mt.ru

Ответить
0

Хотелось бы увидеть в первую очередь «corporate checkout», подписки не то. 

Ответить
0

Попробуйте в Эвоторе.

Ответить
1

А можно ссылку поконкретней, у Эвотора очень путанный сайт. В принципе я видел как у МТС, но все равно интересно. 

Ответить
0

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

Ответить
0

Данный метод можно посмотреть в процессе покупки онлайн-кассы Эвотор внутри Сбербанк Бизнес Онлайн

Ответить
0

А можно ссылку? Поискал, но я не нашел оплату прямо Эвотору, только через партнеров. 

Ответить
0

Вам нужно зайти в Сбербанк Бизнес Онлайн (https://www.sberbank.ru/ru/s_m_business/new_sbbol) - все продукты и услуги - онлайн-касса ЭВОТОР. В конце заказа будет сформирован черновик платежа через corporate checkout. 

Ответить
0

Практически все сервис Партнеров, которые доступны клиентам Сбербанк Бизнес Онлайн интегрированы через API. Например, https://www.sberbank-mbo1.ru или https://sbbfm.ru

Вот на сайте МТС например, ЮЛ можно купить телефон https://shop.mts.ru/b2b/?utm_source=mtsmedia&utm_medium=pr&utm_campaign=b2b_oplaty&utm_content=quick_pay&b2b=true&_ga=2.41085602.1467342817.1577517084-923797918.1577517084 используя кнопку оплатить через СББОЛ (не нужно ждать выставления счета, создавать платежку и ждать перевода. Все моментально, достаточно лишь нажать на кнопку оплатить. Тоже самое есть на сайте ozon.travel

Ответить
0

К сожалению, в МТС оплата не работает (см.скрин). И так или почти так на всех сайтах заявленных к поддержке. А подписки это совсем другая опера. 

Ответить
0

Михаил, подскажите вы вводите реальный ИНН и после этого метод оплаты неактивен?

Ответить
0

ИНН там негде вводить. Вводишь номер телефона и email, потом отдельно - логи и пароль СББОЛ

Ответить
0

У меня работает. 

Что вы делали не так?)

Ответить
0

Сегодня и у меня заработало. Мистика

Ответить
0

А какая была ошибка? Может скриншот остался?

Ответить
0

Ошибки не было, просто неактивен метод оплаты через СББОЛ, скрин чуть выше прикладывал

Ответить
0

Спасибо за сигнал, разберёмся)

Ответить
0

Начало сумбурное. Типа "Мы сделали некую такую аналитическую штуку, которая не работала". И в целом видно, что вы от своего API оторвались и забыли русский язык. Freemium, digital - вот это вот всё. SaaS кстати вот так пишется.

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }