mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-25 21:39:21 +02:00
OZON: Начало FBO
This commit is contained in:
parent
77b9a183be
commit
c1e6cc10a9
File diff suppressed because it is too large
Load Diff
@ -1558,6 +1558,131 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СхемаFBO
|
||||
|
||||
// Получить список кластеров
|
||||
// Получает информацию о кластерах и складах
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/cluster/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
//
|
||||
// Параметры:
|
||||
// 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, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список складов отгрузки
|
||||
// Получает список складов, сортировочных центров и пунктов выдачи
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/warehouse/fbo/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// Ключ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, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать черновик заявки FBO
|
||||
// Создает черновик заявки на поставку
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/draft/create](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Кластеры - Строка, Массив Из Строка - Идентификаторы кластеров - clusters
|
||||
// Позиции - Соответствие Из КлючИЗначение - Список позиций: Ключ > 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, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЧерновикЗаявкиFBO(Знач IDКлиента, Знач КлючAPI, Знач IDОперации) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("operation_id", IDОперации, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@ -1586,4 +1711,47 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьСписокКластеров(Кластеры)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Кластеры);
|
||||
|
||||
Для Н = 0 По Кластеры.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Кластеры[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Кластеры[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСписокПозиций(Позиции)
|
||||
|
||||
ТекстОшибки = "Список позиций имеет некорректный формат";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Позиции, ТекстОшибки);
|
||||
|
||||
ОбработанныеПозиции = Новый Массив;
|
||||
|
||||
Для Каждого Позиция Из Позиции Цикл
|
||||
|
||||
ТекущийКлюч = Позиция.Ключ;
|
||||
ТекущееЗначение = Позиция.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущийКлюч);
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Если ТекущийКлюч = 0 Или ТекущееЗначение = 0 Тогда
|
||||
ВызватьИсключение ("Ошибка в позиции " + Строка(ТекущийКлюч));
|
||||
КонецЕсли;
|
||||
|
||||
ОбработанныеПозиции.Добавить(Новый Структура("quantity,sku", ТекущееЗначение, ТекущийКлюч));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Позиции = ОбработанныеПозиции;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1953,6 +1953,19 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОзонАПИ_СхемаFBO() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
|
||||
|
||||
Ozon_ПолучитьСписокКластеров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыТеста);
|
||||
Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
@ -13660,6 +13673,72 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокКластеров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокКластеров(IDКлиента, КлючAPI);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКластеров", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонКластеры(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Поиск = "ТВЕРЬ";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокСкладовОтгрузки(IDКлиента, КлючAPI, Поиск);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСкладовОтгрузки", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонПоиск(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
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_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_FBOOperID", IDЧерновика);
|
||||
ПараметрыФункции.Вставить("Ozon_FBOOperID", IDЧерновика);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDОперации = ПараметрыФункции["Ozon_FBOOperID"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
@ -251,6 +251,7 @@
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_ЦеныИОстаткиТоваров" , "Цены и остатки товаров" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСАкциями" , "Работа с акциями" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСоСкладами" , "Работа со складами" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_СхемаFBO" , "Схема FBO" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "НС_РаботаСФайлами" , "Работа с файлами" , Неоситиз);
|
||||
НовыйТест(ТаблицаТестов, "НС_ПолучениеДанных" , "Получение данных" , Неоситиз);
|
||||
НовыйТест(ТаблицаТестов, "СдэкАПИ_ОбщиеМетоды" , "Общие методы" , Сдэк);
|
||||
@ -1875,6 +1876,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЧерновик(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонПоиск(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонКластеры(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно("success");
|
||||
@ -2058,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
|
||||
|
||||
@ -1558,6 +1558,131 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СхемаFBO
|
||||
|
||||
// Получить список кластеров
|
||||
// Получает информацию о кластерах и складах
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/cluster/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftClusterList)
|
||||
//
|
||||
// Параметры:
|
||||
// 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, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список складов отгрузки
|
||||
// Получает список складов, сортировочных центров и пунктов выдачи
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/warehouse/fbo/list](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftGetWarehouseFboList)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// Ключ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, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать черновик заявки FBO
|
||||
// Создает черновик заявки на поставку
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/draft/create](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftCreate)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// Кластеры - Строка, Массив Из Строка - Идентификаторы кластеров - clusters
|
||||
// Позиции - Соответствие Из КлючИЗначение - Список позиций: Ключ > 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, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЧерновикЗаявкиFBO(Знач IDКлиента, Знач КлючAPI, Знач IDОперации) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/create/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("operation_id", IDОперации, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@ -1586,4 +1711,47 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьСписокКластеров(Кластеры)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Кластеры);
|
||||
|
||||
Для Н = 0 По Кластеры.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Кластеры[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Кластеры[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСписокПозиций(Позиции)
|
||||
|
||||
ТекстОшибки = "Список позиций имеет некорректный формат";
|
||||
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
|
||||
|
||||
@ -251,6 +251,7 @@
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_ЦеныИОстаткиТоваров" , "Цены и остатки товаров" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСАкциями" , "Работа с акциями" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСоСкладами" , "Работа со складами" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_СхемаFBO" , "Схема FBO" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "НС_РаботаСФайлами" , "Работа с файлами" , Неоситиз);
|
||||
НовыйТест(ТаблицаТестов, "НС_ПолучениеДанных" , "Получение данных" , Неоситиз);
|
||||
НовыйТест(ТаблицаТестов, "СдэкАПИ_ОбщиеМетоды" , "Общие методы" , Сдэк);
|
||||
@ -1875,6 +1876,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЧерновик(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["operation_id"]).ИмеетТип("Строка").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонПоиск(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["search"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонКластеры(Знач Результат) Экспорт
|
||||
ОжидаетЧто(Результат["clusters"]).ИмеетТип("Массив").Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно("success");
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -1953,6 +1953,19 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОзонАПИ_СхемаFBO() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
|
||||
|
||||
Ozon_ПолучитьСписокКластеров(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыТеста);
|
||||
Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
@ -13660,6 +13673,72 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокКластеров(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокКластеров(IDКлиента, КлючAPI);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКластеров", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонКластеры(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Поиск = "ТВЕРЬ";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСписокСкладовОтгрузки(IDКлиента, КлючAPI, Поиск);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСкладовОтгрузки", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонПоиск(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
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_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_FBOOperID", IDЧерновика);
|
||||
ПараметрыФункции.Вставить("Ozon_FBOOperID", IDЧерновика);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDОперации = ПараметрыФункции["Ozon_FBOOperID"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьЧерновикЗаявкиFBO(IDКлиента, КлючAPI, IDОперации);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
Loading…
x
Reference in New Issue
Block a user