mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-15 14:03:22 +02:00
OZON: Получить список товаров
This commit is contained in:
parent
f0dab78f7f
commit
9cf903de0f
4
docs/en/data/Ozon/GetProductList.json
Normal file
4
docs/en/data/Ozon/GetProductList.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"ClientID": "2128753",
|
||||
"APIKey": "7cc90d26-33e4-499b..."
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("sku" , 1626044001);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
|
11
docs/en/examples/Ozon/GetProductList.txt
Normal file
11
docs/en/examples/Ozon/GetProductList.txt
Normal file
@ -0,0 +1,11 @@
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
|
||||
IDArray = New Array;
|
||||
IDArray.Add("143210608");
|
||||
|
||||
Filter = New Structure;
|
||||
Filter.Insert("visibility" , "ALL");
|
||||
Filter.Insert("offer_id" , IDArray);
|
||||
|
||||
Result = OPI_Ozon.GetProductList(ClientID, APIKey, Filter);
|
1
docs/en/examples/Ozon/GetProductsFilterStructure.txt
Normal file
1
docs/en/examples/Ozon/GetProductsFilterStructure.txt
Normal file
@ -0,0 +1 @@
|
||||
Result = OPI_Ozon.GetProductsFilterStructure();
|
4
docs/ru/data/Ozon/ПолучитьСписокТоваров.json
Normal file
4
docs/ru/data/Ozon/ПолучитьСписокТоваров.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"IDКлиента": "2128753",
|
||||
"КлючAPI": "7cc90d26-33e4-499b..."
|
||||
}
|
11
docs/ru/examples/Ozon/ПолучитьСписокТоваров.txt
Normal file
11
docs/ru/examples/Ozon/ПолучитьСписокТоваров.txt
Normal file
@ -0,0 +1,11 @@
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
|
||||
МассивID = Новый Массив;
|
||||
МассивID.Добавить("143210608");
|
||||
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("visibility" , "ALL");
|
||||
Фильтр.Вставить("offer_id" , МассивID);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокТоваров(IDКлиента, КлючAPI, Фильтр);
|
@ -0,0 +1 @@
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруФильтраТоваров();
|
@ -3,7 +3,7 @@
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("sku" , 1626044001);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -202,6 +202,38 @@ EndFunction
|
||||
|
||||
#Region UploadingAndUpdatingProducts
|
||||
|
||||
// Get product list
|
||||
// Gets a list of products with or without filter
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// Filter - Structure of KeyAndValue - Product selection filter. See GetProductsFilterStructure - filter
|
||||
// LastID - String, Number - ID of the last value (last_id) from the previous response - last
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function GetProductList(Val ClientID, Val APIKey, Val Filter = "", Val LastID = 0) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v2/product/list";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
Limit = 200;
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("filter" , Filter , "Collection", Parameters);
|
||||
OPI_Tools.AddField("limit" , Limit , "String" , Parameters);
|
||||
OPI_Tools.AddField("last_id", LastID , "String" , Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create update product
|
||||
// Creates new products or updates existing products, based on data structures
|
||||
//
|
||||
@ -412,6 +444,38 @@ Function GetAttributesUpdateStructure(Val Clear = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get products filter structure
|
||||
// Gets the structure for products list selecting in the GetProductList function
|
||||
//
|
||||
// Note
|
||||
// The description of the filter fields can be found on the documentation page for product list retrieving method: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Filter fields structure
|
||||
Function GetProductsFilterStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("offer_id" , "<array of sku>");
|
||||
ItemStructure.Insert("product_id", "<array ID of products>");
|
||||
ItemStructure.Insert("visibility", "<visibility>");
|
||||
|
||||
If Clear Then
|
||||
For Each Field In ItemStructure Do
|
||||
Field.Value = "";
|
||||
EndDo;
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add product video
|
||||
// Adds video to product attributes
|
||||
//
|
||||
|
@ -3251,6 +3251,8 @@ Procedure OzonAPI_UploadingAndUpdatingProducts() Export
|
||||
Ozon_GetSimplifiedProductStructure(TestParameters);
|
||||
Ozon_GetAttributesUpdateStructure(TestParameters);
|
||||
Ozon_UpdateProductsAttributes(TestParameters);
|
||||
Ozon_GetProductsFilterStructure(TestParameters);
|
||||
Ozon_GetProductList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -4101,6 +4103,12 @@ Procedure Check_OzonNewProducts(Val Result)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonObjectsArray(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region AtomicTests
|
||||
@ -11780,7 +11788,7 @@ Procedure Ozon_CreateProductByOzonID(FunctionParameters)
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("sku" , 1626044001);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
@ -11880,6 +11888,40 @@ Procedure Ozon_UpdateProductsAttributes(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetProductsFilterStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_Ozon.GetProductsFilterStructure();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductsFilterStructure", "Ozon");
|
||||
|
||||
Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetProductList(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
IDArray = New Array;
|
||||
IDArray.Add("143210608");
|
||||
|
||||
Filter = New Structure;
|
||||
Filter.Insert("visibility" , "ALL");
|
||||
Filter.Insert("offer_id" , IDArray);
|
||||
|
||||
Result = OPI_Ozon.GetProductList(ClientID, APIKey, Filter);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductList", "Ozon");
|
||||
|
||||
Check_OzonObjectsArray(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -202,6 +202,38 @@ EndFunction
|
||||
|
||||
#Region UploadingAndUpdatingProducts
|
||||
|
||||
// Get product list
|
||||
// Gets a list of products with or without filter
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// Filter - Structure of KeyAndValue - Product selection filter. See GetProductsFilterStructure - filter
|
||||
// LastID - String, Number - ID of the last value (last_id) from the previous response - last
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function GetProductList(Val ClientID, Val APIKey, Val Filter = "", Val LastID = 0) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v2/product/list";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
Limit = 200;
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("filter" , Filter , "Collection", Parameters);
|
||||
OPI_Tools.AddField("limit" , Limit , "String" , Parameters);
|
||||
OPI_Tools.AddField("last_id", LastID , "String" , Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create update product
|
||||
// Creates new products or updates existing products, based on data structures
|
||||
//
|
||||
@ -412,6 +444,38 @@ Function GetAttributesUpdateStructure(Val Clear = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get products filter structure
|
||||
// Gets the structure for products list selecting in the GetProductList function
|
||||
//
|
||||
// Note
|
||||
// The description of the filter fields can be found on the documentation page for product list retrieving method: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Filter fields structure
|
||||
Function GetProductsFilterStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("offer_id" , "<array of sku>");
|
||||
ItemStructure.Insert("product_id", "<array ID of products>");
|
||||
ItemStructure.Insert("visibility", "<visibility>");
|
||||
|
||||
If Clear Then
|
||||
For Each Field In ItemStructure Do
|
||||
Field.Value = "";
|
||||
EndDo;
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add product video
|
||||
// Adds video to product attributes
|
||||
//
|
||||
|
@ -3251,6 +3251,8 @@ Procedure OzonAPI_UploadingAndUpdatingProducts() Export
|
||||
Ozon_GetSimplifiedProductStructure(TestParameters);
|
||||
Ozon_GetAttributesUpdateStructure(TestParameters);
|
||||
Ozon_UpdateProductsAttributes(TestParameters);
|
||||
Ozon_GetProductsFilterStructure(TestParameters);
|
||||
Ozon_GetProductList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -4101,6 +4103,12 @@ Procedure Check_OzonNewProducts(Val Result)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonObjectsArray(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region AtomicTests
|
||||
@ -11780,7 +11788,7 @@ Procedure Ozon_CreateProductByOzonID(FunctionParameters)
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("sku" , 1626044001);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
@ -11880,6 +11888,40 @@ Procedure Ozon_UpdateProductsAttributes(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetProductsFilterStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_Ozon.GetProductsFilterStructure();
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductsFilterStructure", "Ozon");
|
||||
|
||||
Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetProductList(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
IDArray = New Array;
|
||||
IDArray.Add("143210608");
|
||||
|
||||
Filter = New Structure;
|
||||
Filter.Insert("visibility" , "ALL");
|
||||
Filter.Insert("offer_id" , IDArray);
|
||||
|
||||
Result = OPI_Ozon.GetProductList(ClientID, APIKey, Filter);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductList", "Ozon");
|
||||
|
||||
Check_OzonObjectsArray(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -224,6 +224,47 @@
|
||||
NewLine.Область = "Attributes and features";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductList";
|
||||
NewLine.МетодПоиска = "GETPRODUCTLIST";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Gets a list of products with or without filter";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductList";
|
||||
NewLine.МетодПоиска = "GETPRODUCTLIST";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductList";
|
||||
NewLine.МетодПоиска = "GETPRODUCTLIST";
|
||||
NewLine.Параметр = "--filter";
|
||||
NewLine.Описание = "Product selection filter. See GetProductsFilterStructure (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductList";
|
||||
NewLine.МетодПоиска = "GETPRODUCTLIST";
|
||||
NewLine.Параметр = "--last";
|
||||
NewLine.Описание = "ID of the last value (last_id) from the previous response (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
@ -381,6 +422,17 @@
|
||||
NewLine.ОписаниеМетода = "Gets the structure for updating product characteristics in the UpdateProductsAttributes function()";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductsFilterStructure";
|
||||
NewLine.МетодПоиска = "GETPRODUCTSFILTERSTRUCTURE";
|
||||
NewLine.Параметр = "--empty";
|
||||
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Gets the structure for products list selecting in the GetProductList function";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
|
@ -202,6 +202,38 @@
|
||||
|
||||
#Область ЗагрузкаИОбновлениеТоваров
|
||||
|
||||
// Получить список товаров
|
||||
// Получает список товаров с фильтром или без
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Фильтр - Структура Из КлючИЗначение - Фильтр выборки товаров. См. ПолучитьСтруктуруФильтраТоваров - filter
|
||||
// IDПоследнего - Строка, Число - ID последнего значения (last_id) из предыдущего запроса - last
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСписокТоваров(Знач IDКлиента, Знач КлючAPI, Знач Фильтр = "", Знач IDПоследнего = 0) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v2/product/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
Лимит = 200;
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("filter" , Фильтр , "Коллекция", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("last_id", IDПоследнего, "Строка" , Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать обновить товары
|
||||
// Создает новые или обновляет существующие товары по структурам полей
|
||||
//
|
||||
@ -412,6 +444,38 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра товаров
|
||||
// Получает структуру для отбора списка товаров в функции ПолучитьСписокТоваров
|
||||
//
|
||||
// Примечание:
|
||||
// Описание полей фильтра можно найти на странице документации по получению списка товаров: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей фильра
|
||||
Функция ПолучитьСтруктуруФильтраТоваров(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
|
||||
СтруктураТовара.Вставить("offer_id" , "<массив артинкулов>");
|
||||
СтруктураТовара.Вставить("product_id", "<массив ID товаров>");
|
||||
СтруктураТовара.Вставить("visibility", "<видимость>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураТовара Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видео товара
|
||||
// Добавляет видео к атрибутам товара
|
||||
//
|
||||
|
@ -3251,6 +3251,8 @@
|
||||
Ozon_ПолучитьСокращеннуюСтруктуруТовара(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруОбновленияХарактеристик(ПараметрыТеста);
|
||||
Ozon_ОбновитьХарактеристикиТоваров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруФильтраТоваров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокТоваров(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -4101,6 +4103,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонМассивОбъектов(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -11780,7 +11788,7 @@
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("sku" , 1626044001);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
@ -11880,6 +11888,40 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСтруктуруФильтраТоваров(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруФильтраТоваров();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраТоваров", "Ozon");
|
||||
|
||||
Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокТоваров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
МассивID = Новый Массив;
|
||||
МассивID.Добавить("143210608");
|
||||
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("visibility" , "ALL");
|
||||
Фильтр.Вставить("offer_id" , МассивID);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокТоваров(IDКлиента, КлючAPI, Фильтр);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТоваров", "Ozon");
|
||||
|
||||
Проверка_ОзонМассивОбъектов(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -202,6 +202,38 @@
|
||||
|
||||
#Область ЗагрузкаИОбновлениеТоваров
|
||||
|
||||
// Получить список товаров
|
||||
// Получает список товаров с фильтром или без
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Фильтр - Структура Из КлючИЗначение - Фильтр выборки товаров. См. ПолучитьСтруктуруФильтраТоваров - filter
|
||||
// IDПоследнего - Строка, Число - ID последнего значения (last_id) из предыдущего запроса - last
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСписокТоваров(Знач IDКлиента, Знач КлючAPI, Знач Фильтр = "", Знач IDПоследнего = 0) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v2/product/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
Лимит = 200;
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("filter" , Фильтр , "Коллекция", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("last_id", IDПоследнего, "Строка" , Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать обновить товары
|
||||
// Создает новые или обновляет существующие товары по структурам полей
|
||||
//
|
||||
@ -412,6 +444,38 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра товаров
|
||||
// Получает структуру для отбора списка товаров в функции ПолучитьСписокТоваров
|
||||
//
|
||||
// Примечание:
|
||||
// Описание полей фильтра можно найти на странице документации по получению списка товаров: [post /v2/product/list](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductList)
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей фильра
|
||||
Функция ПолучитьСтруктуруФильтраТоваров(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
|
||||
СтруктураТовара.Вставить("offer_id" , "<массив артинкулов>");
|
||||
СтруктураТовара.Вставить("product_id", "<массив ID товаров>");
|
||||
СтруктураТовара.Вставить("visibility", "<видимость>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураТовара Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видео товара
|
||||
// Добавляет видео к атрибутам товара
|
||||
//
|
||||
|
@ -3251,6 +3251,8 @@
|
||||
Ozon_ПолучитьСокращеннуюСтруктуруТовара(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруОбновленияХарактеристик(ПараметрыТеста);
|
||||
Ozon_ОбновитьХарактеристикиТоваров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруФильтраТоваров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокТоваров(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -4101,6 +4103,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонМассивОбъектов(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -11780,7 +11788,7 @@
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("sku" , 1626044001);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
@ -11880,6 +11888,40 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСтруктуруФильтраТоваров(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруФильтраТоваров();
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраТоваров", "Ozon");
|
||||
|
||||
Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокТоваров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
МассивID = Новый Массив;
|
||||
МассивID.Добавить("143210608");
|
||||
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("visibility" , "ALL");
|
||||
Фильтр.Вставить("offer_id" , МассивID);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокТоваров(IDКлиента, КлючAPI, Фильтр);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТоваров", "Ozon");
|
||||
|
||||
Проверка_ОзонМассивОбъектов(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -224,6 +224,47 @@
|
||||
НоваяСтрока.Область = "Атрибуты и характеристики";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает список товаров с фильтром или без";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--filter";
|
||||
НоваяСтрока.Описание = "Фильтр выборки товаров. См. ПолучитьСтруктуруФильтраТоваров (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--last";
|
||||
НоваяСтрока.Описание = "ID последнего значения (last_id) из предыдущего запроса (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
@ -393,6 +434,17 @@
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру для обновления характеристик товара в функции ОбновитьХарактеристикиТоваров()";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--empty";
|
||||
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру для отбора списка товаров в функции ПолучитьСписокТоваров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
|
Loading…
x
Reference in New Issue
Block a user