1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-28 05:46:35 +02:00

OZON: Значения характеристик

This commit is contained in:
Anton 2024-08-20 20:12:16 +03:00
parent 693f5b01a0
commit ae6afce66f
19 changed files with 5512 additions and 4623 deletions

View File

@ -0,0 +1,4 @@
{
"ClientID": "2128753",
"APIKey": "7cc90d26-33e4-499b..."
}

View File

@ -0,0 +1,4 @@
{
"ClientID": "2128753",
"APIKey": "7cc90d26-33e4-499b..."
}

View File

@ -0,0 +1,7 @@
 ClientID = "2128753";
APIKey = "7cc90d26-33e4-499b...";
CategoryID = 17054869;
TypeID = 97311;
AttributeID = 85;
Result = OPI_Ozon.GetAttributeValues(ClientID, APIKey, CategoryID, TypeID, AttributeID);

View File

@ -0,0 +1,13 @@
 ClientID = "2128753";
APIKey = "7cc90d26-33e4-499b...";
CategoryID = 17054869;
TypeID = 97311;
AttributeID = 85;
Value = "Sunshine";
Result = OPI_Ozon.SearchAttributeValue(ClientID
, APIKey
, CategoryID
, TypeID
, AttributeID
, Value);

View File

@ -0,0 +1,4 @@
{
"IDКлиента": "2128753",
"КлючAPI": "7cc90d26-33e4-499b..."
}

View File

@ -0,0 +1,4 @@
{
"IDКлиента": "2128753",
"КлючAPI": "7cc90d26-33e4-499b..."
}

View File

@ -0,0 +1,13 @@
 IDКлиента = "2128753";
КлючAPI = "7cc90d26-33e4-499b...";
IDКатегории = 17054869;
IDТипа = 97311;
IDХарактеристики = 85;
Значение = "Sunshine";
Результат = OPI_Ozon.НайтиЗначенияХарактеристики(IDКлиента
, КлючAPI
, IDКатегории
, IDТипа
, IDХарактеристики
, Значение);

View File

@ -0,0 +1,7 @@
 IDКлиента = "2128753";
КлючAPI = "7cc90d26-33e4-499b...";
IDКатегории = 17054869;
IDТипа = 97311;
IDХарактеристики = 85;
Результат = OPI_Ozon.ПолучитьЗначенияХарактеристики(IDКлиента, КлючAPI, IDКатегории, IDТипа, IDХарактеристики);

File diff suppressed because it is too large Load Diff

View File

@ -111,6 +111,93 @@ Function GetCategoryAttributes(Val ClientID
EndFunction
// Get attribute values
// Gets the list of available values of the attribute
//
// Note
// You can find out if there is a nested catalog by the GetCharacteristicsCategories method()
// Method at API documentation: [post /v1/description-category/attribute/values](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_GetAttributeValues)
//
// Parameters:
// ClientID - String - Client identifier - clientid
// APIKey - String - API key - apikey
// CategoryID - String, Number - Category identifier - categoryid
// TypeID - String, Number - Item type identifier - typeid
// AttributeID - String, Number - Attribute IDs for obtaining values - attributeid
// CatalogID - String, Number - ID of the first catalog in the response - start
// Lang - String - Response language: DEFAULT (Russian), RU, EN, TR (Turkish), ZH_HANS (Chinese)) - lang
//
// Returns:
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
Function GetAttributeValues(Val ClientID
, Val APIKey
, Val CategoryID
, Val TypeID
, Val AttributeID
, Val CatalogID = 1
, Val Lang = "DEFAULT") Export
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values";
Headers = CreateRequestHeaders(ClientID, APIKey);
Limit = 200;
Parameters = New Structure;
OPI_Tools.AddField("description_category_id", CategoryID , "String", Parameters);
OPI_Tools.AddField("type_id" , TypeID , "String", Parameters);
OPI_Tools.AddField("attribute_id" , AttributeID , "String", Parameters);
OPI_Tools.AddField("language" , Lang , "String", Parameters);
OPI_Tools.AddField("limit" , Limit , "String", Parameters);
OPI_Tools.AddField("last_value_id" , CatalogID - 1, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters, Headers);
Return Response;
EndFunction
// Search attribute value
// Gets the reference values of the attribute by the specified value
//
// Note
// You can find out if there is a nested catalog by the GetCharacteristicsCategories method()
// Method at API documentation: [post /v1/description-category/attribute/values/search](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_SearchAttributeValues)
//
// Parameters:
// ClientID - String - Client identifier - clientid
// APIKey - String - API key - apikey
// CategoryID - String, Number - Category identifier - categoryid
// TypeID - String, Number - Item type identifier - typeid
// AttributeID - String, Number - Attribute IDs for obtaining values - attributeid
// Value - String - Search value - value
//
// Returns:
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
Function SearchAttributeValue(Val ClientID
, Val APIKey
, Val CategoryID
, Val TypeID
, Val AttributeID
, Val Value) Export
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values/search";
Headers = CreateRequestHeaders(ClientID, APIKey);
Limit = 100;
Parameters = New Structure;
OPI_Tools.AddField("description_category_id", CategoryID , "String", Parameters);
OPI_Tools.AddField("type_id" , TypeID , "String", Parameters);
OPI_Tools.AddField("attribute_id" , AttributeID , "String", Parameters);
OPI_Tools.AddField("limit" , Limit , "String", Parameters);
OPI_Tools.AddField("value" , Value , "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters, Headers);
Return Response;
EndFunction
#EndRegion
#EndRegion

View File

@ -3211,6 +3211,8 @@ Procedure OzonAPI_AttributesAndFeatures() Export
Ozon_GetCategoriesAndProductTypesTree(TestParameters);
Ozon_GetCategoryAttributes(TestParameters);
Ozon_GetAttributeValues(TestParameters);
Ozon_SearchAttributeValue(TestParameters);
EndProcedure
@ -4024,6 +4026,14 @@ Procedure Check_OzonAttributesList(Val Result)
EndProcedure
Procedure Check_OzonListOfAttributesValues(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Array");
OPI_TestDataRetrieval.ExpectsThat(Result["result"][0]["value"]).Заполнено();
OPI_TestDataRetrieval.ExpectsThat(Result["result"][0]["id"]).Заполнено();
EndProcedure
#EndRegion
#Region AtomicTests
@ -11264,6 +11274,48 @@ Procedure Ozon_GetCategoryAttributes(FunctionParameters)
EndProcedure
Procedure Ozon_GetAttributeValues(FunctionParameters)
ClientID = FunctionParameters["Ozon_ClientID"];
APIKey = FunctionParameters["Ozon_ApiKey"];
CategoryID = 17054869;
TypeID = 97311;
AttributeID = 85;
Result = OPI_Ozon.GetAttributeValues(ClientID, APIKey, CategoryID, TypeID, AttributeID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetAttributeValues", "Ozon");
Check_OzonListOfAttributesValues(Result);
EndProcedure
Procedure Ozon_SearchAttributeValue(FunctionParameters)
ClientID = FunctionParameters["Ozon_ClientID"];
APIKey = FunctionParameters["Ozon_ApiKey"];
CategoryID = 17054869;
TypeID = 97311;
AttributeID = 85;
Value = "Sunshine";
Result = OPI_Ozon.SearchAttributeValue(ClientID
, APIKey
, CategoryID
, TypeID
, AttributeID
, Value);
// END
OPI_TestDataRetrieval.WriteLog(Result, "SearchAttributeValue", "Ozon");
Check_OzonListOfAttributesValues(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -111,6 +111,93 @@ Function GetCategoryAttributes(Val ClientID
EndFunction
// Get attribute values
// Gets the list of available values of the attribute
//
// Note
// You can find out if there is a nested catalog by the GetCharacteristicsCategories method()
// Method at API documentation: [post /v1/description-category/attribute/values](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_GetAttributeValues)
//
// Parameters:
// ClientID - String - Client identifier - clientid
// APIKey - String - API key - apikey
// CategoryID - String, Number - Category identifier - categoryid
// TypeID - String, Number - Item type identifier - typeid
// AttributeID - String, Number - Attribute IDs for obtaining values - attributeid
// CatalogID - String, Number - ID of the first catalog in the response - start
// Lang - String - Response language: DEFAULT (Russian), RU, EN, TR (Turkish), ZH_HANS (Chinese)) - lang
//
// Returns:
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
Function GetAttributeValues(Val ClientID
, Val APIKey
, Val CategoryID
, Val TypeID
, Val AttributeID
, Val CatalogID = 1
, Val Lang = "DEFAULT") Export
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values";
Headers = CreateRequestHeaders(ClientID, APIKey);
Limit = 200;
Parameters = New Structure;
OPI_Tools.AddField("description_category_id", CategoryID , "String", Parameters);
OPI_Tools.AddField("type_id" , TypeID , "String", Parameters);
OPI_Tools.AddField("attribute_id" , AttributeID , "String", Parameters);
OPI_Tools.AddField("language" , Lang , "String", Parameters);
OPI_Tools.AddField("limit" , Limit , "String", Parameters);
OPI_Tools.AddField("last_value_id" , CatalogID - 1, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters, Headers);
Return Response;
EndFunction
// Search attribute value
// Gets the reference values of the attribute by the specified value
//
// Note
// You can find out if there is a nested catalog by the GetCharacteristicsCategories method()
// Method at API documentation: [post /v1/description-category/attribute/values/search](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_SearchAttributeValues)
//
// Parameters:
// ClientID - String - Client identifier - clientid
// APIKey - String - API key - apikey
// CategoryID - String, Number - Category identifier - categoryid
// TypeID - String, Number - Item type identifier - typeid
// AttributeID - String, Number - Attribute IDs for obtaining values - attributeid
// Value - String - Search value - value
//
// Returns:
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
Function SearchAttributeValue(Val ClientID
, Val APIKey
, Val CategoryID
, Val TypeID
, Val AttributeID
, Val Value) Export
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values/search";
Headers = CreateRequestHeaders(ClientID, APIKey);
Limit = 100;
Parameters = New Structure;
OPI_Tools.AddField("description_category_id", CategoryID , "String", Parameters);
OPI_Tools.AddField("type_id" , TypeID , "String", Parameters);
OPI_Tools.AddField("attribute_id" , AttributeID , "String", Parameters);
OPI_Tools.AddField("limit" , Limit , "String", Parameters);
OPI_Tools.AddField("value" , Value , "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters, Headers);
Return Response;
EndFunction
#EndRegion
#EndRegion

View File

@ -3211,6 +3211,8 @@ Procedure OzonAPI_AttributesAndFeatures() Export
Ozon_GetCategoriesAndProductTypesTree(TestParameters);
Ozon_GetCategoryAttributes(TestParameters);
Ozon_GetAttributeValues(TestParameters);
Ozon_SearchAttributeValue(TestParameters);
EndProcedure
@ -4024,6 +4026,14 @@ Procedure Check_OzonAttributesList(Val Result)
EndProcedure
Procedure Check_OzonListOfAttributesValues(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Array");
OPI_TestDataRetrieval.ExpectsThat(Result["result"][0]["value"]).Заполнено();
OPI_TestDataRetrieval.ExpectsThat(Result["result"][0]["id"]).Заполнено();
EndProcedure
#EndRegion
#Region AtomicTests
@ -11264,6 +11274,48 @@ Procedure Ozon_GetCategoryAttributes(FunctionParameters)
EndProcedure
Procedure Ozon_GetAttributeValues(FunctionParameters)
ClientID = FunctionParameters["Ozon_ClientID"];
APIKey = FunctionParameters["Ozon_ApiKey"];
CategoryID = 17054869;
TypeID = 97311;
AttributeID = 85;
Result = OPI_Ozon.GetAttributeValues(ClientID, APIKey, CategoryID, TypeID, AttributeID);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetAttributeValues", "Ozon");
Check_OzonListOfAttributesValues(Result);
EndProcedure
Procedure Ozon_SearchAttributeValue(FunctionParameters)
ClientID = FunctionParameters["Ozon_ClientID"];
APIKey = FunctionParameters["Ozon_ApiKey"];
CategoryID = 17054869;
TypeID = 97311;
AttributeID = 85;
Value = "Sunshine";
Result = OPI_Ozon.SearchAttributeValue(ClientID
, APIKey
, CategoryID
, TypeID
, AttributeID
, Value);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "SearchAttributeValue", "Ozon");
Check_OzonListOfAttributesValues(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -91,6 +91,138 @@
NewLine.Описание = "Response language: DEFAULT (Russian), RU, EN, TR (Turkish), ZH_HANS (Chinese)) (optional, def. val. - DEFAULT)";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--clientid";
NewLine.Описание = "Client identifier";
NewLine.Область = "Attributes and features";
NewLine.ОписаниеМетода = "Gets the list of available values of the attribute";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--apikey";
NewLine.Описание = "API key";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--categoryid";
NewLine.Описание = "Category identifier";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--typeid";
NewLine.Описание = "Item type identifier";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--attributeid";
NewLine.Описание = "Attribute IDs for obtaining values";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--start";
NewLine.Описание = "ID of the first catalog in the response (optional, def. val. - 1)";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "GetAttributeValues";
NewLine.МетодПоиска = "GETATTRIBUTEVALUES";
NewLine.Параметр = "--lang";
NewLine.Описание = "Response language: DEFAULT (Russian), RU, EN, TR (Turkish), ZH_HANS (Chinese)) (optional, def. val. - DEFAULT)";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "SearchAttributeValue";
NewLine.МетодПоиска = "SEARCHATTRIBUTEVALUE";
NewLine.Параметр = "--clientid";
NewLine.Описание = "Client identifier";
NewLine.Область = "Attributes and features";
NewLine.ОписаниеМетода = "Gets the reference values of the attribute by the specified value";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "SearchAttributeValue";
NewLine.МетодПоиска = "SEARCHATTRIBUTEVALUE";
NewLine.Параметр = "--apikey";
NewLine.Описание = "API key";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "SearchAttributeValue";
NewLine.МетодПоиска = "SEARCHATTRIBUTEVALUE";
NewLine.Параметр = "--categoryid";
NewLine.Описание = "Category identifier";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "SearchAttributeValue";
NewLine.МетодПоиска = "SEARCHATTRIBUTEVALUE";
NewLine.Параметр = "--typeid";
NewLine.Описание = "Item type identifier";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "SearchAttributeValue";
NewLine.МетодПоиска = "SEARCHATTRIBUTEVALUE";
NewLine.Параметр = "--attributeid";
NewLine.Описание = "Attribute IDs for obtaining values";
NewLine.Область = "Attributes and features";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "ozon";
NewLine.Модуль = "OPI_Ozon";
NewLine.Метод = "SearchAttributeValue";
NewLine.МетодПоиска = "SEARCHATTRIBUTEVALUE";
NewLine.Параметр = "--value";
NewLine.Описание = "Search value";
NewLine.Область = "Attributes and features";
Return CompositionTable;
EndFunction

View File

@ -111,6 +111,93 @@
КонецФункции
// Получить значения характеристики
// Получает список доступных значений характеристики
//
// Примечание:
// Узнать, есть ли вложенный справочник, можно через метод ПолучитьХарактеристикиКатегории()
// Метод в документации API: [post /v1/description-category/attribute/values](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_GetAttributeValues)
//
// Параметры:
// IDКлиента - Строка - Идентификатор клиента - clientid
// КлючAPI - Строка - API ключ - apikey
// IDКатегории - Строка, Число - Идентификатор категории - categoryid
// IDТипа - Строка, Число - Идентификатор типа товара - typeid
// IDХарактеристики - Строка, Число - ID характеристики для получения значений - attributeid
// IDСправочника - Строка, Число - ID первого справочника в ответе - start
// Язык - Строка - Язык ответа: DEFAULT (русский), RU, EN, TR (турецкий), ZH_HANS (китайский) - lang
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьЗначенияХарактеристики(Знач IDКлиента
, Знач КлючAPI
, Знач IDКатегории
, Знач IDТипа
, Знач IDХарактеристики
, Знач IDСправочника = 1
, Знач Язык = "DEFAULT") Экспорт
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 200;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("last_value_id" , IDСправочника - 1, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Найти значения характеристики
// Получает справочные значения характеристики по заданному значению в запросе
//
// Примечание:
// Узнать, есть ли вложенный справочник, можно через метод ПолучитьХарактеристикиКатегории()
// Метод в документации API: [post /v1/description-category/attribute/values/search](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_SearchAttributeValues)
//
// Параметры:
// IDКлиента - Строка - Идентификатор клиента - clientid
// КлючAPI - Строка - API ключ - apikey
// IDКатегории - Строка, Число - Идентификатор категории - categoryid
// IDТипа - Строка, Число - Идентификатор типа товара - typeid
// IDХарактеристики - Строка, Число - ID характеристики для получения значений - attributeid
// Значение - Строка - Значение для поиска - value
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция НайтиЗначенияХарактеристики(Знач IDКлиента
, Знач КлючAPI
, Знач IDКатегории
, Знач IDТипа
, Знач IDХарактеристики
, Знач Значение) Экспорт
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values/search";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("value" , Значение , "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -3211,6 +3211,8 @@
Ozon_ПолучитьДеревоКатегорийИТиповТоваров(ПараметрыТеста);
Ozon_ПолучитьХарактеристикиКатегории(ПараметрыТеста);
Ozon_ПолучитьЗначенияХарактеристики(ПараметрыТеста);
Ozon_НайтиЗначенияХарактеристики(ПараметрыТеста);
КонецПроцедуры
@ -4024,6 +4026,14 @@
КонецПроцедуры
Процедура Проверка_ОзонСписокЗначенийХарактеристики(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["value"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["id"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#Область АтомарныеТесты
@ -11264,6 +11274,48 @@
КонецПроцедуры
Процедура Ozon_ПолучитьЗначенияХарактеристики(ПараметрыФункции)
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
IDКатегории = 17054869;
IDТипа = 97311;
IDХарактеристики = 85;
Результат = OPI_Ozon.ПолучитьЗначенияХарактеристики(IDКлиента, КлючAPI, IDКатегории, IDТипа, IDХарактеристики);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияХарактеристики", "Ozon");
Проверка_ОзонСписокЗначенийХарактеристики(Результат);
КонецПроцедуры
Процедура Ozon_НайтиЗначенияХарактеристики(ПараметрыФункции)
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
IDКатегории = 17054869;
IDТипа = 97311;
IDХарактеристики = 85;
Значение = "Sunshine";
Результат = OPI_Ozon.НайтиЗначенияХарактеристики(IDКлиента
, КлючAPI
, IDКатегории
, IDТипа
, IDХарактеристики
, Значение);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиЗначенияХарактеристики", "Ozon");
Проверка_ОзонСписокЗначенийХарактеристики(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -111,6 +111,93 @@
КонецФункции
// Получить значения характеристики
// Получает список доступных значений характеристики
//
// Примечание:
// Узнать, есть ли вложенный справочник, можно через метод ПолучитьХарактеристикиКатегории()
// Метод в документации API: [post /v1/description-category/attribute/values](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_GetAttributeValues)
//
// Параметры:
// IDКлиента - Строка - Идентификатор клиента - clientid
// КлючAPI - Строка - API ключ - apikey
// IDКатегории - Строка, Число - Идентификатор категории - categoryid
// IDТипа - Строка, Число - Идентификатор типа товара - typeid
// IDХарактеристики - Строка, Число - ID характеристики для получения значений - attributeid
// IDСправочника - Строка, Число - ID первого справочника в ответе - start
// Язык - Строка - Язык ответа: DEFAULT (русский), RU, EN, TR (турецкий), ZH_HANS (китайский) - lang
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьЗначенияХарактеристики(Знач IDКлиента
, Знач КлючAPI
, Знач IDКатегории
, Знач IDТипа
, Знач IDХарактеристики
, Знач IDСправочника = 1
, Знач Язык = "DEFAULT") Экспорт
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 200;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("last_value_id" , IDСправочника - 1, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Найти значения характеристики
// Получает справочные значения характеристики по заданному значению в запросе
//
// Примечание:
// Узнать, есть ли вложенный справочник, можно через метод ПолучитьХарактеристикиКатегории()
// Метод в документации API: [post /v1/description-category/attribute/values/search](@docs.ozon.ru/api/seller/#operation/DescriptionCategoryAPI_SearchAttributeValues)
//
// Параметры:
// IDКлиента - Строка - Идентификатор клиента - clientid
// КлючAPI - Строка - API ключ - apikey
// IDКатегории - Строка, Число - Идентификатор категории - categoryid
// IDТипа - Строка, Число - Идентификатор типа товара - typeid
// IDХарактеристики - Строка, Число - ID характеристики для получения значений - attributeid
// Значение - Строка - Значение для поиска - value
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция НайтиЗначенияХарактеристики(Знач IDКлиента
, Знач КлючAPI
, Знач IDКатегории
, Знач IDТипа
, Знач IDХарактеристики
, Знач Значение) Экспорт
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values/search";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("value" , Значение , "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -3211,6 +3211,8 @@
Ozon_ПолучитьДеревоКатегорийИТиповТоваров(ПараметрыТеста);
Ozon_ПолучитьХарактеристикиКатегории(ПараметрыТеста);
Ozon_ПолучитьЗначенияХарактеристики(ПараметрыТеста);
Ozon_НайтиЗначенияХарактеристики(ПараметрыТеста);
КонецПроцедуры
@ -4024,6 +4026,14 @@
КонецПроцедуры
Процедура Проверка_ОзонСписокЗначенийХарактеристики(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["value"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"][0]["id"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#Область АтомарныеТесты
@ -11264,6 +11274,48 @@
КонецПроцедуры
Процедура Ozon_ПолучитьЗначенияХарактеристики(ПараметрыФункции)
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
IDКатегории = 17054869;
IDТипа = 97311;
IDХарактеристики = 85;
Результат = OPI_Ozon.ПолучитьЗначенияХарактеристики(IDКлиента, КлючAPI, IDКатегории, IDТипа, IDХарактеристики);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияХарактеристики", "Ozon");
Проверка_ОзонСписокЗначенийХарактеристики(Результат);
КонецПроцедуры
Процедура Ozon_НайтиЗначенияХарактеристики(ПараметрыФункции)
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
IDКатегории = 17054869;
IDТипа = 97311;
IDХарактеристики = 85;
Значение = "Sunshine";
Результат = OPI_Ozon.НайтиЗначенияХарактеристики(IDКлиента
, КлючAPI
, IDКатегории
, IDТипа
, IDХарактеристики
, Значение);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиЗначенияХарактеристики", "Ozon");
Проверка_ОзонСписокЗначенийХарактеристики(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -91,6 +91,138 @@
НоваяСтрока.Описание = "Язык ответа: DEFAULT (русский), RU, EN, TR (турецкий), ZH_HANS (китайский) (необяз. по ум. - DEFAULT)";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--clientid";
НоваяСтрока.Описание = "Идентификатор клиента";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока.ОписаниеМетода = "Получает список доступных значений характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--apikey";
НоваяСтрока.Описание = "API ключ";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--categoryid";
НоваяСтрока.Описание = "Идентификатор категории";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--typeid";
НоваяСтрока.Описание = "Идентификатор типа товара";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--attributeid";
НоваяСтрока.Описание = "ID характеристики для получения значений";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--start";
НоваяСтрока.Описание = "ID первого справочника в ответе (необяз. по ум. - 1)";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "ПолучитьЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--lang";
НоваяСтрока.Описание = "Язык ответа: DEFAULT (русский), RU, EN, TR (турецкий), ZH_HANS (китайский) (необяз. по ум. - DEFAULT)";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "НайтиЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "НАЙТИЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--clientid";
НоваяСтрока.Описание = "Идентификатор клиента";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока.ОписаниеМетода = "Получает справочные значения характеристики по заданному значению в запросе";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "НайтиЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "НАЙТИЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--apikey";
НоваяСтрока.Описание = "API ключ";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "НайтиЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "НАЙТИЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--categoryid";
НоваяСтрока.Описание = "Идентификатор категории";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "НайтиЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "НАЙТИЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--typeid";
НоваяСтрока.Описание = "Идентификатор типа товара";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "НайтиЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "НАЙТИЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--attributeid";
НоваяСтрока.Описание = "ID характеристики для получения значений";
НоваяСтрока.Область = "Атрибуты и характеристики";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ozon";
НоваяСтрока.Модуль = "OPI_Ozon";
НоваяСтрока.Метод = "НайтиЗначенияХарактеристики";
НоваяСтрока.МетодПоиска = "НАЙТИЗНАЧЕНИЯХАРАКТЕРИСТИКИ";
НоваяСтрока.Параметр = "--value";
НоваяСтрока.Описание = "Значение для поиска";
НоваяСтрока.Область = "Атрибуты и характеристики";
Возврат ТаблицаСостава;
КонецФункции