Описание фида по наличию и ценам
Общие сведения
Схема “Закажи и забери” позволяет клиенту заказать товары продавца в конкретном магазине, а затем оперативно получить заказ.
Продавцы, работающие с Мегамаркетом по схеме “Закажи и забери” должны передавать Мегамаркету следующую информацию:
- Файл с полным ассортиментом товаров (XML-фид)
- Файл с информацией об остатках и ценах (json-файл)
- Файл с информацией о магазинах, где клиент может получить свой заказ (json-файл)
Данный документ описывает файл с информацией об остатках и ценах
Информация об остатках и ценах передается в 2 потока:
- полный перечень товарных предложений Продавца
- перечень изменившихся товарных предложениях с момента формирования предыдущего файла с изменениями
Требования к файлу с остатками и ценами
Общие требования
Формат файла | json. Файлы с объёмом более 100 мегабайт должны быть запакованы в zip-архив без пароля |
Расположение файла | В папке на sftp-сервере продавца. Ссылка на папку передаётся в Мегамаркет |
Защита доступа к ftp-серверу продавца | Обязательная авторизация. Логин и пароль для доступа передаются в Мегамаркет |
Протокол передачи | sftp |
Кодировка файла | UTF-8 без BOM |
Формат перевода строки | CR (U+000D) |
Максимальный размер файла | 500 мб |
Частота выгрузки полной информации об остатках и стоимости | По мере изменения информации об остатках и стоимости, но не реже раза в 24 часа и не чаще раза за 1 час. |
Частота выгрузки изменений остатков и стоимости | По мере изменения информации об остатках и стоимости между выгрузкой фида с полной информации, но не чаще раза за 5 минут |
Срок хранения файлов на сервере | Не менее 7 дней с даты публикации |
Требования к названию файла
Название файла содержит общую информацию о выгрузке и должен генерироваться в формате merchantId_stocks_type_dateTime. Zip-архив и json должны иметь одинаковые названия
Название | Описание | Возможные значения | Пример заполнения |
merchantId | id мерчанта в Мегамаркете | Целочисленное значение больше нуля | 123 |
stocks | Указание на то, что файл содержит именно информацию об остатках | stocks | stocks |
type | Указание на то, содержит ли файл полную информацию об остатках (full) или информацию об остатках, которые изменились с момента последней выгрузки (diff) | full, diff | full |
dateTime | Дата и время, на которые предоставлена информация в файле | Дата и время с указанием часового пояса. Использование двоеточия в качестве разделителя неприемлемо | 2018-10-24T12-00-00+03-00 |
Примеры названий файлов:
- 45_stocks_full_2018-10-24T12-00-00+03-00.zip
- 45_stocks_full_2018-10-24T12-00-00+03-00.json
- 157_stocks_diff_2018-10-24T12-15-00+03-00.zip
- 157_stocks_diff_2018-10-24T12-15-00+03-00.json
Разделитель T должен быть обязательно латинской буквой, иначе фид не обработается корректно.
Примечание:
type = full - это полное обновление базы с текущей информацией об остатках.
type = diff - это обновление определенных записей. В diff передается актуальное количество остатков на данный момент.
Описание полей
Все поля в файле с остатками и ценами являются обязательными
Порядковый номер вложенности | Название параметра | Тип данных | Обязательный | Описание |
---|---|---|---|---|
1. | fileAttributes | Object | Да | Содержит технические параметры продавца |
1.1 | merchantId | Integer | Да | Идентификатор продавца по системе Мегамаркета |
1.2 | type | String | Да | Тип фида. Diff или Full |
1.3 | dateTime | String | Да | Время формирования фида в формате: YYYY-MM-DDTHH-MM-SS±hh-mm |
2. | outlets | Array | Да | Массив содержащий информацию о торговых точках продавца |
2.1 | outletId | String | Да | Идентификатор торговой точки по системе продавца |
2.2 | offers | Array | Да | Массив содержащий информацию о предложениях |
2.2.1 | offerId | String | Да | Уникальный идентификатор предложения по системе продавца |
2.2.2 | quantity | Integer | Да | Количество штук товара для предложения |
2.2.3 | price | Float/Integer | Да | Цена предложения. Принимает в двух типах данных. Для отображения на платформе Мегамаркет цена конвертируется в тип данных Integer с округлением до рубля вниз. |
2.2.4 | oldPrice | Float/Integer | Нет | Старая цена. Она будет перечеркнутой, а значения из price будет над старой ценой. Условия отображения:
|
Примечание
- merchantId, quantity, price - integer
- outletId, offerId - string
{ "fileAttributes": { "merchantId": 1192, "type": "full", "dateTime": "2019-07-15T00-42-13+03-00" }, "outlets": [{ "outletId": "100559", "offers": [{ "offerId": "5133560", "quantity": 1, "price": 84990, "oldPrice":100000 }, { "offerId": "РС055007", "price": 198, "quantity": 100 }, { "offerId": "РС201005", "price": 252, "quantity": 450 } ] } ] }