mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-17 21:08:03 +02:00
Main build (Jenkins)
This commit is contained in:
parent
c1e6cc10a9
commit
d1644a9095
4
.github/workflows/oint_test_full_ru.yml
vendored
4
.github/workflows/oint_test_full_ru.yml
vendored
@ -1106,6 +1106,10 @@ jobs:
|
||||
if: ${{ cancelled() }} == false
|
||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_ОзонАПИ_РаботаСоСкладами"
|
||||
|
||||
- name: Схема FBO
|
||||
if: ${{ cancelled() }} == false
|
||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_ОзонАПИ_СхемаFBO"
|
||||
|
||||
- name: Записать логи
|
||||
if: ${{ cancelled() }} == false
|
||||
uses: actions/cache/save@v3
|
||||
|
@ -585,6 +585,10 @@ pipeline {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ОзонАПИ_РаботаСоСкладами"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ОзонАПИ_СхемаFBO"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
12
ci/clitesten
12
ci/clitesten
@ -1629,6 +1629,18 @@ def test_ozon(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon GetWarehousesList --clientid "test" --apikey "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon GetClustersList --clientid "test" --apikey "test" --type "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon GetShippingWarehousesList --clientid "test" --apikey "test" --search "test" --type "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon CreateFBODraft --clientid "test" --apikey "test" --clusters "test" --items "test" --type "test" --point "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
12
ci/clitestru
12
ci/clitestru
@ -1629,6 +1629,18 @@ def test_ozon(){
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon ПолучитьСписокСкладов --clientid "test" --apikey "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon ПолучитьСписокКластеров --clientid "test" --apikey "test" --type "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon ПолучитьСписокСкладовОтгрузки --clientid "test" --apikey "test" --search "test" --type "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe ozon СоздатьЧерновикЗаявкиFBO --clientid "test" --apikey "test" --clusters "test" --items "test" --type "test" --point "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -585,6 +585,10 @@ pipeline {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ОзонАПИ_РаботаСоСкладами"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ОзонАПИ_СхемаFBO"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
4
docs/en/data/Ozon/CreateFBODraft.json
Normal file
4
docs/en/data/Ozon/CreateFBODraft.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"ClientID": "2479669",
|
||||
"APIKey": "09f65e9f-262d-4aca..."
|
||||
}
|
4
docs/en/data/Ozon/GetClustersList.json
Normal file
4
docs/en/data/Ozon/GetClustersList.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"ClientID": "2479669",
|
||||
"APIKey": "09f65e9f-262d-4aca..."
|
||||
}
|
5
docs/en/data/Ozon/GetFBODraft.json
Normal file
5
docs/en/data/Ozon/GetFBODraft.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ClientID": "2479669",
|
||||
"APIKey": "09f65e9f-262d-4aca...",
|
||||
"OperationID": "0193ede5-1756-70ba-97fc-4acbf5a5d308"
|
||||
}
|
4
docs/en/data/Ozon/GetShippingWarehousesList.json
Normal file
4
docs/en/data/Ozon/GetShippingWarehousesList.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"ClientID": "2479669",
|
||||
"APIKey": "09f65e9f-262d-4aca..."
|
||||
}
|
9
docs/en/examples/Ozon/CreateFBODraft.txt
Normal file
9
docs/en/examples/Ozon/CreateFBODraft.txt
Normal file
@ -0,0 +1,9 @@
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
Cluster = 1;
|
||||
|
||||
Items = New Map;
|
||||
Items.Insert("1783161863", 5);
|
||||
Items.Insert("1784654052", 2);
|
||||
|
||||
Result = OPI_Ozon.CreateFBODraft(ClientID, APIKey, Cluster, Items);
|
4
docs/en/examples/Ozon/GetClustersList.txt
Normal file
4
docs/en/examples/Ozon/GetClustersList.txt
Normal file
@ -0,0 +1,4 @@
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
|
||||
Result = OPI_Ozon.GetClustersList(ClientID, APIKey);
|
5
docs/en/examples/Ozon/GetFBODraft.txt
Normal file
5
docs/en/examples/Ozon/GetFBODraft.txt
Normal file
@ -0,0 +1,5 @@
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
OperationID = "0193ede5-1756-70ba-97fc-4acbf5a5d308";
|
||||
|
||||
Result = OPI_Ozon.GetFBODraft(ClientID, APIKey, OperationID);
|
5
docs/en/examples/Ozon/GetShippingWarehousesList.txt
Normal file
5
docs/en/examples/Ozon/GetShippingWarehousesList.txt
Normal file
@ -0,0 +1,5 @@
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
Search = "Tver";
|
||||
|
||||
Result = OPI_Ozon.GetShippingWarehousesList(ClientID, APIKey, Search);
|
51
docs/en/md/Ozon/Fbo-scheme/Create-fbo-draft.mdx
Normal file
51
docs/en/md/Ozon/Fbo-scheme/Create-fbo-draft.mdx
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Create FBO draft
|
||||
Creates a draft of FBO supply order
|
||||
|
||||
|
||||
|
||||
`Function CreateFBODraft(Val ClientID, Val APIKey, Val Clusters, Val Items, Val SupplyType = "CREATE_TYPE_DIRECT", Val ShippingPoint = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| ClientID | --clientid | String | ✔ | Client identifier |
|
||||
| APIKey | --apikey | String | ✔ | API key |
|
||||
| Clusters | --clusters | String, Array of String | ✔ | Clusters identifiers |
|
||||
| Items | --items | Map Of KeyAndValue | ✔ | Items list: Key > SKU, Value > Amount |
|
||||
| SupplyType | --type | String | ✖ | Supply type: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT |
|
||||
| ShippingPoint | --point | String | ✖ | Shipping point identifier for CREATE_TYPE_CROSSDOCK |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [post /v1/draft/create](https://docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
Cluster = 1;
|
||||
|
||||
Items = New Map;
|
||||
Items.Insert("1783161863", 5);
|
||||
Items.Insert("1784654052", 2);
|
||||
|
||||
Result = OPI_Ozon.CreateFBODraft(ClientID, APIKey, Cluster, Items);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
43
docs/en/md/Ozon/Fbo-scheme/Get-clusters-list.mdx
Normal file
43
docs/en/md/Ozon/Fbo-scheme/Get-clusters-list.mdx
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get clusters list
|
||||
Gets information about clusters and warehouses
|
||||
|
||||
|
||||
|
||||
`Function GetClustersList(Val ClientID, Val APIKey, Val ClusterType = "CLUSTER_TYPE_OZON") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| ClientID | --clientid | String | ✔ | Client identifier |
|
||||
| APIKey | --apikey | String | ✔ | API key |
|
||||
| ClusterType | --type | String | ✖ | Cluster type: CLUSTER_TYPE_OZON (Russia), CLUSTER_TYPE_CIS (CIS) |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [post /v1/cluster/list](https://docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
|
||||
Result = OPI_Ozon.GetClustersList(ClientID, APIKey);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
45
docs/en/md/Ozon/Fbo-scheme/Get-shipping-warehouses-list.mdx
Normal file
45
docs/en/md/Ozon/Fbo-scheme/Get-shipping-warehouses-list.mdx
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get shipping warehouses list
|
||||
Gets a list of warehouses, sorting centers and delivery points
|
||||
|
||||
|
||||
|
||||
`Function GetShippingWarehousesList(Val ClientID, Val APIKey, Val Search, Val SupplyType = "CREATE_TYPE_DIRECT") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| ClientID | --clientid | String | ✔ | Client identifier |
|
||||
| APIKey | --apikey | String | ✔ | API key |
|
||||
| Search | --search | String | ✔ | Search by name (4 chars. min). For delivery points enter the full name |
|
||||
| SupplyType | --type | String, Array of String | ✖ | Supply types: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [post /v1/warehouse/fbo/list](https://docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
ClientID = "2479669";
|
||||
APIKey = "09f65e9f-262d-4aca...";
|
||||
Search = "Tver";
|
||||
|
||||
Result = OPI_Ozon.GetShippingWarehousesList(ClientID, APIKey, Search);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
4
docs/en/md/Ozon/Fbo-scheme/_category_.json
Normal file
4
docs/en/md/Ozon/Fbo-scheme/_category_.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Fbo scheme",
|
||||
"position": "8"
|
||||
}
|
4
docs/ru/data/Ozon/ПолучитьСписокКластеров.json
Normal file
4
docs/ru/data/Ozon/ПолучитьСписокКластеров.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"IDКлиента": "2479669",
|
||||
"КлючAPI": "09f65e9f-262d-4aca..."
|
||||
}
|
4
docs/ru/data/Ozon/ПолучитьСписокСкладовОтгрузки.json
Normal file
4
docs/ru/data/Ozon/ПолучитьСписокСкладовОтгрузки.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"IDКлиента": "2479669",
|
||||
"КлючAPI": "09f65e9f-262d-4aca..."
|
||||
}
|
5
docs/ru/data/Ozon/ПолучитьЧерновикЗаявкиFBO.json
Normal file
5
docs/ru/data/Ozon/ПолучитьЧерновикЗаявкиFBO.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"IDКлиента": "2479669",
|
||||
"КлючAPI": "09f65e9f-262d-4aca...",
|
||||
"IDОперации": "0193ede5-1756-70ba-97fc-4acbf5a5d308"
|
||||
}
|
4
docs/ru/data/Ozon/СоздатьЧерновикЗаявкиFBO.json
Normal file
4
docs/ru/data/Ozon/СоздатьЧерновикЗаявкиFBO.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"IDКлиента": "2479669",
|
||||
"КлючAPI": "09f65e9f-262d-4aca..."
|
||||
}
|
4
docs/ru/examples/Ozon/ПолучитьСписокКластеров.txt
Normal file
4
docs/ru/examples/Ozon/ПолучитьСписокКластеров.txt
Normal file
@ -0,0 +1,4 @@
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокКластеров(IDКлиента, КлючAPI);
|
5
docs/ru/examples/Ozon/ПолучитьСписокСкладовОтгрузки.txt
Normal file
5
docs/ru/examples/Ozon/ПолучитьСписокСкладовОтгрузки.txt
Normal file
@ -0,0 +1,5 @@
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
Поиск = "ТВЕРЬ";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокСкладовОтгрузки(IDКлиента, КлючAPI, Поиск);
|
5
docs/ru/examples/Ozon/ПолучитьЧерновикЗаявкиFBO.txt
Normal file
5
docs/ru/examples/Ozon/ПолучитьЧерновикЗаявкиFBO.txt
Normal file
@ -0,0 +1,5 @@
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
IDОперации = "0193ede5-1756-70ba-97fc-4acbf5a5d308";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
9
docs/ru/examples/Ozon/СоздатьЧерновикЗаявкиFBO.txt
Normal file
9
docs/ru/examples/Ozon/СоздатьЧерновикЗаявкиFBO.txt
Normal file
@ -0,0 +1,9 @@
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
Кластер = 1;
|
||||
|
||||
Позиции = Новый Соответствие;
|
||||
Позиции.Вставить("1783161863", 5);
|
||||
Позиции.Вставить("1784654052", 2);
|
||||
|
||||
Результат = OPI_Ozon.СоздатьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, Кластер, Позиции);
|
51
docs/ru/md/Ozon/Fbo-scheme/Create-fbo-draft.mdx
Normal file
51
docs/ru/md/Ozon/Fbo-scheme/Create-fbo-draft.mdx
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Создать черновик заявки FBO
|
||||
Создает черновик заявки на поставку
|
||||
|
||||
|
||||
|
||||
`Функция СоздатьЧерновикЗаявкиFBO(Знач IDКлиента, Знач КлючAPI, Знач Кластеры, Знач Позиции, Знач ТипПоставки = "CREATE_TYPE_DIRECT", Знач ТочкаОтгрузки = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| IDКлиента | --clientid | Строка | ✔ | Идентификатор клиента |
|
||||
| КлючAPI | --apikey | Строка | ✔ | API ключ |
|
||||
| Кластеры | --clusters | Строка, Массив Из Строка | ✔ | Идентификаторы кластеров |
|
||||
| Позиции | --items | Соответствие Из КлючИЗначение | ✔ | Список позиций: Ключ > SKU, Значение > Количество |
|
||||
| ТипПоставки | --type | Строка | ✖ | Тип поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT |
|
||||
| ТочкаОтгрузки | --point | Строка | ✖ | Идентификатор точки отгрузки для CREATE_TYPE_CROSSDOCK |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [post /v1/draft/create](https://docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
Кластер = 1;
|
||||
|
||||
Позиции = Новый Соответствие;
|
||||
Позиции.Вставить("1783161863", 5);
|
||||
Позиции.Вставить("1784654052", 2);
|
||||
|
||||
Результат = OPI_Ozon.СоздатьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, Кластер, Позиции);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
43
docs/ru/md/Ozon/Fbo-scheme/Get-clusters-list.mdx
Normal file
43
docs/ru/md/Ozon/Fbo-scheme/Get-clusters-list.mdx
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить список кластеров
|
||||
Получает информацию о кластерах и складах
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСписокКластеров(Знач IDКлиента, Знач КлючAPI, Знач ТипКластера = "CLUSTER_TYPE_OZON") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| IDКлиента | --clientid | Строка | ✔ | Идентификатор клиента |
|
||||
| КлючAPI | --apikey | Строка | ✔ | API ключ |
|
||||
| ТипКластера | --type | Строка | ✖ | Тип кластера: CLUSTER_TYPE_OZON (Россия), CLUSTER_TYPE_CIS (СНГ) |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [post /v1/cluster/list](https://docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокКластеров(IDКлиента, КлючAPI);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
45
docs/ru/md/Ozon/Fbo-scheme/Get-shipping-warehouses-list.mdx
Normal file
45
docs/ru/md/Ozon/Fbo-scheme/Get-shipping-warehouses-list.mdx
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить список складов отгрузки
|
||||
Получает список складов, сортировочных центров и пунктов выдачи
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСписокСкладовОтгрузки(Знач IDКлиента, Знач КлючAPI, Знач Поиск, Знач ТипПоставки = "CREATE_TYPE_DIRECT") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| IDКлиента | --clientid | Строка | ✔ | Идентификатор клиента |
|
||||
| КлючAPI | --apikey | Строка | ✔ | API ключ |
|
||||
| Поиск | --search | Строка | ✔ | Поиск по названию (4 симв. мин). Для пунктов выдачи укажите полное название |
|
||||
| ТипПоставки | --type | Строка, Массив Из Строка | ✖ | Типы поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [post /v1/warehouse/fbo/list](https://docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
IDКлиента = "2479669";
|
||||
КлючAPI = "09f65e9f-262d-4aca...";
|
||||
Поиск = "ТВЕРЬ";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокСкладовОтгрузки(IDКлиента, КлючAPI, Поиск);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
4
docs/ru/md/Ozon/Fbo-scheme/_category_.json
Normal file
4
docs/ru/md/Ozon/Fbo-scheme/_category_.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Схема fbo",
|
||||
"position": "8"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1558,6 +1558,131 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FBOScheme
|
||||
|
||||
// Get clusters list
|
||||
// Gets information about clusters and warehouses
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/cluster/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// ClusterType - String - Cluster type: CLUSTER_TYPE_OZON (Russia), CLUSTER_TYPE_CIS (CIS) - type
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
Function GetClustersList(Val ClientID, Val APIKey, Val ClusterType = "CLUSTER_TYPE_OZON") Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/cluster/list";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("cluster_type", ClusterType, "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get shipping warehouses list
|
||||
// Gets a list of warehouses, sorting centers and delivery points
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/warehouse/fbo/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// Search - String - Search by name (4 chars. min). For delivery points enter the full name - search
|
||||
// SupplyType - String, Array of String - Supply types: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
Function GetShippingWarehousesList(Val ClientID
|
||||
, Val APIKey
|
||||
, Val Search
|
||||
, Val SupplyType = "CREATE_TYPE_DIRECT") Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/warehouse/fbo/list";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("filter_by_supply_type", SupplyType, "Array" , Parameters);
|
||||
OPI_Tools.AddField("search" , Search , "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create FBO draft
|
||||
// Creates a draft of FBO supply order
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/draft/create](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// Clusters - String, Array of String - Clusters identifiers - clusters
|
||||
// Items - Map Of KeyAndValue - Items list: Key > SKU, Value > Amount - items
|
||||
// SupplyType - String - Supply type: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
// ShippingPoint - String - Shipping point identifier for CREATE_TYPE_CROSSDOCK - point
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
Function CreateFBODraft(Val ClientID
|
||||
, Val APIKey
|
||||
, Val Clusters
|
||||
, Val Items
|
||||
, Val SupplyType = "CREATE_TYPE_DIRECT"
|
||||
, Val ShippingPoint = "") Export
|
||||
|
||||
Clusters_ = OPI_Tools.CopyCollection(Clusters);
|
||||
Items_ = OPI_Tools.CopyCollection(Items);
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
ProcessClustersList(Clusters_);
|
||||
ProcessItemsList(Items_);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("cluster_ids" , Clusters_ , "Array" , Parameters);
|
||||
OPI_Tools.AddField("drop_off_point_warehouse_id", ShippingPoint, "Number" , Parameters);
|
||||
OPI_Tools.AddField("items" , Items_ , "Array" , Parameters);
|
||||
OPI_Tools.AddField("type" , SupplyType , "String" , Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetFBODraft(Val ClientID, Val APIKey, Val OperationID) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("operation_id", OperationID, "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
@ -1586,4 +1711,47 @@ Function SendObjectsDescription(Val ClientID, Val APIKey, Val ArrayOfObjects, Va
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure ProcessClustersList(Clusters)
|
||||
|
||||
OPI_TypeConversion.GetArray(Clusters);
|
||||
|
||||
For N = 0 To Clusters.UBound() Do
|
||||
|
||||
CurrentValue = Clusters[N];
|
||||
|
||||
OPI_TypeConversion.GetNumber(CurrentValue);
|
||||
|
||||
Clusters[N] = CurrentValue;
|
||||
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ProcessItemsList(Items)
|
||||
|
||||
ErrorText = "The list of items has an incorrect format";
|
||||
OPI_TypeConversion.GetKeyValueCollection(Items, ErrorText);
|
||||
|
||||
ProcessedPositions = New Array;
|
||||
|
||||
For Each Item In Items Do
|
||||
|
||||
CurrentKey = Item.Key;
|
||||
CurrentValue = Item.Value;
|
||||
|
||||
OPI_TypeConversion.GetNumber(CurrentKey);
|
||||
OPI_TypeConversion.GetNumber(CurrentValue);
|
||||
|
||||
If CurrentKey = 0 Or CurrentValue = 0 Then
|
||||
Raise ("Error in position " + String(CurrentKey));
|
||||
EndIf;
|
||||
|
||||
ProcessedPositions.Add(New Structure("quantity,sku", CurrentValue, CurrentKey));
|
||||
|
||||
EndDo;
|
||||
|
||||
Items = ProcessedPositions;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
@ -1953,6 +1953,19 @@ Procedure OzonAPI_PromotionsManagement() Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OzonAPI_FBOScheme() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ApiKey" , TestParameters);
|
||||
|
||||
Ozon_GetClustersList(TestParameters);
|
||||
Ozon_GetShippingWarehousesList(TestParameters);
|
||||
Ozon_CreateFBODraft(TestParameters);
|
||||
Ozon_GetFBODraft(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Neocities
|
||||
@ -13660,6 +13673,72 @@ Procedure Ozon_GetProductPriceStructure(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetClustersList(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
Result = OPI_Ozon.GetClustersList(ClientID, APIKey);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetClustersList", "Ozon");
|
||||
OPI_TestDataRetrieval.Check_OzonClusters(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetShippingWarehousesList(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
Search = "Tver";
|
||||
|
||||
Result = OPI_Ozon.GetShippingWarehousesList(ClientID, APIKey, Search);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetShippingWarehousesList", "Ozon");
|
||||
OPI_TestDataRetrieval.Check_OzonSearch(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CreateFBODraft(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
Cluster = 1;
|
||||
|
||||
Items = New Map;
|
||||
Items.Insert("1783161863", 5);
|
||||
Items.Insert("1784654052", 2);
|
||||
|
||||
Result = OPI_Ozon.CreateFBODraft(ClientID, APIKey, Cluster, Items);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateFBODraft", "Ozon");
|
||||
OPI_TestDataRetrieval.Check_OzonDraft(Result);
|
||||
|
||||
DraftID = Result["operation_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_FBOOperID", DraftID);
|
||||
FunctionParameters.Insert("Ozon_FBOOperID", DraftID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetFBODraft(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
OperationID = FunctionParameters["Ozon_FBOOperID"];
|
||||
|
||||
Result = OPI_Ozon.GetFBODraft(ClientID, APIKey, OperationID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetFBODraft", "Ozon");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Neocities
|
||||
|
@ -251,6 +251,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OzonAPI_PricesAndStocks" , "Prices and stocks" , Ozon);
|
||||
NewTest(TestTable, "OzonAPI_PromotionsManagement" , "Promotions management" , Ozon);
|
||||
NewTest(TestTable, "OzonAPI_WarehousesManagement" , "Warehouses management" , Ozon);
|
||||
NewTest(TestTable, "OzonAPI_FBOScheme" , "FBO scheme" , Ozon);
|
||||
NewTest(TestTable, "NC_FilesManagement" , "Files management" , Neocities);
|
||||
NewTest(TestTable, "NC_DataRetrieving" , "Data retrieving" , Neocities);
|
||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
||||
@ -1875,6 +1876,18 @@ Procedure Check_OzonSKU(Val Result) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonDraft(Val Result) Export
|
||||
ExpectsThat(Result["operation_id"]).ИмеетТип("String").Заполнено();
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonSearch(Val Result) Export
|
||||
ExpectsThat(Result["search"]).ИмеетТип("Array").Заполнено();
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonClusters(Val Result) Export
|
||||
ExpectsThat(Result["clusters"]).ИмеетТип("Array").Заполнено();
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_NCSuccess(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).Равно("success");
|
||||
|
@ -1558,6 +1558,131 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FBOScheme
|
||||
|
||||
// Get clusters list
|
||||
// Gets information about clusters and warehouses
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/cluster/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// ClusterType - String - Cluster type: CLUSTER_TYPE_OZON (Russia), CLUSTER_TYPE_CIS (CIS) - type
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
Function GetClustersList(Val ClientID, Val APIKey, Val ClusterType = "CLUSTER_TYPE_OZON") Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/cluster/list";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("cluster_type", ClusterType, "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get shipping warehouses list
|
||||
// Gets a list of warehouses, sorting centers and delivery points
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/warehouse/fbo/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// Search - String - Search by name (4 chars. min). For delivery points enter the full name - search
|
||||
// SupplyType - String, Array of String - Supply types: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
Function GetShippingWarehousesList(Val ClientID
|
||||
, Val APIKey
|
||||
, Val Search
|
||||
, Val SupplyType = "CREATE_TYPE_DIRECT") Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/warehouse/fbo/list";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("filter_by_supply_type", SupplyType, "Array" , Parameters);
|
||||
OPI_Tools.AddField("search" , Search , "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create FBO draft
|
||||
// Creates a draft of FBO supply order
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/draft/create](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// Clusters - String, Array of String - Clusters identifiers - clusters
|
||||
// Items - Map Of KeyAndValue - Items list: Key > SKU, Value > Amount - items
|
||||
// SupplyType - String - Supply type: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
// ShippingPoint - String - Shipping point identifier for CREATE_TYPE_CROSSDOCK - point
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Ozon Seller API
|
||||
Function CreateFBODraft(Val ClientID
|
||||
, Val APIKey
|
||||
, Val Clusters
|
||||
, Val Items
|
||||
, Val SupplyType = "CREATE_TYPE_DIRECT"
|
||||
, Val ShippingPoint = "") Export
|
||||
|
||||
Clusters_ = OPI_Tools.CopyCollection(Clusters);
|
||||
Items_ = OPI_Tools.CopyCollection(Items);
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
ProcessClustersList(Clusters_);
|
||||
ProcessItemsList(Items_);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("cluster_ids" , Clusters_ , "Array" , Parameters);
|
||||
OPI_Tools.AddField("drop_off_point_warehouse_id", ShippingPoint, "Number" , Parameters);
|
||||
OPI_Tools.AddField("items" , Items_ , "Array" , Parameters);
|
||||
OPI_Tools.AddField("type" , SupplyType , "String" , Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetFBODraft(Val ClientID, Val APIKey, Val OperationID) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("operation_id", OperationID, "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
@ -1586,4 +1711,47 @@ Function SendObjectsDescription(Val ClientID, Val APIKey, Val ArrayOfObjects, Va
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure ProcessClustersList(Clusters)
|
||||
|
||||
OPI_TypeConversion.GetArray(Clusters);
|
||||
|
||||
For N = 0 To Clusters.UBound() Do
|
||||
|
||||
CurrentValue = Clusters[N];
|
||||
|
||||
OPI_TypeConversion.GetNumber(CurrentValue);
|
||||
|
||||
Clusters[N] = CurrentValue;
|
||||
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ProcessItemsList(Items)
|
||||
|
||||
ErrorText = "The list of items has an incorrect format";
|
||||
OPI_TypeConversion.GetKeyValueCollection(Items, ErrorText);
|
||||
|
||||
ProcessedPositions = New Array;
|
||||
|
||||
For Each Item In Items Do
|
||||
|
||||
CurrentKey = Item.Key;
|
||||
CurrentValue = Item.Value;
|
||||
|
||||
OPI_TypeConversion.GetNumber(CurrentKey);
|
||||
OPI_TypeConversion.GetNumber(CurrentValue);
|
||||
|
||||
If CurrentKey = 0 Or CurrentValue = 0 Then
|
||||
Raise ("Error in position " + String(CurrentKey));
|
||||
EndIf;
|
||||
|
||||
ProcessedPositions.Add(New Structure("quantity,sku", CurrentValue, CurrentKey));
|
||||
|
||||
EndDo;
|
||||
|
||||
Items = ProcessedPositions;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
@ -251,6 +251,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OzonAPI_PricesAndStocks" , "Prices and stocks" , Ozon);
|
||||
NewTest(TestTable, "OzonAPI_PromotionsManagement" , "Promotions management" , Ozon);
|
||||
NewTest(TestTable, "OzonAPI_WarehousesManagement" , "Warehouses management" , Ozon);
|
||||
NewTest(TestTable, "OzonAPI_FBOScheme" , "FBO scheme" , Ozon);
|
||||
NewTest(TestTable, "NC_FilesManagement" , "Files management" , Neocities);
|
||||
NewTest(TestTable, "NC_DataRetrieving" , "Data retrieving" , Neocities);
|
||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
||||
@ -1875,6 +1876,18 @@ Procedure Check_OzonSKU(Val Result) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonDraft(Val Result) Export
|
||||
ExpectsThat(Result["operation_id"]).ИмеетТип("String").Заполнено();
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonSearch(Val Result) Export
|
||||
ExpectsThat(Result["search"]).ИмеетТип("Array").Заполнено();
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonClusters(Val Result) Export
|
||||
ExpectsThat(Result["clusters"]).ИмеетТип("Array").Заполнено();
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_NCSuccess(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).Равно("success");
|
||||
|
@ -1953,6 +1953,19 @@ Procedure OzonAPI_PromotionsManagement() Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OzonAPI_FBOScheme() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ApiKey" , TestParameters);
|
||||
|
||||
Ozon_GetClustersList(TestParameters);
|
||||
Ozon_GetShippingWarehousesList(TestParameters);
|
||||
Ozon_CreateFBODraft(TestParameters);
|
||||
Ozon_GetFBODraft(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Neocities
|
||||
@ -13660,6 +13673,72 @@ Procedure Ozon_GetProductPriceStructure(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetClustersList(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
|
||||
Result = OPI_Ozon.GetClustersList(ClientID, APIKey);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetClustersList", "Ozon");
|
||||
OPI_TestDataRetrieval.Check_OzonClusters(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetShippingWarehousesList(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
Search = "Tver";
|
||||
|
||||
Result = OPI_Ozon.GetShippingWarehousesList(ClientID, APIKey, Search);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetShippingWarehousesList", "Ozon");
|
||||
OPI_TestDataRetrieval.Check_OzonSearch(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CreateFBODraft(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
Cluster = 1;
|
||||
|
||||
Items = New Map;
|
||||
Items.Insert("1783161863", 5);
|
||||
Items.Insert("1784654052", 2);
|
||||
|
||||
Result = OPI_Ozon.CreateFBODraft(ClientID, APIKey, Cluster, Items);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateFBODraft", "Ozon");
|
||||
OPI_TestDataRetrieval.Check_OzonDraft(Result);
|
||||
|
||||
DraftID = Result["operation_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_FBOOperID", DraftID);
|
||||
FunctionParameters.Insert("Ozon_FBOOperID", DraftID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetFBODraft(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
OperationID = FunctionParameters["Ozon_FBOOperID"];
|
||||
|
||||
Result = OPI_Ozon.GetFBODraft(ClientID, APIKey, OperationID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetFBODraft", "Ozon");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Neocities
|
||||
|
@ -1484,6 +1484,139 @@
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Warehouses management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetClustersList";
|
||||
NewLine.МетодПоиска = "GETCLUSTERSLIST";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
NewLine.ОписаниеМетода = "Gets information about clusters and warehouses";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetClustersList";
|
||||
NewLine.МетодПоиска = "GETCLUSTERSLIST";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetClustersList";
|
||||
NewLine.МетодПоиска = "GETCLUSTERSLIST";
|
||||
NewLine.Параметр = "--type";
|
||||
NewLine.Описание = "Cluster type: CLUSTER_TYPE_OZON (Russia), CLUSTER_TYPE_CIS (CIS) (optional, def. val. - CLUSTER_TYPE_OZON)";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetShippingWarehousesList";
|
||||
NewLine.МетодПоиска = "GETSHIPPINGWAREHOUSESLIST";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
NewLine.ОписаниеМетода = "Gets a list of warehouses, sorting centers and delivery points";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetShippingWarehousesList";
|
||||
NewLine.МетодПоиска = "GETSHIPPINGWAREHOUSESLIST";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetShippingWarehousesList";
|
||||
NewLine.МетодПоиска = "GETSHIPPINGWAREHOUSESLIST";
|
||||
NewLine.Параметр = "--search";
|
||||
NewLine.Описание = "Search by name (4 chars. min). For delivery points enter the full name";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetShippingWarehousesList";
|
||||
NewLine.МетодПоиска = "GETSHIPPINGWAREHOUSESLIST";
|
||||
NewLine.Параметр = "--type";
|
||||
NewLine.Описание = "Supply types: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT (optional, def. val. - CREATE_TYPE_DIRECT)";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateFBODraft";
|
||||
NewLine.МетодПоиска = "CREATEFBODRAFT";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
NewLine.ОписаниеМетода = "Creates a draft of FBO supply order";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateFBODraft";
|
||||
NewLine.МетодПоиска = "CREATEFBODRAFT";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateFBODraft";
|
||||
NewLine.МетодПоиска = "CREATEFBODRAFT";
|
||||
NewLine.Параметр = "--clusters";
|
||||
NewLine.Описание = "Clusters identifiers";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateFBODraft";
|
||||
NewLine.МетодПоиска = "CREATEFBODRAFT";
|
||||
NewLine.Параметр = "--items";
|
||||
NewLine.Описание = "Items list: Key > SKU, Value > Amount";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateFBODraft";
|
||||
NewLine.МетодПоиска = "CREATEFBODRAFT";
|
||||
NewLine.Параметр = "--type";
|
||||
NewLine.Описание = "Supply type: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT (optional, def. val. - CREATE_TYPE_DIRECT)";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateFBODraft";
|
||||
NewLine.МетодПоиска = "CREATEFBODRAFT";
|
||||
NewLine.Параметр = "--point";
|
||||
NewLine.Описание = "Shipping point identifier for CREATE_TYPE_CROSSDOCK (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Fbo scheme";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
||||
|
@ -1562,7 +1562,7 @@
|
||||
|
||||
// Получить список кластеров
|
||||
// Получает информацию о кластерах и складах
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/cluster/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
//
|
||||
@ -1570,27 +1570,27 @@
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// ТипКластера - Строка - Тип кластера: CLUSTER_TYPE_OZON (Россия), CLUSTER_TYPE_CIS (СНГ) - type
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСписокКластеров(Знач IDКлиента, Знач КлючAPI, Знач ТипКластера = "CLUSTER_TYPE_OZON") Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/cluster/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_type", ТипКластера, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/cluster/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_type", ТипКластера, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список складов отгрузки
|
||||
// Получает список складов, сортировочных центров и пунктов выдачи
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/warehouse/fbo/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
//
|
||||
@ -1599,31 +1599,31 @@
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Поиск - Строка - Поиск по названию (4 симв. мин). Для пунктов выдачи укажите полное название - search
|
||||
// ТипПоставки - Строка, Массив Из Строка - Типы поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСписокСкладовОтгрузки(Знач IDКлиента
|
||||
, Знач КлючAPI
|
||||
, Знач Поиск
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT") Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/warehouse/fbo/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("filter_by_supply_type", ТипПоставки, "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("search" , Поиск , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
, Знач КлючAPI
|
||||
, Знач Поиск
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT") Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/warehouse/fbo/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("filter_by_supply_type", ТипПоставки, "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("search" , Поиск , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать черновик заявки FBO
|
||||
// Создает черновик заявки на поставку
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/draft/create](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
//
|
||||
@ -1631,54 +1631,54 @@
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Кластеры - Строка, Массив Из Строка - Идентификаторы кластеров - clusters
|
||||
// Позиции - Соответствие Из КлючИЗначение - Список позиций: Ключ > SKU, Значение > Количество - items
|
||||
// Позиции - Соответствие Из КлючИЗначение - Список позиций: Ключ > SKU, Значение > Количество - items
|
||||
// ТипПоставки - Строка - Тип поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
// ТочкаОтгрузки - Строка - Идентификатор точки отгрузки для CREATE_TYPE_CROSSDOCK - point
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция СоздатьЧерновикЗаявкиFBO(Знач IDКлиента
|
||||
, Знач КлючAPI
|
||||
, Знач Кластеры
|
||||
, Знач Позиции
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT"
|
||||
, Знач ТочкаОтгрузки = "") Экспорт
|
||||
|
||||
Кластеры_ = OPI_Инструменты.КопироватьКоллекцию(Кластеры);
|
||||
Позиции_ = OPI_Инструменты.КопироватьКоллекцию(Позиции);
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
ОбработатьСписокКластеров(Кластеры_);
|
||||
ОбработатьСписокПозиций(Позиции_);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_ids" , Кластеры_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("drop_off_point_warehouse_id", ТочкаОтгрузки, "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("items" , Позиции_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("type" , ТипПоставки , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
, Знач КлючAPI
|
||||
, Знач Кластеры
|
||||
, Знач Позиции
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT"
|
||||
, Знач ТочкаОтгрузки = "") Экспорт
|
||||
|
||||
Кластеры_ = OPI_Инструменты.КопироватьКоллекцию(Кластеры);
|
||||
Позиции_ = OPI_Инструменты.КопироватьКоллекцию(Позиции);
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
ОбработатьСписокКластеров(Кластеры_);
|
||||
ОбработатьСписокПозиций(Позиции_);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_ids" , Кластеры_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("drop_off_point_warehouse_id", ТочкаОтгрузки, "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("items" , Позиции_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("type" , ТипПоставки , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЧерновикЗаявкиFBO(Знач IDКлиента, Знач КлючAPI, Знач IDОперации) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("operation_id", IDОперации, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("operation_id", IDОперации, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -1713,45 +1713,45 @@
|
||||
|
||||
Процедура ОбработатьСписокКластеров(Кластеры)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Кластеры);
|
||||
|
||||
Для Н = 0 По Кластеры.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Кластеры[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Кластеры[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Кластеры);
|
||||
|
||||
Для Н = 0 По Кластеры.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Кластеры[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Кластеры[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСписокПозиций(Позиции)
|
||||
|
||||
ТекстОшибки = "Список позиций имеет некорректный формат";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Позиции, ТекстОшибки);
|
||||
|
||||
ОбработанныеПозиции = Новый Массив;
|
||||
|
||||
Для Каждого Позиция Из Позиции Цикл
|
||||
|
||||
ТекущийКлюч = Позиция.Ключ;
|
||||
ТекущееЗначение = Позиция.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущийКлюч);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Если ТекущийКлюч = 0 Или ТекущееЗначение = 0 Тогда
|
||||
ВызватьИсключение ("Ошибка в позиции " + Строка(ТекущийКлюч));
|
||||
КонецЕсли;
|
||||
|
||||
ОбработанныеПозиции.Добавить(Новый Структура("quantity,sku", ТекущееЗначение, ТекущийКлюч));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Позиции = ОбработанныеПозиции;
|
||||
|
||||
|
||||
ТекстОшибки = "Список позиций имеет некорректный формат";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Позиции, ТекстОшибки);
|
||||
|
||||
ОбработанныеПозиции = Новый Массив;
|
||||
|
||||
Для Каждого Позиция Из Позиции Цикл
|
||||
|
||||
ТекущийКлюч = Позиция.Ключ;
|
||||
ТекущееЗначение = Позиция.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущийКлюч);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Если ТекущийКлюч = 0 Или ТекущееЗначение = 0 Тогда
|
||||
ВызватьИсключение ("Ошибка в позиции " + Строка(ТекущийКлюч));
|
||||
КонецЕсли;
|
||||
|
||||
ОбработанныеПозиции.Добавить(Новый Структура("quantity,sku", ТекущееЗначение, ТекущийКлюч));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Позиции = ОбработанныеПозиции;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1954,16 +1954,16 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОзонАПИ_СхемаFBO() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
|
||||
|
||||
|
||||
Ozon_ПолучитьСписокКластеров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыТеста);
|
||||
Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
|
||||
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -13675,68 +13675,68 @@
|
||||
|
||||
Процедура Ozon_ПолучитьСписокКластеров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокКластеров(IDКлиента, КлючAPI);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКластеров", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонКластеры(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонКластеры(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Поиск = "ТВЕРЬ";
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Поиск = "ТВЕРЬ";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокСкладовОтгрузки(IDКлиента, КлючAPI, Поиск);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСкладовОтгрузки", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонПоиск(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонПоиск(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Кластер = 1;
|
||||
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Кластер = 1;
|
||||
|
||||
Позиции = Новый Соответствие;
|
||||
Позиции.Вставить("1783161863", 5);
|
||||
Позиции.Вставить("1784654052", 2);
|
||||
|
||||
|
||||
Результат = OPI_Ozon.СоздатьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, Кластер, Позиции);
|
||||
|
||||
|
||||
// END
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЧерновикЗаявкиFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонЧерновик(Результат);
|
||||
|
||||
IDЧерновика = Результат["operation_id"];
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонЧерновик(Результат);
|
||||
|
||||
IDЧерновика = Результат["operation_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_FBOOperID", IDЧерновика);
|
||||
ПараметрыФункции.Вставить("Ozon_FBOOperID", IDЧерновика);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDОперации = ПараметрыФункции["Ozon_FBOOperID"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1877,15 +1877,15 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЧерновик(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
|
||||
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонПоиск(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив").Заполнено();
|
||||
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонКластеры(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив").Заполнено();
|
||||
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат) Экспорт
|
||||
@ -2071,9 +2071,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_Ozon.os
|
||||
// OneScript: ./OInt/core/Modules/OPI_Ozon.os
|
||||
// Lib: Ozon
|
||||
// CLI: ozon
|
||||
|
||||
@ -1562,7 +1562,7 @@
|
||||
|
||||
// Получить список кластеров
|
||||
// Получает информацию о кластерах и складах
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/cluster/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
//
|
||||
@ -1570,27 +1570,27 @@
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// ТипКластера - Строка - Тип кластера: CLUSTER_TYPE_OZON (Россия), CLUSTER_TYPE_CIS (СНГ) - type
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСписокКластеров(Знач IDКлиента, Знач КлючAPI, Знач ТипКластера = "CLUSTER_TYPE_OZON") Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/cluster/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_type", ТипКластера, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/cluster/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_type", ТипКластера, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список складов отгрузки
|
||||
// Получает список складов, сортировочных центров и пунктов выдачи
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/warehouse/fbo/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
//
|
||||
@ -1599,31 +1599,31 @@
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Поиск - Строка - Поиск по названию (4 симв. мин). Для пунктов выдачи укажите полное название - search
|
||||
// ТипПоставки - Строка, Массив Из Строка - Типы поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСписокСкладовОтгрузки(Знач IDКлиента
|
||||
, Знач КлючAPI
|
||||
, Знач Поиск
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT") Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/warehouse/fbo/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("filter_by_supply_type", ТипПоставки, "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("search" , Поиск , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
, Знач КлючAPI
|
||||
, Знач Поиск
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT") Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/warehouse/fbo/list";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("filter_by_supply_type", ТипПоставки, "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("search" , Поиск , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать черновик заявки FBO
|
||||
// Создает черновик заявки на поставку
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/draft/create](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
//
|
||||
@ -1631,54 +1631,54 @@
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Кластеры - Строка, Массив Из Строка - Идентификаторы кластеров - clusters
|
||||
// Позиции - Соответствие Из КлючИЗначение - Список позиций: Ключ > SKU, Значение > Количество - items
|
||||
// Позиции - Соответствие Из КлючИЗначение - Список позиций: Ключ > SKU, Значение > Количество - items
|
||||
// ТипПоставки - Строка - Тип поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT - type
|
||||
// ТочкаОтгрузки - Строка - Идентификатор точки отгрузки для CREATE_TYPE_CROSSDOCK - point
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция СоздатьЧерновикЗаявкиFBO(Знач IDКлиента
|
||||
, Знач КлючAPI
|
||||
, Знач Кластеры
|
||||
, Знач Позиции
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT"
|
||||
, Знач ТочкаОтгрузки = "") Экспорт
|
||||
|
||||
Кластеры_ = OPI_Инструменты.КопироватьКоллекцию(Кластеры);
|
||||
Позиции_ = OPI_Инструменты.КопироватьКоллекцию(Позиции);
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
ОбработатьСписокКластеров(Кластеры_);
|
||||
ОбработатьСписокПозиций(Позиции_);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_ids" , Кластеры_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("drop_off_point_warehouse_id", ТочкаОтгрузки, "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("items" , Позиции_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("type" , ТипПоставки , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
, Знач КлючAPI
|
||||
, Знач Кластеры
|
||||
, Знач Позиции
|
||||
, Знач ТипПоставки = "CREATE_TYPE_DIRECT"
|
||||
, Знач ТочкаОтгрузки = "") Экспорт
|
||||
|
||||
Кластеры_ = OPI_Инструменты.КопироватьКоллекцию(Кластеры);
|
||||
Позиции_ = OPI_Инструменты.КопироватьКоллекцию(Позиции);
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
ОбработатьСписокКластеров(Кластеры_);
|
||||
ОбработатьСписокПозиций(Позиции_);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("cluster_ids" , Кластеры_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("drop_off_point_warehouse_id", ТочкаОтгрузки, "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("items" , Позиции_ , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("type" , ТипПоставки , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЧерновикЗаявкиFBO(Знач IDКлиента, Знач КлючAPI, Знач IDОперации) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("operation_id", IDОперации, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("operation_id", IDОперации, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -1713,45 +1713,45 @@
|
||||
|
||||
Процедура ОбработатьСписокКластеров(Кластеры)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Кластеры);
|
||||
|
||||
Для Н = 0 По Кластеры.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Кластеры[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Кластеры[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Кластеры);
|
||||
|
||||
Для Н = 0 По Кластеры.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Кластеры[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Кластеры[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСписокПозиций(Позиции)
|
||||
|
||||
ТекстОшибки = "Список позиций имеет некорректный формат";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Позиции, ТекстОшибки);
|
||||
|
||||
ОбработанныеПозиции = Новый Массив;
|
||||
|
||||
Для Каждого Позиция Из Позиции Цикл
|
||||
|
||||
ТекущийКлюч = Позиция.Ключ;
|
||||
ТекущееЗначение = Позиция.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущийКлюч);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Если ТекущийКлюч = 0 Или ТекущееЗначение = 0 Тогда
|
||||
ВызватьИсключение ("Ошибка в позиции " + Строка(ТекущийКлюч));
|
||||
КонецЕсли;
|
||||
|
||||
ОбработанныеПозиции.Добавить(Новый Структура("quantity,sku", ТекущееЗначение, ТекущийКлюч));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Позиции = ОбработанныеПозиции;
|
||||
|
||||
|
||||
ТекстОшибки = "Список позиций имеет некорректный формат";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Позиции, ТекстОшибки);
|
||||
|
||||
ОбработанныеПозиции = Новый Массив;
|
||||
|
||||
Для Каждого Позиция Из Позиции Цикл
|
||||
|
||||
ТекущийКлюч = Позиция.Ключ;
|
||||
ТекущееЗначение = Позиция.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущийКлюч);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Если ТекущийКлюч = 0 Или ТекущееЗначение = 0 Тогда
|
||||
ВызватьИсключение ("Ошибка в позиции " + Строка(ТекущийКлюч));
|
||||
КонецЕсли;
|
||||
|
||||
ОбработанныеПозиции.Добавить(Новый Структура("quantity,sku", ТекущееЗначение, ТекущийКлюч));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Позиции = ОбработанныеПозиции;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -1877,15 +1877,15 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЧерновик(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
|
||||
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонПоиск(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив").Заполнено();
|
||||
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонКластеры(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив").Заполнено();
|
||||
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат) Экспорт
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -1954,16 +1954,16 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОзонАПИ_СхемаFBO() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
|
||||
|
||||
|
||||
Ozon_ПолучитьСписокКластеров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыТеста);
|
||||
Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
|
||||
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -13675,68 +13675,68 @@
|
||||
|
||||
Процедура Ozon_ПолучитьСписокКластеров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокКластеров(IDКлиента, КлючAPI);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКластеров", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонКластеры(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонКластеры(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Поиск = "ТВЕРЬ";
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Поиск = "ТВЕРЬ";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокСкладовОтгрузки(IDКлиента, КлючAPI, Поиск);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСкладовОтгрузки", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонПоиск(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонПоиск(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Кластер = 1;
|
||||
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Кластер = 1;
|
||||
|
||||
Позиции = Новый Соответствие;
|
||||
Позиции.Вставить("1783161863", 5);
|
||||
Позиции.Вставить("1784654052", 2);
|
||||
|
||||
|
||||
Результат = OPI_Ozon.СоздатьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, Кластер, Позиции);
|
||||
|
||||
|
||||
// END
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЧерновикЗаявкиFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонЧерновик(Результат);
|
||||
|
||||
IDЧерновика = Результат["operation_id"];
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонЧерновик(Результат);
|
||||
|
||||
IDЧерновика = Результат["operation_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_FBOOperID", IDЧерновика);
|
||||
ПараметрыФункции.Вставить("Ozon_FBOOperID", IDЧерновика);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDОперации = ПараметрыФункции["Ozon_FBOOperID"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1552,6 +1552,147 @@
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Работа со складами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокКластеров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККЛАСТЕРОВ";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает информацию о кластерах и складах";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокКластеров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККЛАСТЕРОВ";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокКластеров";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККЛАСТЕРОВ";
|
||||
НоваяСтрока.Параметр = "--type";
|
||||
НоваяСтрока.Описание = "Тип кластера: CLUSTER_TYPE_OZON (Россия), CLUSTER_TYPE_CIS (СНГ) (необяз. по ум. - CLUSTER_TYPE_OZON)";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокСкладовОтгрузки";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКСКЛАДОВОТГРУЗКИ";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает список складов, сортировочных центров и пунктов выдачи
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокСкладовОтгрузки";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКСКЛАДОВОТГРУЗКИ";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокСкладовОтгрузки";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКСКЛАДОВОТГРУЗКИ";
|
||||
НоваяСтрока.Параметр = "--search";
|
||||
НоваяСтрока.Описание = "Поиск по названию (4 симв. мин). Для пунктов выдачи укажите полное название";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокСкладовОтгрузки";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКСКЛАДОВОТГРУЗКИ";
|
||||
НоваяСтрока.Параметр = "--type";
|
||||
НоваяСтрока.Описание = "Типы поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT (необяз. по ум. - CREATE_TYPE_DIRECT)";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьЧерновикЗаявкиFBO";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧЕРНОВИКЗАЯВКИFBO";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
НоваяСтрока.ОписаниеМетода = "Создает черновик заявки на поставку
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьЧерновикЗаявкиFBO";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧЕРНОВИКЗАЯВКИFBO";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьЧерновикЗаявкиFBO";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧЕРНОВИКЗАЯВКИFBO";
|
||||
НоваяСтрока.Параметр = "--clusters";
|
||||
НоваяСтрока.Описание = "Идентификаторы кластеров";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьЧерновикЗаявкиFBO";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧЕРНОВИКЗАЯВКИFBO";
|
||||
НоваяСтрока.Параметр = "--items";
|
||||
НоваяСтрока.Описание = "Список позиций: Ключ > SKU, Значение > Количество";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьЧерновикЗаявкиFBO";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧЕРНОВИКЗАЯВКИFBO";
|
||||
НоваяСтрока.Параметр = "--type";
|
||||
НоваяСтрока.Описание = "Тип поставки: CREATE_TYPE_CROSSDOCK, CREATE_TYPE_DIRECT (необяз. по ум. - CREATE_TYPE_DIRECT)";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьЧерновикЗаявкиFBO";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬЧЕРНОВИКЗАЯВКИFBO";
|
||||
НоваяСтрока.Параметр = "--point";
|
||||
НоваяСтрока.Описание = "Идентификатор точки отгрузки для CREATE_TYPE_CROSSDOCK (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Схема fbo";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user