Интеграция 1С и Яндекс.Маркет в расширении

Печать (Ctrl+P)

Интеграция 1С с Яндекс.Маркетом в расширении конфигурации

Один из крупнейших торговых площадок России – это проект «Яндекса» и Сбербанка. Площадка работает с марта 2018 г.. С лета 2020 года площадка Яндекс.Маркет полностью принадлежит Яндексу

Предлагаемое здесь расширение является доработкой шаблона модуля «Размещение на маркетплейсе Яндекс.Маркета»  для  «1С:Предприятия» . Модуль интеграции, который бесплатно предлагает Яндекс имеет много ошибок в программном коде процедур и функций работы с методами API и невозможно его внедрять без доработки.

На данный момент мое расширение имеет версию 1.8.7.21 и адаптировано для работы в облаке . Расширение содержит исходный модуль Яндекса версии 1.8.7 и около 21 исправлений программного кода этого модуля Расширение позволяет :

  • Устанавливать связи между вашим товарами и товарами на маркетплейсе.
  • Управлять ценами на товары при помощи стратегий продаж.
  • Подтверждать заказы, отправлять информацию о грузовых местах, передавать информацию об остатках, а также распечатывать ярлыки‑наклейки и акты приема‑передачи (только для модели FBS (Fulfillment by Seller, продажи с фулфилментом магазина) — вы сами храните и упаковываете заказы).

Тестирование работы расширения в облаке

Тестирование расширение  возможно только в облаке., например в 42Clouds- проект занимается оказанием услуг по аренде 1С. Для того, чтобы протестировать расширение Вы должны зарегистрироваться по ссылкам, указанным ниже в зависимости от интересующей конфигурации . После того, как пройдете регистрацию будет сразу активизирован сервис и доступ к тарифу в облаке, который Вы выберите.  У вас будет 7 дней бесплатного доступа.

Конфигурация «1С:Предприятия»Ссылка на тестирование
1С:Управление торговлей 11Здесь
1С:Комплексная автоматизация 2.4Здесь
1С:Управление нашей фирмой 1.6Здесь
Ссылки на тестирование расширения в облаке

Последняя цифра в версии расширения соответствует версии моих доработок. Для приобретения моего доработанного расширения обращайтеcь ко мне на почту master1c8x@mail.ru

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

Основные доработки модуля в расширении.

  1. Изменен механизм работы с регламентным заданием выгрузки цен на маркетплейс – Не требуется устанавливать дополнительную внешнюю обработку “Фоновая выгрузка цен на маркетплейс” для запуска по расписанию регламентное задание . Достаточно установить файл расширения и настроить расписание фонового задания Это возможно благодаря тому, что используется механизм собственных регламентных заданий в расширении , описанный мной здесь
  2. Удален функционал авто обновления расширения. Данный функционал не допустим для работы в облаке ,
  3. Добавлена роль “Раздел Интеграция с Яндекс.Маркетом” для доступа неполноправных пользователей к разделу ( в режиме совместимости 8.3.14 и выше)
  4. Исправлены ошибки в модуле и оптимизированы запросы. Исправлены ошибки в программном коде многих процедур и функций. Оптимизированы плохо написанные запросы , которые соблюдают требования 1С по оптимизации запросов
  5. Удалена форма проверки обновлений – В расширении удален функционал обновления расширения и соответственно форма проверки обновлений удалена из интерфейса. Механизм проверки обновлений не допустим при работе в облаке ,

Следует отметить, что Яндекс.Маркет предоставляет партнерам 4 модели работы с партнерами. Особенности работы по моделям продаж можно подробнее здесь

  1. Модель работы FBY (Fulfillment by Yandex, продажи с фулфилментом Яндекса) – Партнер самостоятельно поставляет товары на склады маркетплейса.
  2. Модель работы FBS (Fulfillment by Seller, продажи с фулфилментом магазина) – Партнер обрабатывает и упаковывает заказы, затем отгружает в сортировочный центр или пункт приема.
  3. Модель работы FBY+ (Fulfillment by Yandex +, поставка под заказ) – Партнер поставляет товары на склады маркетплейса после получения заказа от него. Упаковывает и доставляет товары маркетплейс.
  4. Модели DBS (Delivery by Seller) -Продажи с доставкой магазина)

HTTP сервисы расширения

Яндекс.Маркет (далее МК) использует HTTP сервисы магазина для отправки и получения информации о заказах. В модуле интеграции Яндекса имеются 2 идентичные сервисы по назначению. Мне не понятно почему, но я оставил оба сервиса в моем расширении потому, что я не знаю к какому сервису обращается МК (см рис )

Рис 1. Идентичные HTTP сервисы по назначению в расширении

Методы HTTP сервисы

Каждый сервис имеет 4 post – метода и один get метод. При обращении к методам всегда проверяется Авторизация. Если она пройдена возвращается код состояние 401

  • Функция StocksPOST(Запрос) – МК  передает список  SKU  товаров  магазину для получения  наличия товаров.  , иначе магазин передает на  МК  доступные остатки для продажи .   Для выполнения запроса МК должны быть настроен обмен и синхронизированы по SKU номенклатура магазина. Если синхронизация не настроена магазин возвращает нулевые остатки на все запрашиваемые товары. Отмечу, что  запрос получения остатков оптимизирован в моем расширении и работает на 50 % быстрее,  чем   в шаблоне расширения у Яндекса.
  • Функция CartPOST(Запрос) – Когда покупатель начинает оформление заказа, магазину поступает запрос  с целью актуализации данных по наличию товаров, которые находятся в корзинке пользователя, Ответ магазина должен содержать актуальные данные. магазин возвращает  наличие и цену  в модели FBS , а также параметры доставки в модели  DBS, Отмечу, что  запрос получения остатков и цен товаров в корзинке пользователя  в модели FBS  и  DBS   оптимизирован в моем расширении и работает на 50 % быстрее,  чем   в шаблоне расширения у Яндекса.  
  • Функция  OrderAcceptPOST(Запрос) – Когда покупатель завершает оформление заказа, на стороне Маркета формируется заказ со статусом "RESERVED" (зарезервирован), а магазину поступает запрос на принятие заказа. Магазин должен отправить ответ с подтверждением принятия заказа ("accepted": true) или с отказом от заказа ("accepted": false).   Магазин всегда принимает новый заказ. Однако если возникает ошибка создании заказа в базе данных возвращает отказ от заказа. Отмечу, что я не нашел ошибки в   программном коде процедуры создания заказа и формирования ответа по заказу и поэтому в моем расширении эти процедуры не тронуты. Однако, в этом обработке запроса могут возникать не запрограммированные ошибки, особенно, при сохранении заказов в базе данных
  • Функция OrderStatusPOST(Запрос) –  Маркет отправляет магазину данные о статусе заказа. Статус зависит от способа оплаты. Если Оплата при оформлении, то Маркет отправляет магазину запрос  со статусом заказа «UNPAID” (не оплачен). У покупателя есть 30 минут, чтобы оплатить заказ. После оплаты Маркет отправляет магазину запрос  со статусом заказа “PROCESSING” (обрабатывается) — магазин может обрабатывать заказ. Если заказ не оплачен в течение 30 минут, Маркет отправляет магазину запрос  со статусом заказа “CANCELLED” (отменен). Если Оплата при получении, то МК отправляет магазину запрос  со статусом заказа  “PROCESSING” (обрабатывается) — магазин может обрабатывать заказ.
  • Функция GetYML(Запрос) – В этом методе МК запрашивает у магазина  файл YML (Yandex Market Language) – стандарт, разработанный «Яндексом» для принятия и публикации информации в базе данных Яндекс.Маркет.  YML основан на стандарте XML (Extensible Markup Language).   Для получения YML  файла необходимо установить модель работы DBS в настройках интеграции . Если у магазина  указана модель работы FBS возвращается код состояния ответа  400 .

Порядок работы с расширением

1. Подключение расширения

Для подключения расширения нужно воспользоваться стандартной обработкой “Управление расширениями конфигурации” и добавить расширение из файла и отключить опции Безопасный режим, имя профиля и Защита от опасных действий для расширения.

Рис 2. Форма стандартной обработки управления расширениями

После подключения расширения нужно перезапустить сеанс , чтобы появился новый раздел МаркетплейсБеру_Яндекс (См. рис 3) в панели разделов конфигурации.

Рис 3. Интерфейс старой версии 1. 7. 41.8

Подробнее об установке и настройке модуля интеграции можно посмотреть в следующем видео ( Однако, установка внешней дополнительной обработки для настройки расписания передач цен не требуется в моем доработанном модуле) :

2. Подготовка сервиса и веб‑сервера

Чтобы начать обрабатывать заказы, необходимо подготовить сервис «1С:Предприятия» и веб‑сервер, на который маркетплейс будет отправлять запросы. Именно при помощи API‑запросов происходит взаимодействие по обработке заказов между маркетплейсом и «1С:Предприятием».

Подробное описание подготовки сервиса и веб сервиса можно посмотреть здесь

Подготовка сервиса и веб сервиса понадобится  партнерам, подключенным к маркетплейсу Яндекс.Маркета по модели FBS (Fulfillment by Selle) – вы сами храните и упаковываете заказы. Подробнее о моделях работы см. в Справке Маркета для моделей FBY, FBY+ и FBS.

Порядок действии по инструкции :

  • Опубликуйте сервис на веб‑сервере
  • Редактирование файла публикации в соответствии с инструкциями
  • Установка SSL-сертификат на Вашем веб -сервере
  • Установить ссылку на сервис в личном кабинете на Яндессе. Ссылка устаналивается на странице Настройки → Настройки API в личном кабинете для партнеров Маркета.

Форма публикации базы данных на веб – сервере открывается в конфигураторе в разделе Администрирование → Публикация на веб‑сервере. и показано на рис. 3

Рис 3 Форма публикации

3. Авторизоваться на маркетплейсе

Перед началом работы необходимо авторизоваться пункте “Авторизация”( См. рис 4) :

Рис 4 Форма авторизации на Яндекс.Маркет с модуля

В форме авторизации нужно указать

  •  Номер кампании, который присваивается при регистрации на маркетплейсе (Его можно посмотреть в личном кабинете маркетплейса.), на маркетплейсе
  •  Токен можно получить автоматически. Для этого нажмите кнопку Получить токен. Если вы авторизованы в личном кабинете, откроется окно браузера с вашим токеном. Если вы не авторизованы, выберите логин (при необходимости введите пароль), на который вы регистрировали магазин. Затем откроется окно с вашим токеном.

Важно!. Для работы с маркетплейсом используется 3 вида токена:

  1. oAuth токен, для авторизации обращений от магазина к Маркету – https://yandex.ru/dev/market/partner-marketplace-cd/doc/dg/concepts/authorization.html
  2. Есть токен для авторизации обращений от Маркета к магазину – https://yandex.ru/dev/market/partner-marketplace-cd/doc/dg/concepts/identification.html
  3. Есть отладочный токен (Debug ключ) – его можно получить через службу поддержки для того, чтобы мы могли получить более детальные логи обращения. Он передаётся дополнительным параметром при вызове обращений к Маркету. 

4. Установить расписания

Механизм запуска фонового задания по расписанию усовершенствован . Достаточно открыть пункт Настройка расписания и установить нужное расписание. Для оптимальной работы модуля рекомендуется, чтобы цены отправлялись каждый день раз в час ( См рис)

Рис 5 Фома установки расписания выгрузки цен

Есть возможность запустить задание сейчас в фоновом режиме. Если задание выполняется , то процедура “Выполнить сейчас” выдает не ожидает его совершение и сообщает об этом пользователю .

5. Источники данных о товарах

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

Выберите параметр из выпадающего списка, отметьте раздел в 1С, где хранится информация об этом параметре, и нажмите кнопку «Выбрать». В блоке справа для указанного раздела подставьте в поле нужное значение, нажав на элемент «…». Повторите тоже самое для каждого параметра и сохраните результат.

Рис 6 Форма Источники данных , откуда брать  информацию о товарах.

В источниках данных хранятся параметры:

  • изготовитель, страна производства, торговая марка — обязательно для всех товаров;
  • срок годности, срок службы, гарантийный срок —  обязательно для некоторых категорий товаров, например, продуктов питания или бытовой техники.
  • ваш SKU — необязательно. Если вы не укажете источник данных, SKU будут сгенерированы автоматически.

6. Сопоставление товаров с карточками на маркетплейсе Яндекс.Маркета

Все товары, которые вы хотите размещать на маркетплейсе, необходимо сопоставить с карточками на нем. Каждому вашему товару должен соответствовать товар на маркетплейсе со своим идентификатором (SKU на Яндексе).

Для сопоставления используется пункт Загрузка товаров и привязка к карточкам

Рис 7. Форма сопоставления данных товаров базы 1С с карточками в торговой площадке

Отмечу, что загрузить товары на Маркете и установить привязку к карточка возможно если личный кабинет прошел модерацию. В противном случае, при обращение к каталогу на Маркете сервер возвращает ответ с кодом состояния: 403 FORBIDDEN Ошибка: Access denied (Доступ запрещен)

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

7. Управление ценами товаров

На маркетплейсе Яндекс.Маркета цены устанавливают партнеры-поставщики. Если один товар поставляют несколько партнеров, на маркетплейсе сначала продается товар с более низкой ценой. Когда закончится товар по низкой цене, на сервисе начнет продаваться товар по более высокой цене.

С помощью пункта Назначение цен вы можете устанавливать и отправлять цены на маркетплейс ( см рис) 

Рис 8. Форма назначения цен

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

9.Работа с заказами

Раздел относится только к партнерам, подключенным к маркетплейсу Яндекс.Маркета по модели FBS. Как начать обрабатывать заказы можно подробнее посмотреть здесь

Раздел содержит 2 пункта : Настройка заказов и Обработка заказов

9.1 Настройка работы с заказами

В  форме настройки нужно установить опцию Работа с заказами и заполнить все поля (См. рис)

Рис 9. Форма настройки работы с заказами

Выберите способ авторизации, который вы указывали в личном кабинете для партнеров маркетплейса на странице Настройки → Настройки API.

Включите опцию Использовать лог запросов, если хотите, чтобы модуль фиксировал запросы от сервера маркетплейса.

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

9.2. Обработка заказов в модели FBS

Вам начнут поступать заказы с маркетплейса в «1C:Предприятие», если:

  1. ваш магазин подключен к маркетплейсу ( Параграф 1)
  2. вы подготовили сервис 1C и веб‑сервер ( Параграф 2),
  3. Вы настроили модуль для работы с заказами ( Параграф 9.1);
  4. вы сопоставили ваши товары с карточками ( Параграф 6)
  5. вы отправили цены ( Параграф 7)

Форма обработки заказов – это рабочее место (См рис 10).

Рис 10. Форма обработки заказов

Подробнее об этом рабочем месте можно посмотреть здесь

Версия 1.7.45.9

Обновленная подсистема версии расширения 1.7.45.9 появилась после выхода версии шаблона интеграции 1.7.42 на Яндексе. Последние модули шаблона Яндекса можно скачать бесплатно здесь . Этот шаблон плохо работает – имеет много ошибок в программном коде и многие запросы по прежнему не оптимизированы . Причина ошибок в программном коде возможно связана с тем, что они не тестируют работу модуля в расширении, а тестируют его, интегрированный в основной конфигурации.

В новой версии 1.7.45.9 добавлены 2 новые подсистемы ( разделы) :

  1. Работа с заказами в модели DBS ( продажи с доставкой магазина) – В  модели DBS  клиент размещает товары на  Маркете, принимает заказы , обрабатываете и доставляете их.  Деньги за предоплаченные заказы клиент получает на следующий день после их передачи в доставку. Чтобы начать размещение, достаточно зарегистрировать магазин, загрузить файл со списком товаров и настроить обработку заказов. Порядок взаимодействия через API при обработке заказов подробнее написано здесь
  2. Управление поставками для модели «Витрина + фулфилмент»
Рис 11 Интерфейс версии модуля 1.7.42.8

Для приобретения моего доработанного расширения обращайтеcь ко мне на почту master1c8x@mail.ru

Полный список дополнительных отчетов, обработок и расширений можно посмотреть здесь

Previous Article
Next Article

6 Replies to “Интеграция 1С и Яндекс.Маркет в расширении”

  1. bez.suchckov

    Доброго времени суток. Ожидаеться ли поддержка версии 1С: Управление торговлей, редакция 11 (11.3.4.112)?

    • master1c8

      Модуль интеграции в расширении требует поддержки совместимости 8.3.12 и выше. В данной версии УТ 11.3.4 возможно внедрять модуль только в основной конфигурации путем ее изменения с сохранением поддержки

  2. Евгений

    Здравствуйте, планируется ли подобный модуль для Сбермегамаркета? (Гудс)

    • master1c8

      Здравствуйте, Чтобы создать модуль интеграции нужно иметь доступ к API методам торговой площадки. 27 апреля 2021 года «Сбер» объявил о ребрендинге маркетплейса goods.ru. Площадка goods.ru получила новое название “СберМегаМаркет” , обновлен ее сайт и домен . На новом их домене, я не мог найти документацию для работы с их API методами . У них должен быть отдел разработок как у Яндекс.Маркета . Однако , я не мог найти ссылку на их отдел разработок , чтобы с ними связаться и задать этот вопрос у них

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.