mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-17 21:08:03 +02:00
OZON: Создание по ID и обновление характеристик
This commit is contained in:
parent
29b05100ab
commit
790a753ff5
1
docs/en/cli/Ozon/CreateProductByOzonID.txt
Normal file
1
docs/en/cli/Ozon/CreateProductByOzonID.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon CreateProductByOzonID --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
1
docs/en/cli/Ozon/GetAttributesUpdateStructure.txt
Normal file
1
docs/en/cli/Ozon/GetAttributesUpdateStructure.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon GetAttributesUpdateStructure --empty %empty%
|
1
docs/en/cli/Ozon/GetSimplifiedProductStructure.txt
Normal file
1
docs/en/cli/Ozon/GetSimplifiedProductStructure.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon GetSimplifiedProductStructure --empty %empty%
|
1
docs/en/cli/Ozon/UpdateProductsAttributes.txt
Normal file
1
docs/en/cli/Ozon/UpdateProductsAttributes.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon UpdateProductsAttributes --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
4
docs/en/data/Ozon/CreateProductByOzonID.json
Normal file
4
docs/en/data/Ozon/CreateProductByOzonID.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"ClientID": "2128753",
|
||||
"APIKey": "7cc90d26-33e4-499b..."
|
||||
}
|
4
docs/en/data/Ozon/UpdateProductsAttributes.json
Normal file
4
docs/en/data/Ozon/UpdateProductsAttributes.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"ClientID": "2128753",
|
||||
"APIKey": "7cc90d26-33e4-499b..."
|
||||
}
|
13
docs/en/examples/Ozon/CreateProductByOzonID.txt
Normal file
13
docs/en/examples/Ozon/CreateProductByOzonID.txt
Normal file
@ -0,0 +1,13 @@
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("currency_code", "RUB");
|
||||
|
||||
Result = OPI_Ozon.CreateProductByOzonID(ClientID, APIKey, ItemStructure);
|
1
docs/en/examples/Ozon/GetAttributesUpdateStructure.txt
Normal file
1
docs/en/examples/Ozon/GetAttributesUpdateStructure.txt
Normal file
@ -0,0 +1 @@
|
||||
Result = OPI_Ozon.GetAttributesUpdateStructure();
|
@ -1,5 +1,5 @@
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
TaskID = "1282012944";
|
||||
TaskID = "1284925477";
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
1
docs/en/examples/Ozon/GetSimplifiedProductStructure.txt
Normal file
1
docs/en/examples/Ozon/GetSimplifiedProductStructure.txt
Normal file
@ -0,0 +1 @@
|
||||
Result = OPI_Ozon.GetSimplifiedProductStructure();
|
14
docs/en/examples/Ozon/UpdateProductsAttributes.txt
Normal file
14
docs/en/examples/Ozon/UpdateProductsAttributes.txt
Normal file
@ -0,0 +1,14 @@
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
|
||||
AttributesStructure = New Structure("offer_id", "143210608");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "red");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 10096, 0, CategoryAttribute3);
|
||||
|
||||
Result = OPI_Ozon.UpdateProductsAttributes(ClientID, APIKey, AttributesStructure);
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
# Add product video cover
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
# Add product video
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
# Complete the complex attribute
|
||||
|
@ -0,0 +1,59 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Create products by Ozon ID
|
||||
Creates a product by specified Ozon ID
|
||||
|
||||
|
||||
|
||||
`Function CreateProductByOzonID(Val ClientID, Val APIKey, Val ProductsArray) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Description |
|
||||
|-|-|-|-|
|
||||
| ClientID | --clientid | String | Client identifier |
|
||||
| APIKey | --apikey | String | API key |
|
||||
| ProductsArray | --items | Array Of String | Array or one simplified structure of product fields |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
You can get an empty structure using the GetSimplifiedProductStructure method()
|
||||
|
||||
It is not possible to update a product fields by Ozon ID
|
||||
|
||||
Method at API documentation: [post /v1/product/import-by-sku](https://docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsBySKU)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Code example"
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("currency_code", "RUB");
|
||||
|
||||
Result = OPI_Ozon.CreateProductByOzonID(ClientID, APIKey, ItemStructure);
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint ozon CreateProductByOzonID --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
# Get attributes update structure
|
||||
Gets the structure for updating product characteristics in the UpdateProductsAttributes function()
|
||||
|
||||
|
||||
|
||||
`Function GetAttributesUpdateStructure(Val Clear = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Description |
|
||||
|-|-|-|-|
|
||||
| Clear | --empty | Boolean | True > structure with empty valuse, False > field descriptions at values |
|
||||
|
||||
|
||||
Returns: Structure of KeyAndValue - Product fields structure
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
<Attributes> are structures with complex_id, id and values fields. For their quick creation there is the CompleteComplexAttribute method()
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Code example"
|
||||
Result = OPI_Ozon.GetAttributesUpdateStructure();
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint ozon GetAttributesUpdateStructure --empty %empty%
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Get product creation status
|
||||
@ -29,7 +29,7 @@ Method at API documentation: [post /v1/product/import/info](https://docs.ozon.ru
|
||||
```bsl title="Code example"
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
TaskID = "1282012944";
|
||||
TaskID = "1284925477";
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Get product structure
|
||||
|
@ -0,0 +1,38 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# Get simplified product structure
|
||||
Gets the structure for creating a product based on Ozon ID in the CreateProductByOzonID function()
|
||||
|
||||
|
||||
|
||||
`Function GetSimplifiedProductStructure(Val Clear = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Description |
|
||||
|-|-|-|-|
|
||||
| Clear | --empty | Boolean | True > structure with empty valuse, False > field descriptions at values |
|
||||
|
||||
|
||||
Returns: Structure of KeyAndValue - Product fields structure
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Code example"
|
||||
Result = OPI_Ozon.GetSimplifiedProductStructure();
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint ozon GetSimplifiedProductStructure --empty %empty%
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,58 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Update products attributes
|
||||
Updates the attributes of the selected items
|
||||
|
||||
|
||||
|
||||
`Function UpdateProductsAttributes(Val ClientID, Val APIKey, Val AttributesArray) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Description |
|
||||
|-|-|-|-|
|
||||
| ClientID | --clientid | String | Client identifier |
|
||||
| APIKey | --apikey | String | API key |
|
||||
| AttributesArray | --items | Array Of String | Array or one structure of product attribute fields |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
You can get an empty structure using the GetAttributesUpdateStructure method()
|
||||
|
||||
Method at API documentation: [post /v1/product/attributes/update](https://docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUpdateAttributes)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Code example"
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
|
||||
AttributesStructure = New Structure("offer_id", "143210608");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "red");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 10096, 0, CategoryAttribute3);
|
||||
|
||||
Result = OPI_Ozon.UpdateProductsAttributes(ClientID, APIKey, AttributesStructure);
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
oint ozon UpdateProductsAttributes --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
1
docs/ru/cli/Ozon/ОбновитьХарактеристикиТоваров.txt
Normal file
1
docs/ru/cli/Ozon/ОбновитьХарактеристикиТоваров.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon ОбновитьХарактеристикиТоваров --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
1
docs/ru/cli/Ozon/ПолучитьСокращеннуюСтруктуруТовара.txt
Normal file
1
docs/ru/cli/Ozon/ПолучитьСокращеннуюСтруктуруТовара.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon ПолучитьСокращеннуюСтруктуруТовара --empty %empty%
|
@ -0,0 +1 @@
|
||||
oint ozon ПолучитьСтруктуруОбновленияХарактеристик --empty %empty%
|
1
docs/ru/cli/Ozon/СоздатьТоварыПоOzonID.txt
Normal file
1
docs/ru/cli/Ozon/СоздатьТоварыПоOzonID.txt
Normal file
@ -0,0 +1 @@
|
||||
oint ozon СоздатьТоварыПоOzonID --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
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..."
|
||||
}
|
4
docs/ru/data/Ozon/СоздатьТоварыПоOzonID.json
Normal file
4
docs/ru/data/Ozon/СоздатьТоварыПоOzonID.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"IDКлиента": "2128753",
|
||||
"КлючAPI": "7cc90d26-33e4-499b..."
|
||||
}
|
14
docs/ru/examples/Ozon/ОбновитьХарактеристикиТоваров.txt
Normal file
14
docs/ru/examples/Ozon/ОбновитьХарактеристикиТоваров.txt
Normal file
@ -0,0 +1,14 @@
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
|
||||
СтруктураХаракетристик = Новый Структура("offer_id", "143210608");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "красный");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 10096, 0, АтрибутКатегории3);
|
||||
|
||||
Результат = OPI_Ozon.ОбновитьХарактеристикиТоваров(IDКлиента, КлючAPI, СтруктураХаракетристик);
|
@ -0,0 +1 @@
|
||||
Результат = OPI_Ozon.ПолучитьСокращеннуюСтруктуруТовара();
|
@ -1,5 +1,5 @@
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
IDЗадачи = "1282012944";
|
||||
IDЗадачи = "1284925477";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
@ -0,0 +1 @@
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруОбновленияХарактеристик();
|
13
docs/ru/examples/Ozon/СоздатьТоварыПоOzonID.txt
Normal file
13
docs/ru/examples/Ozon/СоздатьТоварыПоOzonID.txt
Normal file
@ -0,0 +1,13 @@
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("currency_code", "RUB");
|
||||
|
||||
Результат = OPI_Ozon.СоздатьТоварыПоOzonID(IDКлиента, КлючAPI, СтруктураТовара);
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
# Добавить видеообложку товара
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
# Добавить видео товара
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
# Дополнить комплексный атрибут
|
||||
|
@ -0,0 +1,59 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Создать товары по Ozon ID
|
||||
Создаёт товар по указанному Ozon ID
|
||||
|
||||
|
||||
|
||||
`Функция СоздатьТоварыПоOzonID(Знач IDКлиента, Знач КлючAPI, Знач МассивТоваров) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Назначение |
|
||||
|-|-|-|-|
|
||||
| IDКлиента | --clientid | Строка | Идентификатор клиента |
|
||||
| КлючAPI | --apikey | Строка | API ключ |
|
||||
| МассивТоваров | --items | Массив Из Строка | Массив или одна сокращенная структура полей описания товара |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Получить пустую структуру можно при помощи метода ПолучитьСокращеннуюСтруктуруТовара()
|
||||
|
||||
Обновить товар по Ozon ID нельзя
|
||||
|
||||
Метод в документации API: [post /v1/product/import-by-sku](https://docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsBySKU)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример кода"
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("currency_code", "RUB");
|
||||
|
||||
Результат = OPI_Ozon.СоздатьТоварыПоOzonID(IDКлиента, КлючAPI, СтруктураТовара);
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint ozon СоздатьТоварыПоOzonID --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
# Получить структуру обновления характеристик
|
||||
Получает структуру для обновления характеристик товара в функции ОбновитьХарактеристикиТоваров()
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСтруктуруОбновленияХарактеристик(Знач Пустая = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Назначение |
|
||||
|-|-|-|-|
|
||||
| Пустая | --empty | Булево | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей товара
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Характеристики представляют из себя структуры с полями complex_id, id и массивом values. Для их быстрого создания есть метод ДополнитьКомплексныйАтрибут()
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример кода"
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруОбновленияХарактеристик();
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint ozon ПолучитьСтруктуруОбновленияХарактеристик --empty %empty%
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Получить статус добавления товара
|
||||
@ -29,7 +29,7 @@ sidebar_position: 2
|
||||
```bsl title="Пример кода"
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
IDЗадачи = "1282012944";
|
||||
IDЗадачи = "1284925477";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
```
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Получить структуру товара
|
||||
|
@ -0,0 +1,38 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# Получить сокращенную структуру товара
|
||||
Получает структуру для создания товара на основе Ozon ID в функции СоздатьТоварыПоOzonID()
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСокращеннуюСтруктуруТовара(Знач Пустая = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Назначение |
|
||||
|-|-|-|-|
|
||||
| Пустая | --empty | Булево | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей товара
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример кода"
|
||||
Результат = OPI_Ozon.ПолучитьСокращеннуюСтруктуруТовара();
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint ozon ПолучитьСокращеннуюСтруктуруТовара --empty %empty%
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,58 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Обновить характеристики товаров
|
||||
Обновляет характеристики выбранных товаров
|
||||
|
||||
|
||||
|
||||
`Функция ОбновитьХарактеристикиТоваров(Знач IDКлиента, Знач КлючAPI, Знач МассивХарактеристик) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Назначение |
|
||||
|-|-|-|-|
|
||||
| IDКлиента | --clientid | Строка | Идентификатор клиента |
|
||||
| КлючAPI | --apikey | Строка | API ключ |
|
||||
| МассивХарактеристик | --items | Массив Из Строка | Массив или одна структура полей атрибутов товара |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Получить пустую структуру можно при помощи метода ПолучитьСтруктуруОбновленияХарактеристик()
|
||||
|
||||
Метод в документации API: [post /v1/product/attributes/update](https://docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUpdateAttributes)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример кода"
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
|
||||
СтруктураХаракетристик = Новый Структура("offer_id", "143210608");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "красный");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 10096, 0, АтрибутКатегории3);
|
||||
|
||||
Результат = OPI_Ozon.ОбновитьХарактеристикиТоваров(IDКлиента, КлючAPI, СтруктураХаракетристик);
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
oint ozon ОбновитьХарактеристикиТоваров --clientid "2128753" --apikey "7cc90d26-33e4-499b..." --items %items%
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
File diff suppressed because it is too large
Load Diff
@ -220,12 +220,56 @@ Function CreateUpdateProducts(Val ClientID, Val APIKey, Val ProductsArray) Expor
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
Response = SendObjectsDescription(ClientID, APIKey, ProductsArray, URL);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("items", ProductsArray, "Array", Parameters);
|
||||
Return Response;
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
EndFunction
|
||||
|
||||
// Create products by Ozon ID
|
||||
// Creates a product by specified Ozon ID
|
||||
//
|
||||
// Note
|
||||
// You can get an empty structure using the GetSimplifiedProductStructure method()
|
||||
// It is not possible to update a product fields by Ozon ID
|
||||
// Method at API documentation: [post /v1/product/import-by-sku](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsBySKU)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// ProductsArray - Array Of String - Array or one simplified structure of product fields - items
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function CreateProductByOzonID(Val ClientID, Val APIKey, Val ProductsArray) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import-by-sku";
|
||||
|
||||
Response = SendObjectsDescription(ClientID, APIKey, ProductsArray, URL);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Update products attributes
|
||||
// Updates the attributes of the selected items
|
||||
//
|
||||
// Note
|
||||
// You can get an empty structure using the GetAttributesUpdateStructure method()
|
||||
// Method at API documentation: [post /v1/product/attributes/update](@docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUpdateAttributes)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// AttributesArray - Array Of String - Array or one structure of product attribute fields - items
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function UpdateProductsAttributes(Val ClientID, Val APIKey, Val AttributesArray) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/attributes/update";
|
||||
|
||||
Response = SendObjectsDescription(ClientID, APIKey, AttributesArray, URL);
|
||||
|
||||
Return Response;
|
||||
|
||||
@ -304,6 +348,70 @@ Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get simplified product structure
|
||||
// Gets the structure for creating a product based on Ozon ID in the CreateProductByOzonID function()
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetSimplifiedProductStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("name" , "<name>");
|
||||
ItemStructure.Insert("sku" , "<product identifier in the Ozon system>");
|
||||
ItemStructure.Insert("offer_id" , "<offer>");
|
||||
ItemStructure.Insert("price" , "<price>");
|
||||
ItemStructure.Insert("old_price" , "<old price>");
|
||||
ItemStructure.Insert("vat" , "<VAT rate, e.g. 0.2>");
|
||||
ItemStructure.Insert("currency_code", "<currency>");
|
||||
|
||||
If Clear Then
|
||||
For Each Field In ItemStructure Do
|
||||
Field.Value = "";
|
||||
EndDo;
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get attributes update structure
|
||||
// Gets the structure for updating product characteristics in the UpdateProductsAttributes function()
|
||||
//
|
||||
// Note
|
||||
// <Attributes> are structures with complex_id, id and values fields. For their quick creation there is the CompleteComplexAttribute method()
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetAttributesUpdateStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("offer_id" , "<offer>");
|
||||
ItemStructure.Insert("attributes", "<array of updated of attributes>");
|
||||
|
||||
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
|
||||
//
|
||||
@ -422,6 +530,17 @@ Function CreateRequestHeaders(Val ClientID, Val APIKey)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function SendObjectsDescription(Val ClientID, Val APIKey, Val ArrayOfObjects, Val URL)
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("items", ArrayOfObjects, "Array", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
@ -3247,6 +3247,10 @@ Procedure OzonAPI_UploadingAndUpdatingProducts() Export
|
||||
Ozon_AddProductVideo(TestParameters);
|
||||
Ozon_AddProductVideoCover(TestParameters);
|
||||
Ozon_CompleteComplexAttribute(TestParameters);
|
||||
Ozon_CreateProductByOzonID(TestParameters);
|
||||
Ozon_GetSimplifiedProductStructure(TestParameters);
|
||||
Ozon_GetAttributesUpdateStructure(TestParameters);
|
||||
Ozon_UpdateProductsAttributes(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -4077,15 +4081,23 @@ Procedure Check_OzonListOfAttributesValues(Val Result)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonUploadTask(Val Result)
|
||||
Procedure Check_OzonUploadTask(Val Result, Val Embedded = True)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["task_id"]).Заполнено();
|
||||
If Embedded Then
|
||||
TaskID = Result["result"]["task_id"];
|
||||
Else
|
||||
TaskID = Result["task_id"];
|
||||
EndIf;
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(TaskID).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonNewProducts(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"]).ИмеетТип("Array");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"][0]["status"]).Равно("imported");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"][0]["errors"].Count()).Равно(0);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -11632,7 +11644,7 @@ Procedure Ozon_CreateUpdateProducts(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductStructure", "Ozon");
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateUpdateProducts", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result);
|
||||
|
||||
@ -11640,7 +11652,7 @@ Procedure Ozon_CreateUpdateProducts(FunctionParameters)
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_TaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_TaskID", TaskID);
|
||||
|
||||
OPI_Tools.Pause(60);
|
||||
OPI_Tools.Pause(120);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -11750,6 +11762,120 @@ Procedure Ozon_GetProductCreationStatus(FunctionParameters)
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus", "Ozon");
|
||||
|
||||
WHile Result["result"]["items"][0]["status"] = "pending" Do
|
||||
|
||||
OPI_Tools.Pause(30);
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
EndDo;
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CreateProductByOzonID(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("currency_code", "RUB");
|
||||
|
||||
Result = OPI_Ozon.CreateProductByOzonID(ClientID, APIKey, ItemStructure);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateProductByOzonID", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result);
|
||||
|
||||
TaskID = Result["result"]["task_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_SkuTaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_SkuTaskID", TaskID);
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
WHile Result["result"]["items"][0]["status"] = "pending" Do
|
||||
|
||||
OPI_Tools.Pause(30);
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus (SKU)", "Ozon");
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetSimplifiedProductStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_Ozon.GetSimplifiedProductStructure();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetSimplifiedProductStructure", "Ozon");
|
||||
|
||||
Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetAttributesUpdateStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_Ozon.GetAttributesUpdateStructure();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetAttributesUpdateStructure", "Ozon");
|
||||
|
||||
Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_UpdateProductsAttributes(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
AttributesStructure = New Structure("offer_id", "143210608");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "red");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 10096, 0, CategoryAttribute3);
|
||||
|
||||
Result = OPI_Ozon.UpdateProductsAttributes(ClientID, APIKey, AttributesStructure);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UpdateProductsAttributes", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result, False);
|
||||
|
||||
TaskID = Result["task_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_AttUpdateTaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_AttUpdateTaskID", TaskID);
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
WHile Result["result"]["items"][0]["status"] = "pending" Do
|
||||
|
||||
OPI_Tools.Pause(30);
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus (att.)", "Ozon");
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
@ -220,12 +220,56 @@ Function CreateUpdateProducts(Val ClientID, Val APIKey, Val ProductsArray) Expor
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
Response = SendObjectsDescription(ClientID, APIKey, ProductsArray, URL);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("items", ProductsArray, "Array", Parameters);
|
||||
Return Response;
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
EndFunction
|
||||
|
||||
// Create products by Ozon ID
|
||||
// Creates a product by specified Ozon ID
|
||||
//
|
||||
// Note
|
||||
// You can get an empty structure using the GetSimplifiedProductStructure method()
|
||||
// It is not possible to update a product fields by Ozon ID
|
||||
// Method at API documentation: [post /v1/product/import-by-sku](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsBySKU)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// ProductsArray - Array Of String - Array or one simplified structure of product fields - items
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function CreateProductByOzonID(Val ClientID, Val APIKey, Val ProductsArray) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import-by-sku";
|
||||
|
||||
Response = SendObjectsDescription(ClientID, APIKey, ProductsArray, URL);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Update products attributes
|
||||
// Updates the attributes of the selected items
|
||||
//
|
||||
// Note
|
||||
// You can get an empty structure using the GetAttributesUpdateStructure method()
|
||||
// Method at API documentation: [post /v1/product/attributes/update](@docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUpdateAttributes)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// AttributesArray - Array Of String - Array or one structure of product attribute fields - items
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function UpdateProductsAttributes(Val ClientID, Val APIKey, Val AttributesArray) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/attributes/update";
|
||||
|
||||
Response = SendObjectsDescription(ClientID, APIKey, AttributesArray, URL);
|
||||
|
||||
Return Response;
|
||||
|
||||
@ -304,6 +348,70 @@ Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get simplified product structure
|
||||
// Gets the structure for creating a product based on Ozon ID in the CreateProductByOzonID function()
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetSimplifiedProductStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("name" , "<name>");
|
||||
ItemStructure.Insert("sku" , "<product identifier in the Ozon system>");
|
||||
ItemStructure.Insert("offer_id" , "<offer>");
|
||||
ItemStructure.Insert("price" , "<price>");
|
||||
ItemStructure.Insert("old_price" , "<old price>");
|
||||
ItemStructure.Insert("vat" , "<VAT rate, e.g. 0.2>");
|
||||
ItemStructure.Insert("currency_code", "<currency>");
|
||||
|
||||
If Clear Then
|
||||
For Each Field In ItemStructure Do
|
||||
Field.Value = "";
|
||||
EndDo;
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get attributes update structure
|
||||
// Gets the structure for updating product characteristics in the UpdateProductsAttributes function()
|
||||
//
|
||||
// Note
|
||||
// <Attributes> are structures with complex_id, id and values fields. For their quick creation there is the CompleteComplexAttribute method()
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetAttributesUpdateStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
|
||||
ItemStructure.Insert("offer_id" , "<offer>");
|
||||
ItemStructure.Insert("attributes", "<array of updated of attributes>");
|
||||
|
||||
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
|
||||
//
|
||||
@ -422,6 +530,17 @@ Function CreateRequestHeaders(Val ClientID, Val APIKey)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function SendObjectsDescription(Val ClientID, Val APIKey, Val ArrayOfObjects, Val URL)
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("items", ArrayOfObjects, "Array", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
@ -3247,6 +3247,10 @@ Procedure OzonAPI_UploadingAndUpdatingProducts() Export
|
||||
Ozon_AddProductVideo(TestParameters);
|
||||
Ozon_AddProductVideoCover(TestParameters);
|
||||
Ozon_CompleteComplexAttribute(TestParameters);
|
||||
Ozon_CreateProductByOzonID(TestParameters);
|
||||
Ozon_GetSimplifiedProductStructure(TestParameters);
|
||||
Ozon_GetAttributesUpdateStructure(TestParameters);
|
||||
Ozon_UpdateProductsAttributes(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -4077,15 +4081,23 @@ Procedure Check_OzonListOfAttributesValues(Val Result)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonUploadTask(Val Result)
|
||||
Procedure Check_OzonUploadTask(Val Result, Val Embedded = True)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["task_id"]).Заполнено();
|
||||
If Embedded Then
|
||||
TaskID = Result["result"]["task_id"];
|
||||
Else
|
||||
TaskID = Result["task_id"];
|
||||
EndIf;
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(TaskID).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonNewProducts(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"]).ИмеетТип("Array");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"][0]["status"]).Равно("imported");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"][0]["errors"].Count()).Равно(0);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -11632,7 +11644,7 @@ Procedure Ozon_CreateUpdateProducts(FunctionParameters)
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductStructure", "Ozon");
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateUpdateProducts", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result);
|
||||
|
||||
@ -11640,7 +11652,7 @@ Procedure Ozon_CreateUpdateProducts(FunctionParameters)
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_TaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_TaskID", TaskID);
|
||||
|
||||
OPI_Tools.Pause(60);
|
||||
OPI_Tools.Pause(120);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -11750,6 +11762,120 @@ Procedure Ozon_GetProductCreationStatus(FunctionParameters)
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus", "Ozon");
|
||||
|
||||
WHile Result["result"]["items"][0]["status"] = "pending" Do
|
||||
|
||||
OPI_Tools.Pause(30);
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
EndDo;
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CreateProductByOzonID(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("name" , "New imported product");
|
||||
ItemStructure.Insert("sku" , 298789742);
|
||||
ItemStructure.Insert("offer_id" , "91132");
|
||||
ItemStructure.Insert("price" , "1100");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("currency_code", "RUB");
|
||||
|
||||
Result = OPI_Ozon.CreateProductByOzonID(ClientID, APIKey, ItemStructure);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateProductByOzonID", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result);
|
||||
|
||||
TaskID = Result["result"]["task_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_SkuTaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_SkuTaskID", TaskID);
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
WHile Result["result"]["items"][0]["status"] = "pending" Do
|
||||
|
||||
OPI_Tools.Pause(30);
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
EndDo;
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus (SKU)", "Ozon");
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetSimplifiedProductStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_Ozon.GetSimplifiedProductStructure();
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetSimplifiedProductStructure", "Ozon");
|
||||
|
||||
Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetAttributesUpdateStructure(FunctionParameters)
|
||||
|
||||
Result = OPI_Ozon.GetAttributesUpdateStructure();
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetAttributesUpdateStructure", "Ozon");
|
||||
|
||||
Check_Structure(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_UpdateProductsAttributes(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
AttributesStructure = New Structure("offer_id", "143210608");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "red");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(AttributesStructure, 10096, 0, CategoryAttribute3);
|
||||
|
||||
Result = OPI_Ozon.UpdateProductsAttributes(ClientID, APIKey, AttributesStructure);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UpdateProductsAttributes", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result, False);
|
||||
|
||||
TaskID = Result["task_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_AttUpdateTaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_AttUpdateTaskID", TaskID);
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
WHile Result["result"]["items"][0]["status"] = "pending" Do
|
||||
|
||||
OPI_Tools.Pause(30);
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
EndDo;
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus (att.)", "Ozon");
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
@ -255,6 +255,68 @@
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateProductByOzonID";
|
||||
NewLine.МетодПоиска = "CREATEPRODUCTBYOZONID";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Creates a product by specified Ozon ID";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateProductByOzonID";
|
||||
NewLine.МетодПоиска = "CREATEPRODUCTBYOZONID";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateProductByOzonID";
|
||||
NewLine.МетодПоиска = "CREATEPRODUCTBYOZONID";
|
||||
NewLine.Параметр = "--items";
|
||||
NewLine.Описание = "Array or one simplified structure of product fields";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "UpdateProductsAttributes";
|
||||
NewLine.МетодПоиска = "UPDATEPRODUCTSATTRIBUTES";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Updates the attributes of the selected items";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "UpdateProductsAttributes";
|
||||
NewLine.МетодПоиска = "UPDATEPRODUCTSATTRIBUTES";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "UpdateProductsAttributes";
|
||||
NewLine.МетодПоиска = "UPDATEPRODUCTSATTRIBUTES";
|
||||
NewLine.Параметр = "--items";
|
||||
NewLine.Описание = "Array or one structure of product attribute fields";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
@ -297,6 +359,28 @@
|
||||
NewLine.ОписаниеМетода = "Gets the structure of product standard fields";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetSimplifiedProductStructure";
|
||||
NewLine.МетодПоиска = "GETSIMPLIFIEDPRODUCTSTRUCTURE";
|
||||
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 creating a product based on Ozon ID in the CreateProductByOzonID function()";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetAttributesUpdateStructure";
|
||||
NewLine.МетодПоиска = "GETATTRIBUTESUPDATESTRUCTURE";
|
||||
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 updating product characteristics in the UpdateProductsAttributes function()";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
|
@ -210,8 +210,8 @@
|
||||
// Метод в документации API: [post /v3/product/import](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsV3)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивТоваров - Массив Из Строка - Массив или одна структура полей описания товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@ -220,12 +220,56 @@
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
Ответ = ОтправитьОписанияОбъектов(IDКлиента, КлючAPI, МассивТоваров, URL);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("items", МассивТоваров, "Массив", Параметры);
|
||||
Возврат Ответ;
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
КонецФункции
|
||||
|
||||
// Создать товары по Ozon ID
|
||||
// Создаёт товар по указанному Ozon ID
|
||||
//
|
||||
// Примечание:
|
||||
// Получить пустую структуру можно при помощи метода ПолучитьСокращеннуюСтруктуруТовара()
|
||||
// Обновить товар по Ozon ID нельзя
|
||||
// Метод в документации API: [post /v1/product/import-by-sku](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsBySKU)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивТоваров - Массив Из Строка - Массив или одна сокращенная структура полей описания товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция СоздатьТоварыПоOzonID(Знач IDКлиента, Знач КлючAPI, Знач МассивТоваров) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import-by-sku";
|
||||
|
||||
Ответ = ОтправитьОписанияОбъектов(IDКлиента, КлючAPI, МассивТоваров, URL);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обновить характеристики товаров
|
||||
// Обновляет характеристики выбранных товаров
|
||||
//
|
||||
// Примечание:
|
||||
// Получить пустую структуру можно при помощи метода ПолучитьСтруктуруОбновленияХарактеристик()
|
||||
// Метод в документации API: [post /v1/product/attributes/update](@docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUpdateAttributes)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивХарактеристик - Массив Из Строка - Массив или одна структура полей атрибутов товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ОбновитьХарактеристикиТоваров(Знач IDКлиента, Знач КлючAPI, Знач МассивХарактеристик) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/attributes/update";
|
||||
|
||||
Ответ = ОтправитьОписанияОбъектов(IDКлиента, КлючAPI, МассивХарактеристик, URL);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -304,6 +348,70 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить сокращенную структуру товара
|
||||
// Получает структуру для создания товара на основе Ozon ID в функции СоздатьТоварыПоOzonID()
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара
|
||||
Функция ПолучитьСокращеннуюСтруктуруТовара(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
|
||||
СтруктураТовара.Вставить("name" , "<наименование>");
|
||||
СтруктураТовара.Вставить("sku" , "<идентификатор товара в системе Ozon>");
|
||||
СтруктураТовара.Вставить("offer_id" , "<артикул>");
|
||||
СтруктураТовара.Вставить("price" , "<цена>");
|
||||
СтруктураТовара.Вставить("old_price" , "<старая цена>");
|
||||
СтруктураТовара.Вставить("vat" , "<ставка ндс, например 0.2>");
|
||||
СтруктураТовара.Вставить("currency_code", "<валюта>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураТовара Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру обновления характеристик
|
||||
// Получает структуру для обновления характеристик товара в функции ОбновитьХарактеристикиТоваров()
|
||||
//
|
||||
// Примечание:
|
||||
// Характеристики представляют из себя структуры с полями complex_id, id и массивом values. Для их быстрого создания есть метод ДополнитьКомплексныйАтрибут()
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара
|
||||
Функция ПолучитьСтруктуруОбновленияХарактеристик(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
|
||||
СтруктураТовара.Вставить("offer_id" , "<артикул>");
|
||||
СтруктураТовара.Вставить("attributes", "<массив обновляемых атрибутов>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураТовара Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видео товара
|
||||
// Добавляет видео к атрибутам товара
|
||||
//
|
||||
@ -422,6 +530,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОтправитьОписанияОбъектов(Знач IDКлиента, Знач КлючAPI, Знач МассивОбъектов, Знач URL)
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("items", МассивОбъектов, "Массив", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -3247,6 +3247,10 @@
|
||||
Ozon_ДобавитьВидеоТовара(ПараметрыТеста);
|
||||
Ozon_ДобавитьВидеообложкуТовара(ПараметрыТеста);
|
||||
Ozon_ДополнитьКомплексныйАтрибут(ПараметрыТеста);
|
||||
Ozon_СоздатьТоварыПоOzonID(ПараметрыТеста);
|
||||
Ozon_ПолучитьСокращеннуюСтруктуруТовара(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруОбновленияХарактеристик(ПараметрыТеста);
|
||||
Ozon_ОбновитьХарактеристикиТоваров(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -4077,15 +4081,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат)
|
||||
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат, Знач Вложенный = Истина)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["task_id"]).Заполнено();
|
||||
Если Вложенный Тогда
|
||||
IDЗадачи = Результат["result"]["task_id"];
|
||||
Иначе
|
||||
IDЗадачи = Результат["task_id"];
|
||||
КонецЕсли;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(IDЗадачи).Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонНовыеТовары(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"][0]["status"]).Равно("imported");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"][0]["errors"].Количество()).Равно(0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -11632,7 +11644,7 @@
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруТовара", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОбновитьТовары", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
@ -11640,7 +11652,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_TaskID", IDЗадания);
|
||||
ПараметрыФункции.Вставить("Ozon_TaskID", IDЗадания);
|
||||
|
||||
OPI_Инструменты.Пауза(60);
|
||||
OPI_Инструменты.Пауза(120);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -11750,6 +11762,120 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара", "Ozon");
|
||||
|
||||
Пока Результат["result"]["items"][0]["status"] = "pending" Цикл
|
||||
|
||||
OPI_Инструменты.Пауза(30);
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьТоварыПоOzonID(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("currency_code", "RUB");
|
||||
|
||||
Результат = OPI_Ozon.СоздатьТоварыПоOzonID(IDКлиента, КлючAPI, СтруктураТовара);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТоварыПоOzonID", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
IDЗадачи = Результат["result"]["task_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_SkuTaskID", IDЗадачи);
|
||||
ПараметрыФункции.Вставить("Ozon_SkuTaskID", IDЗадачи);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
Пока Результат["result"]["items"][0]["status"] = "pending" Цикл
|
||||
|
||||
OPI_Инструменты.Пауза(30);
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара (SKU)", "Ozon");
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСокращеннуюСтруктуруТовара(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСокращеннуюСтруктуруТовара();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСокращеннуюСтруктуруТовара", "Ozon");
|
||||
|
||||
Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСтруктуруОбновленияХарактеристик(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруОбновленияХарактеристик();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруОбновленияХарактеристик", "Ozon");
|
||||
|
||||
Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ОбновитьХарактеристикиТоваров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
СтруктураХаракетристик = Новый Структура("offer_id", "143210608");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "красный");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 10096, 0, АтрибутКатегории3);
|
||||
|
||||
Результат = OPI_Ozon.ОбновитьХарактеристикиТоваров(IDКлиента, КлючAPI, СтруктураХаракетристик);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьХарактеристикиТоваров", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат, Ложь);
|
||||
|
||||
IDЗадачи = Результат["task_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_AttUpdateTaskID", IDЗадачи);
|
||||
ПараметрыФункции.Вставить("Ozon_AttUpdateTaskID", IDЗадачи);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
Пока Результат["result"]["items"][0]["status"] = "pending" Цикл
|
||||
|
||||
OPI_Инструменты.Пауза(30);
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара (хар.)", "Ozon");
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -210,8 +210,8 @@
|
||||
// Метод в документации API: [post /v3/product/import](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsV3)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивТоваров - Массив Из Строка - Массив или одна структура полей описания товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@ -220,12 +220,56 @@
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
Ответ = ОтправитьОписанияОбъектов(IDКлиента, КлючAPI, МассивТоваров, URL);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("items", МассивТоваров, "Массив", Параметры);
|
||||
Возврат Ответ;
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
КонецФункции
|
||||
|
||||
// Создать товары по Ozon ID
|
||||
// Создаёт товар по указанному Ozon ID
|
||||
//
|
||||
// Примечание:
|
||||
// Получить пустую структуру можно при помощи метода ПолучитьСокращеннуюСтруктуруТовара()
|
||||
// Обновить товар по Ozon ID нельзя
|
||||
// Метод в документации API: [post /v1/product/import-by-sku](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsBySKU)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивТоваров - Массив Из Строка - Массив или одна сокращенная структура полей описания товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция СоздатьТоварыПоOzonID(Знач IDКлиента, Знач КлючAPI, Знач МассивТоваров) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import-by-sku";
|
||||
|
||||
Ответ = ОтправитьОписанияОбъектов(IDКлиента, КлючAPI, МассивТоваров, URL);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обновить характеристики товаров
|
||||
// Обновляет характеристики выбранных товаров
|
||||
//
|
||||
// Примечание:
|
||||
// Получить пустую структуру можно при помощи метода ПолучитьСтруктуруОбновленияХарактеристик()
|
||||
// Метод в документации API: [post /v1/product/attributes/update](@docs.ozon.ru/api/seller/#operation/ProductAPI_ProductUpdateAttributes)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивХарактеристик - Массив Из Строка - Массив или одна структура полей атрибутов товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ОбновитьХарактеристикиТоваров(Знач IDКлиента, Знач КлючAPI, Знач МассивХарактеристик) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/attributes/update";
|
||||
|
||||
Ответ = ОтправитьОписанияОбъектов(IDКлиента, КлючAPI, МассивХарактеристик, URL);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -304,6 +348,70 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить сокращенную структуру товара
|
||||
// Получает структуру для создания товара на основе Ozon ID в функции СоздатьТоварыПоOzonID()
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара
|
||||
Функция ПолучитьСокращеннуюСтруктуруТовара(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
|
||||
СтруктураТовара.Вставить("name" , "<наименование>");
|
||||
СтруктураТовара.Вставить("sku" , "<идентификатор товара в системе Ozon>");
|
||||
СтруктураТовара.Вставить("offer_id" , "<артикул>");
|
||||
СтруктураТовара.Вставить("price" , "<цена>");
|
||||
СтруктураТовара.Вставить("old_price" , "<старая цена>");
|
||||
СтруктураТовара.Вставить("vat" , "<ставка ндс, например 0.2>");
|
||||
СтруктураТовара.Вставить("currency_code", "<валюта>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураТовара Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру обновления характеристик
|
||||
// Получает структуру для обновления характеристик товара в функции ОбновитьХарактеристикиТоваров()
|
||||
//
|
||||
// Примечание:
|
||||
// Характеристики представляют из себя структуры с полями complex_id, id и массивом values. Для их быстрого создания есть метод ДополнитьКомплексныйАтрибут()
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара
|
||||
Функция ПолучитьСтруктуруОбновленияХарактеристик(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
|
||||
СтруктураТовара.Вставить("offer_id" , "<артикул>");
|
||||
СтруктураТовара.Вставить("attributes", "<массив обновляемых атрибутов>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураТовара Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видео товара
|
||||
// Добавляет видео к атрибутам товара
|
||||
//
|
||||
@ -422,6 +530,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОтправитьОписанияОбъектов(Знач IDКлиента, Знач КлючAPI, Знач МассивОбъектов, Знач URL)
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("items", МассивОбъектов, "Массив", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -3247,6 +3247,10 @@
|
||||
Ozon_ДобавитьВидеоТовара(ПараметрыТеста);
|
||||
Ozon_ДобавитьВидеообложкуТовара(ПараметрыТеста);
|
||||
Ozon_ДополнитьКомплексныйАтрибут(ПараметрыТеста);
|
||||
Ozon_СоздатьТоварыПоOzonID(ПараметрыТеста);
|
||||
Ozon_ПолучитьСокращеннуюСтруктуруТовара(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруОбновленияХарактеристик(ПараметрыТеста);
|
||||
Ozon_ОбновитьХарактеристикиТоваров(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -4077,15 +4081,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат)
|
||||
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат, Знач Вложенный = Истина)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["task_id"]).Заполнено();
|
||||
Если Вложенный Тогда
|
||||
IDЗадачи = Результат["result"]["task_id"];
|
||||
Иначе
|
||||
IDЗадачи = Результат["task_id"];
|
||||
КонецЕсли;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(IDЗадачи).Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонНовыеТовары(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"][0]["status"]).Равно("imported");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"][0]["errors"].Количество()).Равно(0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -11632,7 +11644,7 @@
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруТовара", "Ozon");
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОбновитьТовары", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
@ -11640,7 +11652,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_TaskID", IDЗадания);
|
||||
ПараметрыФункции.Вставить("Ozon_TaskID", IDЗадания);
|
||||
|
||||
OPI_Инструменты.Пауза(60);
|
||||
OPI_Инструменты.Пауза(120);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -11750,6 +11762,120 @@
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара", "Ozon");
|
||||
|
||||
Пока Результат["result"]["items"][0]["status"] = "pending" Цикл
|
||||
|
||||
OPI_Инструменты.Пауза(30);
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьТоварыПоOzonID(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("name" , "Новый импортированный товар");
|
||||
СтруктураТовара.Вставить("sku" , 298789742);
|
||||
СтруктураТовара.Вставить("offer_id" , "91132");
|
||||
СтруктураТовара.Вставить("price" , "1100");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("currency_code", "RUB");
|
||||
|
||||
Результат = OPI_Ozon.СоздатьТоварыПоOzonID(IDКлиента, КлючAPI, СтруктураТовара);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТоварыПоOzonID", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
IDЗадачи = Результат["result"]["task_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_SkuTaskID", IDЗадачи);
|
||||
ПараметрыФункции.Вставить("Ozon_SkuTaskID", IDЗадачи);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
Пока Результат["result"]["items"][0]["status"] = "pending" Цикл
|
||||
|
||||
OPI_Инструменты.Пауза(30);
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара (SKU)", "Ozon");
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСокращеннуюСтруктуруТовара(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСокращеннуюСтруктуруТовара();
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСокращеннуюСтруктуруТовара", "Ozon");
|
||||
|
||||
Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСтруктуруОбновленияХарактеристик(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтруктуруОбновленияХарактеристик();
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруОбновленияХарактеристик", "Ozon");
|
||||
|
||||
Проверка_Структура(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ОбновитьХарактеристикиТоваров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
СтруктураХаракетристик = Новый Структура("offer_id", "143210608");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "красный");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураХаракетристик, 10096, 0, АтрибутКатегории3);
|
||||
|
||||
Результат = OPI_Ozon.ОбновитьХарактеристикиТоваров(IDКлиента, КлючAPI, СтруктураХаракетристик);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьХарактеристикиТоваров", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат, Ложь);
|
||||
|
||||
IDЗадачи = Результат["task_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_AttUpdateTaskID", IDЗадачи);
|
||||
ПараметрыФункции.Вставить("Ozon_AttUpdateTaskID", IDЗадачи);
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
Пока Результат["result"]["items"][0]["status"] = "pending" Цикл
|
||||
|
||||
OPI_Инструменты.Пауза(30);
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара (хар.)", "Ozon");
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -259,6 +259,76 @@
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьТоварыПоOzonID";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТОВАРЫПОOZONID";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Создаёт товар по указанному Ozon ID
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьТоварыПоOzonID";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТОВАРЫПОOZONID";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьТоварыПоOzonID";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТОВАРЫПОOZONID";
|
||||
НоваяСтрока.Параметр = "--items";
|
||||
НоваяСтрока.Описание = "Массив или одна сокращенная структура полей описания товара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ОбновитьХарактеристикиТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬХАРАКТЕРИСТИКИТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Обновляет характеристики выбранных товаров
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ОбновитьХарактеристикиТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬХАРАКТЕРИСТИКИТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ОбновитьХарактеристикиТоваров";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬХАРАКТЕРИСТИКИТОВАРОВ";
|
||||
НоваяСтрока.Параметр = "--items";
|
||||
НоваяСтрока.Описание = "Массив или одна структура полей атрибутов товара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
@ -301,6 +371,28 @@
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру стандартных полей товара";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСокращеннуюСтруктуруТовара";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСОКРАЩЕННУЮСТРУКТУРУТОВАРА";
|
||||
НоваяСтрока.Параметр = "--empty";
|
||||
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру для создания товара на основе Ozon ID в функции СоздатьТоварыПоOzonID()";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСтруктуруОбновленияХарактеристик";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУОБНОВЛЕНИЯХАРАКТЕРИСТИК";
|
||||
НоваяСтрока.Параметр = "--empty";
|
||||
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру для обновления характеристик товара в функции ОбновитьХарактеристикиТоваров()";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
|
Loading…
x
Reference in New Issue
Block a user