Загрузка данных с сайтов поставщиков — различия между версиями

Материал из Mr.Doc
Перейти к: навигация, поиск
(Новая страница: «= <span style="color:red">Важно!</span> = Перед синхронизацией данных с Prestashop настоятельно рекомендует…»)
 
(→‎Настройка модуля)
 
(не показаны 32 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
= <span style="color:red">Важно!</span> =
 
= <span style="color:red">Важно!</span> =
  
−
Перед синхронизацией данных с Prestashop настоятельно рекомендуется:
+
Перед загрузкой данных с сайтов поставщиков настоятельно рекомендуется внимательно прочитать данное руководство.
−
* внимательно прочитать данное руководство;
 
−
* сделать архивную копию данных сайта;
 
−
* (желательно) проверить синхронизацию на отдельной копии вашего сайта.
 
  
 
Компания "КлаудТим" не несет ответственности за любые проблемы, прямо или косвенно связанные с синхронизацией.
 
Компания "КлаудТим" не несет ответственности за любые проблемы, прямо или косвенно связанные с синхронизацией.
−
Со своей стороны мы стараемся сделать все возможное для обеспечения правильной и надежной синхронизации, однако Prestashop имеет много подверсий и модулей с различным количеством проблем и ошибок. Поэтому протестировать все их сочетания не представляется возможным.
+
 
 +
Со своей стороны мы стараемся сделать все возможное для обеспечения правильной и надежной синхронизации.
  
 
= Возможности =
 
= Возможности =
  
−
Между MrDoc и сайтом синхронизируются товары, категории, покупатели и их заказы.
+
Модуль позволяет загружать цены и наличие товаров у поставщиков напрямую с их сайтов по расписанию.
−
Также поддерживается выгрузка на сайт цен и складских остатков товаров.
 
−
 
 
−
Существует возможность ограничить список синхронизируемых объектов (например, синхронизировать только справочник товаров).
 
−
 
 
−
Поддерживаемые версии PrestaShop: 1.5, 1.6.
 
−
 
 
−
== Синхронизация справочников ==
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="2"|Соответствие объектов
 
−
|-
 
−
!style="width:50%;"|Объект на сайте
 
−
!style="width:50%;"|Объект в MrDoc
 
−
|-
 
−
|Товар
 
−
|Элемент справочника "Номенклатура"
 
−
|-
 
−
|Комбинация товара
 
−
|Элемент справочника "Модификации номенклатуры"
 
−
|-
 
−
|Категория товаров
 
−
|Группа справочника "Номенклатура"
 
−
|-
 
−
|Производитель
 
−
|Элемент справочника "Производители"
 
−
|-
 
−
|Поставщик
 
−
|Элемент справочника "Контрагенты"
 
−
|-
 
−
|Покупатель
 
−
|Элемент справочника "Контрагенты"
 
−
|}
 
−
 
 
−
=== Синхронизация товаров и категорий ===
 
−
 
 
−
Порядок первоначальной синхронизации товаров при настройке обмена с сайтом:
 
−
 
 
−
* Сначала с сайта загружаются все товары, их комбинации, а также все категории. При загрузке товаров и категорий система сразу пытается связать их с уже существующими товарами и категориями по наименованию, тем самым исключая дублирование товаров/категорий, вручную занесенных в MrDoc. При загрузке комбинаций система не пытается связывать их с уже существующими в MrDoc модификациями, за исключением комбинации по умолчанию - она всегда связывается с базовой модификацией товара.
 
−
* Затем на сайт выгружаются все товары и категории, отсутствующие на сайте (за исключением помеченных на удаление). При этом модификации для таких товаров на сайт не выгружаются.
 
−
 
 
−
Порядок последующей синхронизации товаров:
 
−
 
 
−
* Последующая синхронизация выполняется с периодичностью, указанной в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Система регистрирует изменения справочника "Номенклатура", тем самым формируя список товаров/категорий, которые необходимо выгрузить на сайт при очередной синхронизации.
 
−
* Также регистрация изменений товаров/комбинаций/категорий происходит на стороне сайта (с помощью подключаемого модуля, см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* При выполнении очередной синхронизации сначала загружаются все изменения с сайта в MrDoc, затем выгружаются изменения из MrDoc на сайт. При этом возможна ситуация, когда товар был одновременно изменен и на сайте и в MrDoc. В этом случае изменения на сайте будут иметь приоритет, так как загрузка данных с сайта происходит перед выгрузкой данных на сайт.
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов товара
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Наименование
 
−
|Наименование
 
−
|Максимальная длина 100 символов.
 
−
|-
 
−
|Тип
 
−
|Вид номенклатуры
 
−
|Виртуальные товары загружаются в виде услуг, остальные типы - в виде товаров.
 
−
|-
 
−
|Артикул
 
−
|Артикул базовой модификации
 
−
|Максимальная длина 100 символов.
 
−
|-
 
−
|Штрихкод
 
−
|Штрихкод EAN13 для базовой модификации товара
 
−
|
 
−
|-
 
−
|Производитель
 
−
|Производитель
 
−
|
 
−
|-
 
−
|Категория по умолчанию
 
−
|Родительская группа
 
−
|
 
−
|-
 
−
|Налоговые правила
 
−
|Ставка НДС
 
−
|Соответствие ставок НДС налоговым правилам осуществляется при первоначальной настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
|-
 
−
|Комбинация по умолчанию
 
−
|Базовая модификация
 
−
|Выгрузка новых модификаций на сайт не поддерживается. Новый товар всегда выгружается без модификаций.
 
−
|-
 
−
|Артикулы поставщиков
 
−
|Артикулы поставщиков
 
−
|
 
−
|}
 
−
 
 
−
Для всех новых товаров с сайта автоматически устанавливаются цены сайта (цены фиксируются для типа цен, указанного в настройке обмена). Для новых товаров, выгружаемых на сайт цена устанавлиается в соотвествии с типом цен, указанным в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
 
 
−
Новые товары всегда выгружаются на сайт со статусом "Запрещен" и видимостью "Нигде".
 
−
При дальнейшей синхронизации статус товара не изменяется, то есть статус в Prestashop не зависит от статуса товара в MrDoc.
 
−
 
 
−
Для новых товаров, загруженных с сайта, автоматически устанавливается комментарий "Товар загружен с сайта Prestashop".
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов группы (категории)
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Наименование
 
−
|Наименование
 
−
|Максимальная длина 100 символов.
 
−
|-
 
−
|Родительская категория
 
−
|Родительская группа
 
−
|
 
−
|-
 
−
|Отображено
 
−
|Статус
 
−
|Отображение на сайте включается только для групп со статусом "Активен".
 
−
|}
 
−
 
 
−
Для новых групп (категорий), загруженных с сайта, автоматически устанавливается комментарий "Категория загружена с сайта Prestashop".
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов модификации (комбинации)
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Наименование
 
−
|Значения свойств комбинации
 
−
|Наименование модификации формируется из значений её свойств при загрузке с сайта.
 
−
|-
 
−
|Артикул
 
−
|Артикул
 
−
|
 
−
|}
 
−
 
 
−
Выгрузка новых модификаций на сайт не поддерживается.
 
−
 
 
−
Для новых модификаций (комбинаций), загруженных с сайта, автоматически устанавливается комментарий "Модификация товара загружена с сайта Prestashop".
 
−
 
 
−
=== Синхронизация производителей ===
 
−
 
 
−
Порядок первоначальной синхронизации производителей при настройке обмена с сайтом:
 
−
 
 
−
* Сначала с сайта загружаются все производители. При загрузке производителей система сразу пытается связать их с уже существующими производителями по наименованию, тем самым исключая дублирование производителей, вручную занесенных в MrDoc.
 
−
* Затем на сайт выгружаются все производители, отсутствующие на сайте (за исключением помеченных на удаление).
 
−
 
 
−
Порядок последующей синхронизации производителей:
 
−
 
 
−
* Последующая синхронизация выполняется с периодичностью, указанной в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Система регистрирует изменения справочника "Производители", тем самым формируя список производителей, которые необходимо выгрузить на сайт при очередной синхронизации.
 
−
* Также регистрация изменений производителей происходит на стороне сайта (с помощью подключаемого модуля, см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* При выполнении очередной синхронизации сначала загружаются все изменения с сайта в MrDoc, затем выгружаются изменения из MrDoc на сайт. При этом возможна ситуация, когда производитель был одновременно изменен и на сайте и в MrDoc. В этом случае изменения на сайте будут иметь приоритет, так как загрузка данных с сайта происходит перед выгрузкой данных на сайт.
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов производителя
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Наименование
 
−
|Наименование
 
−
|Максимальная длина 100 символов.
 
−
|-
 
−
|Включено
 
−
|Статус
 
−
|На сайте включаются только производители со статусом "Активен".
 
−
|}
 
−
 
 
−
Для новых производителей, загруженных с сайта, автоматически устанавливается комментарий "Производитель загружен с сайта Prestashop".
 
−
 
 
−
=== Синхронизация поставщиков ===
 
−
 
 
−
Порядок первоначальной синхронизации поставщиков при настройке обмена с сайтом:
 
−
 
 
−
* С сайта загружаются все поставщики. При загрузке поставщиков система сразу пытается связать их с уже существующими поставщиками по наименованию, тем самым исключая дублирование поставщиков, вручную занесенных в MrDoc.
 
−
* Поставщики, отсутствующие на сайте, автоматически на сайт не выгружаются.
 
−
 
 
−
Порядок последующей синхронизации поставщиков:
 
−
 
 
−
* Последующая синхронизация выполняется с периодичностью, указанной в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Регистрация изменений поставщиков происходит на стороне сайта (с помощью подключаемого модуля, см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Новые поставщики на сайт выгружаются только при выгрузке артикулов поставщиков для товаров.
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов поставщика
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Наименование
 
−
|Наименование
 
−
|Максимальная длина 100 символов.
 
−
|-
 
−
|Телефон
 
−
|Телефон
 
−
|Длина телефона должна быть ровно 11 символов.
 
−
|-
 
−
|Страна, город, почтовый индекс, адрес
 
−
|Фактический адрес
 
−
|
 
−
|-
 
−
|Включено
 
−
|Статус
 
−
|На сайте включаются только производители со статусом "Активен".
 
−
|}
 
−
 
 
−
Для новых поставщиков, загруженных с сайта, автоматически устанавливается комментарий "Поставщик загружен с сайта Prestashop".
 
−
 
 
−
=== Синхронизация покупателей ===
 
−
 
 
−
Порядок первоначальной синхронизации покупателей при настройке обмена с сайтом:
 
−
 
 
−
* С сайта загружаются все покупатели. При загрузке покупателей система не пытается связать их с уже существующими покупателями, то есть каждый покупатель с сайта загружается в виде нового контрагента.
 
−
* Покупатели, отсутствующие на сайте, автоматически на сайт не выгружаются.
 
−
 
 
−
Порядок последующей синхронизации покупателей:
 
−
 
 
−
* Последующая синхронизация выполняется с периодичностью, указанной в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Регистрация изменений покупателей происходит на стороне сайта (с помощью подключаемого модуля, см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Новые покупатели на сайт выгружаются только при выгрузке заказов покупателей. Для выгрузки нового покупателя на сайт у него должны быть заполнены следующие реквизиты: имя, фамилия, email.
 
−
* Обратите внимание, что при стандартных настройках PrestaShop новому <strong>покупателю будет отправлено письмо</strong> с регистрационными данными.
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов покупателя
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Имя
 
−
|Имя
 
−
|Максимальная длина 100 символов. Обязательно к заполнению.
 
−
|-
 
−
|Фамилия
 
−
|Фамилия
 
−
|Максимальная длина 100 символов. Обязательно к заполнению.
 
−
|-
 
−
|Email
 
−
|Email
 
−
|Максимальная длина 100 символов. Обязательно к заполнению.
 
−
|-
 
−
|Телефон
 
−
|Телефон
 
−
|Длина телефона должна быть ровно 11 символов.
 
−
|-
 
−
|Адрес доставки
 
−
|Фактический адрес
 
−
|
 
−
|-
 
−
|Статус
 
−
|Статус
 
−
|На сайте разрешен вход только для покупателей со статусом "Активен".
 
−
|}
 
−
 
 
−
Для новых покупателей, загруженных с сайта, автоматически устанавливается следующие реквизиты:
 
−
* наименование (фамилия + имя);
 
−
* тип "Физическое лицо";
 
−
* комментарий "Покупатель загружен с сайта Prestashop".
 
−
 
 
−
== Синхронизация заказов покупателей ==
 
−
 
 
−
Порядок первоначальной синхронизации заказов покупателей при настройке обмена с сайтом:
 
−
 
 
−
* С сайта загружаются все заказы покупателей с датой больше даты начала обмена. При загрузке новых заказов система не пытается связать их с уже существующими в MrDoc заказами.
 
−
* Заказы покупателей, отсутствующие на сайте и с датой больше даты начала обмена, автоматически выгружаются на сайт. Вместе с заказами будут выгружаться и отсутствующие на сайте покупатели.
 
−
 
 
−
Порядок последующей синхронизации заказов покупателей:
 
−
 
 
−
* Последующая синхронизация выполняется с периодичностью, указанной в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Регистрация изменений заказов покупателей происходит на стороне сайта (с помощью подключаемого модуля, см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
* Новые заказы покупателей будут выгружаться на сайт только в том случае, если их дата больше даты начала обмена.
 
−
 
 
−
{| class="wikitable"
 
−
!colspan="3"|Соответствие реквизитов заказа
 
−
|-
 
−
!style="width:20%;"|Реквизит на сайте
 
−
!style="width:20%;"|Реквизит в MrDoc
 
−
!Особенности
 
−
|-
 
−
|Номер заказа
 
−
|Внешний номер
 
−
|Внешний номер заказа отображается на вкладке "Дополнительно" в форме заказа.
 
−
|-
 
−
|Дата
 
−
|Дата
 
−
|
 
−
|-
 
−
|Клиент
 
−
|Покупатель
 
−
|
 
−
|-
 
−
|Статус
 
−
|Дополнительный статус
 
−
|Дополнительный статус в MrDoc вычисляется по соответствию, заданному в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
|-
 
−
|Валюта
 
−
|Валюта
 
−
|
 
−
|-
 
−
|Итого
 
−
|Сумма
 
−
|
 
−
|-
 
−
|Доставка
 
−
|Услуга в табличной части "Услуги"
 
−
|Услуга в MrDoc вычисляется по соответствию, заданному в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]").
 
−
|-
 
−
|Товары
 
−
|Товары в табличной части "Товары"
 
−
|
 
−
|}
 
−
 
 
−
Для новых заказов, загруженных с сайта, автоматически устанавливаются реквизиты:
 
−
* организация, указанная в настройке обмена;
 
−
* тип цен, указанный в настройке обмена;
 
−
* комментарий вида "Заказ загружен из интернет-магазина PrestaShop (заказ PXIHJXKOZ)".
 
−
 
 
−
При загрузке заказа покупателя с сайта система пытается зарезервировать товары, указанные в заказе. Для этого автоматически оформляется или перезаполняется документ "Резервирование товаров". Если зарезервировать товар не удалось, то это не считается ошибкой, так как на сайте может быть выключен контроль складских остатков.
 
−
 
 
−
При выгрузке заказа покупателя на сайт в качестве услуги доставки используется первая услуга, для которой указано соответствие в настройке обмена (см. раздел "[[Синхронизация с интернет-магазином Prestashop#Настройка обмена|Настройка обмена]]"). При этом стоимость данной услуги будет являться стоимостью доставки, а адрес оказания данной услуги - адресом доставки.
 
−
 
 
−
== Обновление цен на сайте ==
 
−
 
 
−
Цена товара на сайте обновляется в следующих случаях:
 
−
 
 
−
* При первоначальной настройке обмена (выгружаются цены по всем синхронизированным товарам);
 
−
* При изменении цены товара для типа цен, указанного в настройке обмена;
 
−
* При выгрузке нового товара на сайт.
 
−
 
 
−
Цены на сайт выгружаются в валюте, указанной в настройке обмена.
 
−
 
 
−
Обратите внимание, что на сайт выгружаются только последние цены товаров. Поэтому при ручной установке цен необходимо следить, чтобы дата установки цен всегда была больше даты последнего обмена с сайтом.
 
−
 
 
−
== Обновление складских остатков на сайте ==
 
−
 
 
−
Складские остатки выгружаются на сайт в следующих случаях:
 
−
 
 
−
* При первоначальной настройке обмена (выгружаются складские остатки по всем синхронизированным товарам);
 
−
* При изменении остатка товара.
 
−
 
 
−
Вместе со складскими остатками выгружаются данные о наличии товаров у поставщиков.
 
−
Эти данные используются для вычисления доступности товара для заказа.
 
−
 
 
−
Изменение складского остатка товара влияет на реквизиты товара "Доступен для заказа" и "Показать цену".
 
−
Эти флажки устанавливаются, если товар есть на складе или есть в наличии у одного из поставщиков. В противном случае эти флажки снимаются.
 
−
 
 
−
== Обновление курсов валют на сайте ==
 
−
 
 
−
Курсы валют выгружаются на сайт в следующих случаях:
 
−
 
 
−
* При первоначальной настройке обмена (выгружаются курсы валют по всем синхронизированным валютам);
 
−
* При изменении курса валюты.
 
−
 
 
−
= Настройка обмена =
 
−
 
 
−
Сначала необходимо включить опцию "Интеграция с Prestashop" в разделе "Настройки" личного кабинета на сайте [http://mrdoc.org MrDoc.org].
 
−
 
 
−
[[Файл:Mrdoc_prestashop_enable.png|border|Включение модуля в личном кабинете]]
 
−
 
 
−
Затем необходимо установить модуль для обмена на сайте.
 
−
Для этого необходимо открыть журнал настроек обмена "Сервис - Настройки обмена с Prestashop" и скачать модуль, соответствующий версии Prestashop, с помощью кнопок на верхней панели.
 
−
 
 
−
[[Файл:01_prestashop_mrdoc_get_module.png|border|1000px|Модуль для установки на сайте]]
 
−
 
 
−
Полученный архив необходимо указать в интерфейсе добавления нового модуля в панели администрирования сайта.
 
−
 
 
−
[[Файл:02_prestashop_module_install_1.png|border|1000px|Установка модуля на сайте (шаг 1)]]
 
−
 
 
−
[[Файл:03_prestashop_module_install_2.png|border|1000px|Установка модуля на сайте (шаг 2)]]
 
−
 
 
−
[[Файл:04_prestashop_module_install_3.png|border|1000px|Установка модуля на сайте (шаг 3)]]
 
  
−
[[Файл:05_prestashop_module_install_4.png|border|1000px|Установка модуля на сайте (шаг 4)]]
+
Для этого поставщик должен предоставить ссылку на JSON или XML-файл, в котором отражены его остатки и/или его цены. Ссылка может быть как на сайт (начинается с "http://"), так и на ftp-сервер (начинается с "ftp://").
  
−
После установки модуля необходимо открыть его настройки и создать настройку обмена.
+
После предварительной настройки наша система будет по расписанию скачивать этот файл по ссылке и загружать из него наличие и цены товаров.
  
−
[[Файл:06_prestashop_module_install_5.png|border|1000px|Настройка модуля на сайте (шаг 1)]]
+
Поиск товаров для обновления цен и наличия будет осуществляться по следующему алгоритму:
 +
# Сначала ищется товар с таким артикулом поставщика;
 +
# Если товар не нашелся, то далее товар ищется по артикулу производителя;
 +
# Если товар не нашелся, то по шаблону наименования формируется наименование и ищется товар с этим наименованием;
  
−
Параметры настройки:
+
При этом есть возможность ограничить поиск товара определенной родительской группой товаров.
  
−
* '''Наименование''' - наименование настройки, носит чисто информационный характер;
+
Если товар был найден не по артикулу поставщика, то артикул поставщика из файла будет привязан к товару автоматически.
−
* '''Ключ авторизации''' - ключ, который необходимо указать в MrDoc для подключения к сайту (генерируется автоматически, его не нужно менять);
 
−
* '''Пункт выдачи''' - пункт выдачи, адрес которого будет в качестве адреса доставки для заказов без доставки, выгружаемых из MrDoc;
 
−
* '''Способ доставки''' - способ доставки, который будет подставляться в заказы без доставки, выгружаемые из MrDoc;
 
−
* '''Вид оплаты''' - вид оплаты, который будет подставляться в заказы, выгружаемые из MrDoc;
 
  
−
[[Файл:07_prestashop_module_install_6.png|border|1000px|Настройка модуля на сайте (шаг 2)]]
+
'''Внимание!''' Модуль предназначен только для обновления цен и наличия для товаров, уже существующих в системе. Если в файле есть товары, которых нет в системе, то они не будут автоматически создаваться.
  
−
После установки и настройки модуля на сайте необходимо настроить обмен в MrDoc.
+
= Включение модуля =
−
Для этого в создаем новую настройку обмена в журнале "Сервис - Настройки обмена с Prestashop".
 
  
−
Параметры настройки:
+
Для включения модуля необходимо зайти в ваш [https://mrdoc.org/pcabinet личный кабинет на сайте mrdoc.org] и включить модуль "Интеграция с поставщиками".
  
−
* '''Наименование''' - наименование настройки, носит чисто информационный характер;
+
[[Файл:Module supplierRestPriceImport turn on module.png|border|925px|Включение модуля в личном кабинете]]
−
* '''Статус''' - можно временно выключить обмен данными с сайтом, установив статус "Помечен на удаление";
 
−
* '''Дата начала обмена''' - заказы покупателей старше этой даты не будут синхронизироваться с сайтом;
 
−
* '''Организация для заказов с сайта''' - организация, которая будет подставляться в заказы, выгружаемые с сайта;
 
−
* '''Тип цен сайта''' - тип цен, который будет подставляться в заказы, выгружаемые с сайта, а также используемый при выгрузке цен товаров;
 
−
* '''Валюта сайта''' - валюта, которая будет подставляться в заказы, выгружаемые с сайта, а также используемая при выгрузке цен товаров;
 
−
* '''Адрес сайта''' - адрес сайта интернет-магазина;
 
−
* '''Ключ авторизации''' - ключ авторизации, указанный в модуле обмена на стороне сайта;
 
−
* '''Периодичность обмена''' - насколько часто будет запускаться задача синхронизации с сайтом;
 
−
* '''Настройки синхронизации''' - здесь можно указать, какие объекты нужно синхронизировать с сайтом;
 
  
−
[[Файл:08_prestashop_mrdoc_setup_1.png|border|1000px|Создание настройки обмена в MrDoc (шаг 1)]]
+
= Настройка модуля =
  
−
После указания необходимых параметров необходимо нажать кнопку "Далее" для перехода к настройке соответствий ставок НДС, способов доставки и статусов заказов.
+
После включения модуля в вашей программе появляется новый пункт меню "Настройки загрузки данных поставщиков".
−
На каждой вкладке присутствует кнопка "Обновить ставки (способы доставки, статусы) c сайта", позволяющая заново запросить у сайта список вариантов.
 
  
−
[[Файл:09_prestashop_mrdoc_setup_2.png|border|1000px|Создание настройки обмена в MrDoc (шаг 2)]]
+
Этот пункт ведет в журнал, где для каждого поставщика необходимо создать отдельную запись.
  
−
[[Файл:10_prestashop_mrdoc_setup_3.png|border|1000px|Создание настройки обмена в MrDoc (шаг 3)]]
+
[[Файл:Module supplierRestPriceImport menu.png|border|748px|Пункт главного меню для настройки загрузки данных поставщиков]]
  
−
[[Файл:11_prestashop_mrdoc_setup_4.png|border|1000px|Создание настройки обмена в MrDoc (шаг 4)]]
+
[[Файл:Module supplierRestPriceImport update.png|border|940px|Настройка загрузки данных с сайта поставщика]]
  
−
= Контроль состояния обмена =
+
* '''Поставщик''' - поставщик, для которого будут загружаться цены и наличие. Цены будут загружаться по тому типу цен, который указан в карточке поставщика (в поле "Закупочный тип цен");
 +
* '''Способ расчёта цены''' - способ вычисления итоговой цены поставщика для тех случаев, когда у поставщика несколько разных цен для одного товара (например, разные цены на разных складах);
 +
* '''Периодичность''' - с какой периодичностью загружать данные с сайта поставщика;
 +
* '''Валюта цен''' - валюта для загрузки цен;
 +
* '''Сбрасывать наличие после загрузки''' - при установке этого флажка будет сбрасываться наличие для всех товаров, которых не было в файле, но по которым ранее было зафиксировано наличие у данного поставщика;
 +
* '''Логин, пароль''' - некоторые поставщики требуют аутентификации для скачивания файла;
 +
* '''Табличная часть "Настройки для обновления товаров"''' - это список правил для разбора файла:
 +
** '''URL для загрузки файла''' - ссылка на файл поставщика;
 +
** '''Узел товара''' - путь до узла товара внутри файла;
 +
** '''Поле артикула поставщика''' - путь до поля с артикулом поставщика в рамках узла товара;
 +
** '''Поле артикула производителя''' - путь до поля с артикулом производителя в рамках узла товара;
 +
** '''Шаблон наименования''' - шаблон для формирования наименования, по которому будет искаться товар, если он не был найден по артикулу поставщика;
 +
** '''Поля с кол-вами (через запятую)''' - пути до полей с количествами в рамках узла товара;
 +
** '''Поля с ценами (через запятую)''' - пути до полей с ценами в рамках узла товара;
 +
** '''Родительская группа для ограничения поиска''' - товары для обновления цен/наличия будут искаться только в рамках указанной родительской группы товаров;
  
−
Контроль состояния обмена осуществляется следующими способами:
+
== Пример настройки для XML-файла ==
  
−
* Состояние задачи синхронизации и ее результаты отражаются в отчете "Запланированные задачи";
+
Допустим, что поставщик предоставляет ссылку на XML-файл с ценами и остатками: https://pro.4tochki.ru/export_data/rest_other.xml
−
* Подробные описания ошибок обмена выводятся в отчете "Ошибки обмена".
 
  
−
Кроме того, существует отчет "Оплаты по заказам на сайте", в котором отражаются все оплаты заказов, оформленные на сайте.
+
Если открыть эту ссылку в браузере, то увидим следуюшее содержимое файла:
−
Сами оплаты в системе никак не отражаются.
+
<pre>
 +
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 +
<data>
 +
  <tires>
 +
    <cae>003309</cae>
 +
    <brand>Nokian</brand>
 +
    <size>R19</size>
 +
    <model>AH213-19</model>
 +
    <rest_msk>5</rest_mkrs>
 +
    <rest_spb>2</rest_sk2>
 +
    <price_msk>3650</rest_sk3>
 +
    <price_spb>3685</rest_sk4>
 +
  </tires>
 +
  <tires>
 +
    <cae>1014138</cae>
 +
    <brand>Nokian</brand>
 +
    <size>R20</size>
 +
    <model>AH213-20</model>
 +
    <rest_msk>5</rest_mkrs>
 +
    <rest_spb>более 40</rest_sk2>
 +
    <price_msk>4120</rest_sk3>
 +
    <price_spb>4120</rest_sk4>
 +
  </tires>
 +
  ...
 +
  <rims>
 +
    <cae>WHS152714</cae>
 +
    <brand>Nitro</brand>
 +
    <model>N20-123</model>
 +
    <rest_msk>12</rest_mkrs>
 +
    <rest_spb>2</rest_sk2>
 +
    <price_msk>2370</rest_sk3>
 +
    <price_spb>2370</rest_sk4>
 +
  </rims>
 +
  <rims>
 +
    <cae>WHS152672</cae>
 +
    <brand>Nitro</brand>
 +
    <model>N20-124</model>
 +
    <rest_msk>15</rest_mkrs>
 +
    <rest_spb>7</rest_sk2>
 +
    <price_msk>3580</rest_sk3>
 +
    <price_spb>3600</rest_sk4>
 +
  </rims>
 +
  ...
 +
</data>
 +
</pre>
  
−
== Отчет "Запланированные задачи" ==
+
В данном случае у поставщика разные узлы для разных типов товаров: '''tires''' - для шин, '''rims''' - для дисков.
  
−
Отчет доступен через главное меню "Отчеты - Запланированные задачи".
+
Соответственно, необходимо создать две записи в табличной части "Настройки для обновления товаров":
  
−
В нем можно увидеть дату следующей синхронизации (колонка "Дата следующего выполнения"), а также результаты предыдущей синхронизации (ссылка "Подробнее..." в колонке "Статус").
+
'''Строка 1:'''
 +
** URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.xml";
 +
** Узел товара: "tires" (путь к узлу товара не учитывает корневой узел "data");
 +
** Поле артикула: "cae";
 +
** Шаблон наименования: "{brand} {size} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nokian R19 AH213-19");
 +
** Поля с кол-вами (через запятую): "rest_msk,rest_spb";
 +
** Поля с ценами (через запятую): "price_msk,price_spb";
  
−
[[Файл:12_prestashop_mrdoc_task.png|border|1000px|Задача обмена в отчете "Запланированные задачи"]]
+
'''Строка 2:'''
 +
** URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.xml";
 +
** Узел товара: "rims" (путь к узлу товара не учитывает корневой узел "data");
 +
** Поле артикула: "cae";
 +
** Шаблон наименования: "{brand} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nitro N20-123");
 +
** Поля с кол-вами (через запятую): "rest_msk,rest_spb";
 +
** Поля с ценами (через запятую): "price_msk,price_spb";
  
−
[[Файл:13_prestashop_mrdoc_task_result.png|border|400px|Результаты успешного выполнения задачи обмена]]
+
В файлах некоторых поставщиков могут использоваться атрибуты XML-узлов.
  
−
В случае обновления механизма синхронизации необходимо вручную обновить модуль на сайте (выполнить повторную установку без предварительного удаления).
+
Например, в данном файле артикул товара указан в атрибуте узла товара, а не отдельным подузлом:
−
В противном случае в окне результатов задачи будет отображаться следующая ошибка:
+
<pre>
 +
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 +
<data>
 +
  <tires cae="003309">
 +
    <brand>Nokian</brand>
 +
    <size>R19</size>
 +
    <model>AH213-19</model>
 +
    <rest_msk>5</rest_mkrs>
 +
    <rest_spb>2</rest_sk2>
 +
    <price_msk>3650</rest_sk3>
 +
    <price_spb>3685</rest_sk4>
 +
  </tires>
 +
  <tires cae="1014138">
 +
    <brand>Nokian</brand>
 +
    <size>R20</size>
 +
    <model>AH213-20</model>
 +
    <rest_msk>5</rest_mkrs>
 +
    <rest_spb>более 40</rest_sk2>
 +
    <price_msk>4120</rest_sk3>
 +
    <price_spb>4120</rest_sk4>
 +
  </tires>
 +
  ...
 +
  <rims cae="WHS152714">
 +
    <brand>Nitro</brand>
 +
    <model>N20-123</model>
 +
    <rest_msk>12</rest_mkrs>
 +
    <rest_spb>2</rest_sk2>
 +
    <price_msk>2370</rest_sk3>
 +
    <price_spb>2370</rest_sk4>
 +
  </rims>
 +
  <rims cae="WHS152672">
 +
    <brand>Nitro</brand>
 +
    <model>N20-124</model>
 +
    <rest_msk>15</rest_mkrs>
 +
    <rest_spb>7</rest_sk2>
 +
    <price_msk>3580</rest_sk3>
 +
    <price_spb>3600</rest_sk4>
 +
  </rims>
 +
  ...
 +
</data>
 +
</pre>
  
−
[[Файл:14_prestashop_mrdoc_task_error.png|border|500px|Ошибка выполнения обмена, связанная с необходимостью обновления модуля на сайте]]
+
В этом случае поле "Поле артикула" нужно заполнить так: "@cae" (символ "@" указывает на то, что это атрибут узла, а не отдельный узел).
  
−
== Отчет "Ошибки обмена" ==
+
== Пример настройки для JSON-файла ==
  
−
Отчет открывается с помощью кнопки "Ошибки обмена" в форме настройки обмена.
+
Допустим, что поставщик предоставляет ссылку на JSON-файл с ценами и остатками: https://pro.4tochki.ru/export_data/rest_other.json
  
−
[[Файл:15_prestashop_mrdoc_report_error_1.png|border|500px|Кнопка для открытия отчета "Ошибки обмена"]]
+
Если открыть эту ссылку в браузере, то увидим следуюшее содержимое файла:
 +
<pre>
 +
{
 +
  "tires": [
 +
    {
 +
      "cae": "003309",
 +
      "brand": "Nokian",
 +
      "size": "R19",
 +
      "model": "AH213-19",
 +
      "rest_msk": 5,
 +
      "rest_spb": 2,
 +
      "price_msk": 3650,
 +
      "price_spb": 3685
 +
    },
 +
    {
 +
      "cae": "1014138",
 +
      "brand": "Nokian",
 +
      "size": "R20",
 +
      "model": "AH213-20",
 +
      "rest_msk": 5,
 +
      "rest_spb": "более 40",
 +
      "price_msk": 4120,
 +
      "price_spb": 4120
 +
    },
 +
    ...
 +
  ],
 +
  "rims": [
 +
    {
 +
      "cae": "WHS152714",
 +
      "brand": "Nitro",
 +
      "model": "N20-123",
 +
      "rest_msk": 12,
 +
      "rest_spb": 2,
 +
      "price_msk": 2370,
 +
      "price_spb": 2370
 +
    },
 +
    {
 +
      "cae": "WHS152672",
 +
      "brand": "Nitro",
 +
      "model": "N20-124",
 +
      "rest_msk": 15,
 +
      "rest_spb": 7,
 +
      "price_msk": 3580,
 +
      "price_spb": 3600
 +
    },
 +
    ...
 +
  ]
 +
}
 +
</pre>
  
−
Отчет состоит из двух вкладок: ошибки загрузки (с сайта в MrDoc) и ошибки выгрузки (из MrDoc на сайт).
+
В данном случае у поставщика разные узлы для разных типов товаров: '''tires''' - для шин, '''rims''' - для дисков.
  
−
Колонки отчета на вкладке "Ошибки загрузки":
+
Соответственно, необходимо создать две записи в табличной части "Настройки для обновления товаров":
  
−
* '''Дата''' - дата фиксирования ошибки;
+
'''Строка 1:'''
−
* '''Тип объекта во внешней системе''' - (category - категория, product - товар, combination - модификация, customer - покупатель, order - заказ покупателя, manufacturer - производитель, supplier - поставщик);
+
** URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.json";
−
* '''ID объекта во внешней системе''' - ID объекта на сайте;
+
** Узел товара: "tires";
−
* '''Текст ошибки''' - описание ошибки.
+
** Поле артикула: "cae";
 +
** Шаблон наименования: "{brand} {size} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nokian R19 AH213-19");
 +
** Поля с кол-вами (через запятую): "rest_msk,rest_spb";
 +
** Поля с ценами (через запятую): "price_msk,price_spb";
  
−
Колонки отчета на вкладке "Ошибки выгрузки":
+
'''Строка 2:'''
 +
** URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.json";
 +
** Узел товара: "rims";
 +
** Поле артикула: "cae";
 +
** Шаблон наименования: "{brand} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nitro N20-123");
 +
** Поля с кол-вами (через запятую): "rest_msk,rest_spb";
 +
** Поля с ценами (через запятую): "price_msk,price_spb";
  
−
* '''Дата''' - дата фиксирования ошибки;
+
= Контроль результатов загрузки данных =
−
* '''Тип объекта''' - Тип объекта в MrDoc;
 
−
* '''ID объекта''' - ID объекта в MrDoc;
 
−
* '''Текст ошибки''' - описание ошибки.
 
  
−
[[Файл:16_prestashop_mrdoc_report_error_2.png|border|1000px|Отчет "Ошибки обмена"]]
+
После сохранения настройки автоматически создается задача, статус выполнения которой можно увидеть в отчете "Отчеты / Запланированные задачи".
  
−
== Отчет "Оплаты по заказам на сайте" ==
+
В результатах задачи отображается общее количество обновленных цен/остатков, а также общее количество пропущенных товаров.
  
−
Отчет открывается с помощью кнопки "Оплаты по заказам на сайте" в форме настройки обмена.
+
Пропущенные товары - это узлы в файле, для которых не было найдено соответствующих товаров в системе (ни по артикулу поставщика, ни по шаблону наименования).
  
−
В нем выводятся оплаты по заказам, оформленные через сайт.
+
[[Файл:Module supplierRestPriceImport task result.png|border|688px|Результат загрузки данных]]
  
−
[[Файл:17_prestashop_mrdoc_report_payment_1.png|border|500px|Кнопка для открытия отчета "Оплаты по заказам на сайте"]]
+
Кроме того, есть возможность сформировать отчет по пропущенным товарам (например, для того, чтобы занести в систему новые товары поставщика).
  
−
[[Файл:18_prestashop_mrdoc_report_payment_2.png|border|1000px|Отчет "Оплаты по заказам на сайте"]]
+
[[Файл:Module supplierRestPriceImport report btn.png|border|500px|Кнопка для открытия отчета о пропущенных товарах]]
  
 +
[[Файл:Module supplierRestPriceImport report.png|border|940px|Отчет о пропущенных товарах]]
  
 
[[Category:Интеграция с поставщиками]]
 
[[Category:Интеграция с поставщиками]]

Текущая версия на 16:41, 10 ноября 2016

Важно!

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

Компания "КлаудТим" не несет ответственности за любые проблемы, прямо или косвенно связанные с синхронизацией.

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

Возможности

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

Для этого поставщик должен предоставить ссылку на JSON или XML-файл, в котором отражены его остатки и/или его цены. Ссылка может быть как на сайт (начинается с "http://"), так и на ftp-сервер (начинается с "ftp://").

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

Поиск товаров для обновления цен и наличия будет осуществляться по следующему алгоритму:

  1. Сначала ищется товар с таким артикулом поставщика;
  2. Если товар не нашелся, то далее товар ищется по артикулу производителя;
  3. Если товар не нашелся, то по шаблону наименования формируется наименование и ищется товар с этим наименованием;

При этом есть возможность ограничить поиск товара определенной родительской группой товаров.

Если товар был найден не по артикулу поставщика, то артикул поставщика из файла будет привязан к товару автоматически.

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

Включение модуля

Для включения модуля необходимо зайти в ваш личный кабинет на сайте mrdoc.org и включить модуль "Интеграция с поставщиками".

Включение модуля в личном кабинете

Настройка модуля

После включения модуля в вашей программе появляется новый пункт меню "Настройки загрузки данных поставщиков".

Этот пункт ведет в журнал, где для каждого поставщика необходимо создать отдельную запись.

Пункт главного меню для настройки загрузки данных поставщиков

Настройка загрузки данных с сайта поставщика

  • Поставщик - поставщик, для которого будут загружаться цены и наличие. Цены будут загружаться по тому типу цен, который указан в карточке поставщика (в поле "Закупочный тип цен");
  • Способ расчёта цены - способ вычисления итоговой цены поставщика для тех случаев, когда у поставщика несколько разных цен для одного товара (например, разные цены на разных складах);
  • Периодичность - с какой периодичностью загружать данные с сайта поставщика;
  • Валюта цен - валюта для загрузки цен;
  • Сбрасывать наличие после загрузки - при установке этого флажка будет сбрасываться наличие для всех товаров, которых не было в файле, но по которым ранее было зафиксировано наличие у данного поставщика;
  • Логин, пароль - некоторые поставщики требуют аутентификации для скачивания файла;
  • Табличная часть "Настройки для обновления товаров" - это список правил для разбора файла:
    • URL для загрузки файла - ссылка на файл поставщика;
    • Узел товара - путь до узла товара внутри файла;
    • Поле артикула поставщика - путь до поля с артикулом поставщика в рамках узла товара;
    • Поле артикула производителя - путь до поля с артикулом производителя в рамках узла товара;
    • Шаблон наименования - шаблон для формирования наименования, по которому будет искаться товар, если он не был найден по артикулу поставщика;
    • Поля с кол-вами (через запятую) - пути до полей с количествами в рамках узла товара;
    • Поля с ценами (через запятую) - пути до полей с ценами в рамках узла товара;
    • Родительская группа для ограничения поиска - товары для обновления цен/наличия будут искаться только в рамках указанной родительской группы товаров;

Пример настройки для XML-файла

Допустим, что поставщик предоставляет ссылку на XML-файл с ценами и остатками: https://pro.4tochki.ru/export_data/rest_other.xml

Если открыть эту ссылку в браузере, то увидим следуюшее содержимое файла:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data>
  <tires>
    <cae>003309</cae>
    <brand>Nokian</brand>
    <size>R19</size>
    <model>AH213-19</model>
    <rest_msk>5</rest_mkrs>
    <rest_spb>2</rest_sk2>
    <price_msk>3650</rest_sk3>
    <price_spb>3685</rest_sk4>
  </tires>
  <tires>
    <cae>1014138</cae>
    <brand>Nokian</brand>
    <size>R20</size>
    <model>AH213-20</model>
    <rest_msk>5</rest_mkrs>
    <rest_spb>более 40</rest_sk2>
    <price_msk>4120</rest_sk3>
    <price_spb>4120</rest_sk4>
  </tires>
  ...
  <rims>
    <cae>WHS152714</cae>
    <brand>Nitro</brand>
    <model>N20-123</model>
    <rest_msk>12</rest_mkrs>
    <rest_spb>2</rest_sk2>
    <price_msk>2370</rest_sk3>
    <price_spb>2370</rest_sk4>
  </rims>
  <rims>
    <cae>WHS152672</cae>
    <brand>Nitro</brand>
    <model>N20-124</model>
    <rest_msk>15</rest_mkrs>
    <rest_spb>7</rest_sk2>
    <price_msk>3580</rest_sk3>
    <price_spb>3600</rest_sk4>
  </rims>
  ...
</data>

В данном случае у поставщика разные узлы для разных типов товаров: tires - для шин, rims - для дисков.

Соответственно, необходимо создать две записи в табличной части "Настройки для обновления товаров":

Строка 1:

    • URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.xml";
    • Узел товара: "tires" (путь к узлу товара не учитывает корневой узел "data");
    • Поле артикула: "cae";
    • Шаблон наименования: "{brand} {size} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nokian R19 AH213-19");
    • Поля с кол-вами (через запятую): "rest_msk,rest_spb";
    • Поля с ценами (через запятую): "price_msk,price_spb";

Строка 2:

    • URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.xml";
    • Узел товара: "rims" (путь к узлу товара не учитывает корневой узел "data");
    • Поле артикула: "cae";
    • Шаблон наименования: "{brand} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nitro N20-123");
    • Поля с кол-вами (через запятую): "rest_msk,rest_spb";
    • Поля с ценами (через запятую): "price_msk,price_spb";

В файлах некоторых поставщиков могут использоваться атрибуты XML-узлов.

Например, в данном файле артикул товара указан в атрибуте узла товара, а не отдельным подузлом:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data>
  <tires cae="003309">
    <brand>Nokian</brand>
    <size>R19</size>
    <model>AH213-19</model>
    <rest_msk>5</rest_mkrs>
    <rest_spb>2</rest_sk2>
    <price_msk>3650</rest_sk3>
    <price_spb>3685</rest_sk4>
  </tires>
  <tires cae="1014138">
    <brand>Nokian</brand>
    <size>R20</size>
    <model>AH213-20</model>
    <rest_msk>5</rest_mkrs>
    <rest_spb>более 40</rest_sk2>
    <price_msk>4120</rest_sk3>
    <price_spb>4120</rest_sk4>
  </tires>
  ...
  <rims cae="WHS152714">
    <brand>Nitro</brand>
    <model>N20-123</model>
    <rest_msk>12</rest_mkrs>
    <rest_spb>2</rest_sk2>
    <price_msk>2370</rest_sk3>
    <price_spb>2370</rest_sk4>
  </rims>
  <rims cae="WHS152672">
    <brand>Nitro</brand>
    <model>N20-124</model>
    <rest_msk>15</rest_mkrs>
    <rest_spb>7</rest_sk2>
    <price_msk>3580</rest_sk3>
    <price_spb>3600</rest_sk4>
  </rims>
  ...
</data>

В этом случае поле "Поле артикула" нужно заполнить так: "@cae" (символ "@" указывает на то, что это атрибут узла, а не отдельный узел).

Пример настройки для JSON-файла

Допустим, что поставщик предоставляет ссылку на JSON-файл с ценами и остатками: https://pro.4tochki.ru/export_data/rest_other.json

Если открыть эту ссылку в браузере, то увидим следуюшее содержимое файла:

{
  "tires": [
    {
      "cae": "003309",
      "brand": "Nokian",
      "size": "R19",
      "model": "AH213-19",
      "rest_msk": 5,
      "rest_spb": 2,
      "price_msk": 3650,
      "price_spb": 3685
    },
    {
      "cae": "1014138",
      "brand": "Nokian",
      "size": "R20",
      "model": "AH213-20",
      "rest_msk": 5,
      "rest_spb": "более 40",
      "price_msk": 4120,
      "price_spb": 4120
    },
    ...
  ],
  "rims": [
    {
      "cae": "WHS152714",
      "brand": "Nitro",
      "model": "N20-123",
      "rest_msk": 12,
      "rest_spb": 2,
      "price_msk": 2370,
      "price_spb": 2370
    },
    {
      "cae": "WHS152672",
      "brand": "Nitro",
      "model": "N20-124",
      "rest_msk": 15,
      "rest_spb": 7,
      "price_msk": 3580,
      "price_spb": 3600
    },
    ...
  ]
}

В данном случае у поставщика разные узлы для разных типов товаров: tires - для шин, rims - для дисков.

Соответственно, необходимо создать две записи в табличной части "Настройки для обновления товаров":

Строка 1:

    • URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.json";
    • Узел товара: "tires";
    • Поле артикула: "cae";
    • Шаблон наименования: "{brand} {size} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nokian R19 AH213-19");
    • Поля с кол-вами (через запятую): "rest_msk,rest_spb";
    • Поля с ценами (через запятую): "price_msk,price_spb";

Строка 2:

    • URL для загрузки файла: "https://pro.4tochki.ru/export_data/rest_other.json";
    • Узел товара: "rims";
    • Поле артикула: "cae";
    • Шаблон наименования: "{brand} {model}" (то есть наименования для поиска будут принимать следующий вид: "Nitro N20-123");
    • Поля с кол-вами (через запятую): "rest_msk,rest_spb";
    • Поля с ценами (через запятую): "price_msk,price_spb";

Контроль результатов загрузки данных

После сохранения настройки автоматически создается задача, статус выполнения которой можно увидеть в отчете "Отчеты / Запланированные задачи".

В результатах задачи отображается общее количество обновленных цен/остатков, а также общее количество пропущенных товаров.

Пропущенные товары - это узлы в файле, для которых не было найдено соответствующих товаров в системе (ни по артикулу поставщика, ни по шаблону наименования).

Результат загрузки данных

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

Кнопка для открытия отчета о пропущенных товарах

Отчет о пропущенных товарах