mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-11-21 17:56:56 +02:00
YAM: Получение списка товаров
This commit is contained in:
parent
30cbcef8d1
commit
d683cbe6be
@ -739,6 +739,10 @@
|
||||
Результат = ДокументЛога.ПолучитьТекст();
|
||||
Результат = СокрЛП(Результат);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Результат) Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
МаксимальныйРазмер = Мин(СтрЧислоСтрок(Результат), 150);
|
||||
Обрезка = СтрЧислоСтрок(Результат) > 150;
|
||||
ТекстРезультата = "";
|
||||
@ -749,6 +753,20 @@
|
||||
|
||||
ТекстРезультата = ?(Обрезка, ТекстРезультата + "...", Лев(ТекстРезультата, СтрДлина(ТекстРезультата) - 1));
|
||||
|
||||
Если ТекущийЯзык = "ru" Тогда
|
||||
Пометка = "Результат";
|
||||
Иначе
|
||||
Пометка = "Result";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстРезультата = "```json title="""
|
||||
+ Пометка
|
||||
+ """"
|
||||
+ Символы.ПС
|
||||
+ ТекстРезультата
|
||||
+ Символы.ПС
|
||||
+ "```";
|
||||
|
||||
Возврат ТекстРезультата;
|
||||
|
||||
КонецФункции
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -30,6 +30,4 @@ import TabItem from '@theme/TabItem';
|
||||
@ВызовCLI
|
||||
|
||||
|
||||
```json title="Result"
|
||||
@Результат
|
||||
```
|
||||
|
@ -30,6 +30,4 @@ import TabItem from '@theme/TabItem';
|
||||
@ВызовCLI
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
@Результат
|
||||
```
|
@ -187,6 +187,44 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить товары магазина
|
||||
// Получает список товаров выбранного магазина
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Информация о товарах, которые размещены в заданном магазине](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDМагазина - Строка, Число - ID магазина - business
|
||||
// Фильтры - Структура Из КлючИЗначение - Фильтры для отбора товаров - filters
|
||||
// ТокенСтраницы - Строка - Токен следующей страницы при большой выборке - page
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьТоварыМагазина(Знач Токен, Знач IDМагазина, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/%1/offers";
|
||||
URL = СтрШаблон(URL, IDМагазина);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
|
||||
URL = URL + "?page_token=" + ТокенСтраницы;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Фильтры) Тогда
|
||||
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
|
||||
Иначе
|
||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру товара
|
||||
// Получает структуру стандартных полей товара
|
||||
//
|
||||
@ -250,15 +288,25 @@
|
||||
|
||||
СтруктураТовара.Вставить("condition", СтруктураСостояния);
|
||||
|
||||
// TODO: Доописать
|
||||
СтруктураТовара.Вставить("customsCommodityCode", "<код товара ТН ВЭД>");
|
||||
СтруктураТовара.Вставить("description", "<подробное описание товара>");
|
||||
СтруктураТовара.Вставить("downloadable", "<признак цифрового товара>");
|
||||
СтруктураТовара.Вставить("guaranteePeriod", "<гарантийный срок>");
|
||||
СтруктураТовара.Вставить("lifeTime", "<срок службы>");
|
||||
|
||||
СтруктураПериода = Новый Структура;
|
||||
СтруктураПериода.Вставить("timePeriod", "<значение продолжительности>");
|
||||
СтруктураПериода.Вставить("timeUnit" , "<единица измерения>");
|
||||
СтруктураПериода.Вставить("comment" , "<комментарий>");
|
||||
|
||||
СтруктураТовара.Вставить("guaranteePeriod", СтруктураПериода);
|
||||
СтруктураТовара.Вставить("lifeTime" , СтруктураПериода);
|
||||
|
||||
МассивРуководств = Новый Массив;
|
||||
МассивРуководств.Добавить("<руководство>");
|
||||
|
||||
СтруктураРуководства = Новый Структура;
|
||||
СтруктураРуководства.Вставить("url" , "<сслыка на руководство>");
|
||||
СтруктураРуководства.Вставить("title", "<заголовок руководства>");
|
||||
|
||||
МассивРуководств.Добавить(СтруктураРуководства);
|
||||
|
||||
СтруктураТовара.Вставить("manuals", МассивРуководств);
|
||||
|
||||
@ -270,7 +318,14 @@
|
||||
СтруктураТовара.Вставить("name" , "<имя товара>");
|
||||
|
||||
МассивХарактеристик = Новый Массив;
|
||||
МассивХарактеристик.Добавить("<характеристика>");
|
||||
|
||||
СтруктураХарактеристики = Новый Структура;
|
||||
СтруктураХарактеристики.Вставить("parameterId", "<идентификатор характеристики>");
|
||||
СтруктураХарактеристики.Вставить("unitId" , "<идентификатор единицы измерения>");
|
||||
СтруктураХарактеристики.Вставить("value" , "<значение>");
|
||||
СтруктураХарактеристики.Вставить("valueId" , "<идентификатор значения для перечислений>");
|
||||
|
||||
МассивХарактеристик.Добавить(СтруктураХарактеристики);
|
||||
|
||||
СтруктураТовара.Вставить("parameterValues", МассивХарактеристик);
|
||||
|
||||
@ -278,8 +333,13 @@
|
||||
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
||||
|
||||
СтруктураТовара.Вставить("pictures" , МассивКартинок);
|
||||
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
||||
СтруктураТовара.Вставить("shelfLife" , "<срок годности>");
|
||||
|
||||
СтруктураЦеныЗакупки = Новый Структура;
|
||||
СтруктураЦеныЗакупки.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураЦеныЗакупки.Вставить("value" , "<цена>");
|
||||
|
||||
СтруктураТовара.Вставить("purchasePrice", СтруктураЦеныЗакупки);
|
||||
СтруктураТовара.Вставить("shelfLife" , СтруктураПериода);
|
||||
|
||||
МассивТэгов = Новый Массив;
|
||||
МассивТэгов.Добавить("<метка>");
|
||||
@ -293,6 +353,13 @@
|
||||
МассивВидео.Добавить("<ссылка на видео>");
|
||||
|
||||
СтруктураТовара.Вставить("videos" , МассивВидео);
|
||||
|
||||
СтруктураРазмеров = Новый Структура;
|
||||
СтруктураРазмеров.Вставить("height", "<высота в см.>");
|
||||
СтруктураРазмеров.Вставить("length", "<длина в см.>");
|
||||
СтруктураРазмеров.Вставить("weight", "<вес в кг. (брутто)>");
|
||||
СтруктураРазмеров.Вставить("width" , "<ширина в см.>");
|
||||
|
||||
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
||||
|
||||
Если Пустая Тогда
|
||||
|
@ -2089,10 +2089,12 @@
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста);
|
||||
|
||||
YandexMarket_ДобавитьОбновитьТовары(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьТоварыМагазина(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -14471,6 +14473,20 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура YandexMarket_ПолучитьТоварыМагазина(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьТоварыМагазина(Токен, IDМагазина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыМагазина", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1975,9 +1975,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -187,6 +187,68 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить товары магазина
|
||||
// Получает список товаров выбранного магазина
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Информация о товарах, которые размещены в заданном магазине](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDМагазина - Строка, Число - ID магазина - business
|
||||
// Фильтры - Структура Из КлючИЗначение - Фильтры для отбора товаров - filters
|
||||
// ТокенСтраницы - Строка - Токен следующей страницы при большой выборке - page
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьТоварыМагазина(Знач Токен, Знач IDМагазина, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/%1/offers";
|
||||
URL = СтрШаблон(URL, IDМагазина);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
|
||||
URL = URL + "?page_token=" + ТокенСтраницы;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Фильтры) Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
|
||||
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
|
||||
Иначе
|
||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТоварыКабинета(Знач Токен, Знач IDКабинета, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings";
|
||||
URL = СтрШаблон(URL, IDКабинета);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
|
||||
URL = URL + "?page_token=" + ТокенСтраницы;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Фильтры) Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
|
||||
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
|
||||
Иначе
|
||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру товара
|
||||
// Получает структуру стандартных полей товара
|
||||
//
|
||||
@ -250,15 +312,25 @@
|
||||
|
||||
СтруктураТовара.Вставить("condition", СтруктураСостояния);
|
||||
|
||||
// TODO: Доописать
|
||||
СтруктураТовара.Вставить("customsCommodityCode", "<код товара ТН ВЭД>");
|
||||
СтруктураТовара.Вставить("description", "<подробное описание товара>");
|
||||
СтруктураТовара.Вставить("downloadable", "<признак цифрового товара>");
|
||||
СтруктураТовара.Вставить("guaranteePeriod", "<гарантийный срок>");
|
||||
СтруктураТовара.Вставить("lifeTime", "<срок службы>");
|
||||
|
||||
СтруктураПериода = Новый Структура;
|
||||
СтруктураПериода.Вставить("timePeriod", "<значение продолжительности>");
|
||||
СтруктураПериода.Вставить("timeUnit" , "<единица измерения>");
|
||||
СтруктураПериода.Вставить("comment" , "<комментарий>");
|
||||
|
||||
СтруктураТовара.Вставить("guaranteePeriod", СтруктураПериода);
|
||||
СтруктураТовара.Вставить("lifeTime" , СтруктураПериода);
|
||||
|
||||
МассивРуководств = Новый Массив;
|
||||
МассивРуководств.Добавить("<руководство>");
|
||||
|
||||
СтруктураРуководства = Новый Структура;
|
||||
СтруктураРуководства.Вставить("url" , "<сслыка на руководство>");
|
||||
СтруктураРуководства.Вставить("title", "<заголовок руководства>");
|
||||
|
||||
МассивРуководств.Добавить(СтруктураРуководства);
|
||||
|
||||
СтруктураТовара.Вставить("manuals", МассивРуководств);
|
||||
|
||||
@ -270,7 +342,14 @@
|
||||
СтруктураТовара.Вставить("name" , "<имя товара>");
|
||||
|
||||
МассивХарактеристик = Новый Массив;
|
||||
МассивХарактеристик.Добавить("<характеристика>");
|
||||
|
||||
СтруктураХарактеристики = Новый Структура;
|
||||
СтруктураХарактеристики.Вставить("parameterId", "<идентификатор характеристики>");
|
||||
СтруктураХарактеристики.Вставить("unitId" , "<идентификатор единицы измерения>");
|
||||
СтруктураХарактеристики.Вставить("value" , "<значение>");
|
||||
СтруктураХарактеристики.Вставить("valueId" , "<идентификатор значения для перечислений>");
|
||||
|
||||
МассивХарактеристик.Добавить(СтруктураХарактеристики);
|
||||
|
||||
СтруктураТовара.Вставить("parameterValues", МассивХарактеристик);
|
||||
|
||||
@ -278,8 +357,13 @@
|
||||
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
||||
|
||||
СтруктураТовара.Вставить("pictures" , МассивКартинок);
|
||||
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
||||
СтруктураТовара.Вставить("shelfLife" , "<срок годности>");
|
||||
|
||||
СтруктураЦеныЗакупки = Новый Структура;
|
||||
СтруктураЦеныЗакупки.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураЦеныЗакупки.Вставить("value" , "<цена>");
|
||||
|
||||
СтруктураТовара.Вставить("purchasePrice", СтруктураЦеныЗакупки);
|
||||
СтруктураТовара.Вставить("shelfLife" , СтруктураПериода);
|
||||
|
||||
МассивТэгов = Новый Массив;
|
||||
МассивТэгов.Добавить("<метка>");
|
||||
@ -293,6 +377,13 @@
|
||||
МассивВидео.Добавить("<ссылка на видео>");
|
||||
|
||||
СтруктураТовара.Вставить("videos" , МассивВидео);
|
||||
|
||||
СтруктураРазмеров = Новый Структура;
|
||||
СтруктураРазмеров.Вставить("height", "<высота в см.>");
|
||||
СтруктураРазмеров.Вставить("length", "<длина в см.>");
|
||||
СтруктураРазмеров.Вставить("weight", "<вес в кг. (брутто)>");
|
||||
СтруктураРазмеров.Вставить("width" , "<ширина в см.>");
|
||||
|
||||
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
||||
|
||||
Если Пустая Тогда
|
||||
|
@ -2089,10 +2089,13 @@
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста);
|
||||
|
||||
YandexMarket_ДобавитьОбновитьТовары(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьТоварыМагазина(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьТоварыКабинета(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -14471,6 +14474,34 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура YandexMarket_ПолучитьТоварыМагазина(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьТоварыМагазина(Токен, IDМагазина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыМагазина", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура YandexMarket_ПолучитьТоварыКабинета(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDКабинета = ПараметрыФункции["YMarket_Business"];
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьТоварыКабинета(Токен, IDКабинета);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыКабинета", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
Reference in New Issue
Block a user