You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Ozon: таймслоты FBO
This commit is contained in:
@@ -33,6 +33,7 @@ Fast navigation:
|
||||
<a href="/docs/Instructions/Airtable/"><img src={require('../../static/img/APIs/Airtable.png').default} width="32" class="wp_logo"/></a>
|
||||
<a href="/docs/Instructions/Dropbox/"><img src={require('../../static/img/APIs/Dropbox.png').default} width="32" class="wp_logo"/></a>
|
||||
<a href="/docs/Instructions/Neocities/"><img src={require('../../static/img/APIs/Neocities.png').default} width="32" class="wp_logo"/></a>
|
||||
<a href="/docs/Instructions/TCP/"><img src={require('../../static/img/APIs/TCP.png').default} width="32" class="wp_logo"/></a>
|
||||
|
||||
</div>
|
||||
|
||||
|
@@ -33,6 +33,7 @@ sidebar_class_name: NachaloRaboty
|
||||
<a href="/docs/Instructions/Airtable/"><img src={require('../../static/img/APIs/Airtable.png').default} width="32" class="wp_logo"/></a>
|
||||
<a href="/docs/Instructions/Dropbox/"><img src={require('../../static/img/APIs/Dropbox.png').default} width="32" class="wp_logo"/></a>
|
||||
<a href="/docs/Instructions/Neocities/"><img src={require('../../static/img/APIs/Neocities.png').default} width="32" class="wp_logo"/></a>
|
||||
<a href="/docs/Instructions/TCP/"><img src={require('../../static/img/APIs/TCP.png').default} width="32" class="wp_logo"/></a>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1734,6 +1734,54 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить таймслоты FBO
|
||||
// Получить доступные таймслоты на конечных складах отгрузки
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/draft/timeslot/info](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftTimeslotInfo)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// ДатаОт - Дата - Дата начала нужного периода доступных таймслотов - from
|
||||
// ДатаПо - Дата - Дата окончания нужного периода доступных таймслотов (28 дней от тек. максимум) - to
|
||||
// Черновик - Число, Строка - Идентификатор черновика заявки на поставку - draft
|
||||
// Склады - Массив Из Число - Склад или несколько складов для получения таймслотов - whs
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьТаймслотыFBO(Знач IDКлиента, Знач КлючAPI, Знач ДатаОт, Знач ДатаПо, Знач Черновик, Знач Склады) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаОт);
|
||||
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаПо);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Склады);
|
||||
|
||||
Для Н = 0 По Склады.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Склады[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Склады[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/timeslot/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("date_from" , XMLСтрока(ДатаОт) + "Z", "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("date_to" , XMLСтрока(ДатаПо) + "Z", "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("draft_id" , Черновик , "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("warehouse_ids", Склады , "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру доп. полей отправления
|
||||
// Возвращает структуру включения доп. полей ответа для метода ПолучитьСписокОтправленийFBO
|
||||
//
|
||||
|
@@ -1966,6 +1966,7 @@
|
||||
Ozon_ПолучитьСтруктуруДопПолейОтправления(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруФильтраОтправлений(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокОтправленийFBO(ПараметрыТеста);
|
||||
Ozon_ПолучитьТаймслотыFBO(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -13749,6 +13750,14 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонГотовыйЧерновик(Результат);
|
||||
|
||||
IDЧерновика = Результат["draft_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_Draft", IDЧерновика);
|
||||
ПараметрыФункции.Вставить("Ozon_Draft", IDЧерновика);
|
||||
|
||||
IDСклада = Результат["clusters"][0]["warehouses"][0]["supply_warehouse"]["warehouse_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_FBOWarehouse", IDСклада);
|
||||
ПараметрыФункции.Вставить("Ozon_FBOWarehouse", IDСклада);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -13798,6 +13807,26 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьТаймслотыFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Сутки = 86400;
|
||||
|
||||
ДатаОт = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
ДатаПо = ДатаОт + Сутки;
|
||||
Черновик = ПараметрыФункции["Ozon_Draft"];
|
||||
Склад = ПараметрыФункции["Ozon_FBOWarehouse"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьТаймслотыFBO(IDКлиента, КлючAPI, ДатаОт, ДатаПо, Черновик, Склад);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаймслотыFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонТаймслоты(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
@@ -1900,6 +1900,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонТаймслоты(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат["drop_off_warehouse_timeslots"]).ИмеетТип("Массив");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно("success");
|
||||
@@ -2083,9 +2089,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@@ -1734,6 +1734,54 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить таймслоты FBO
|
||||
// Получить доступные таймслоты на конечных складах отгрузки
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/draft/timeslot/info](@docs.ozon.ru/api/seller/#operation/SupplyDraftAPI_DraftTimeslotInfo)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// ДатаОт - Дата - Дата начала нужного периода доступных таймслотов - from
|
||||
// ДатаПо - Дата - Дата окончания нужного периода доступных таймслотов (28 дней от тек. максимум) - to
|
||||
// Черновик - Число, Строка - Идентификатор черновика заявки на поставку - draft
|
||||
// Склады - Массив Из Число - Склад или несколько складов для получения таймслотов - whs
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьТаймслотыFBO(Знач IDКлиента, Знач КлючAPI, Знач ДатаОт, Знач ДатаПо, Знач Черновик, Знач Склады) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаОт);
|
||||
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаПо);
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Склады);
|
||||
|
||||
Для Н = 0 По Склады.ВГраница() Цикл
|
||||
|
||||
ТекущееЗначение = Склады[Н];
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТекущееЗначение);
|
||||
|
||||
Склады[Н] = ТекущееЗначение;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/draft/timeslot/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("date_from" , XMLСтрока(ДатаОт) + "Z", "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("date_to" , XMLСтрока(ДатаПо) + "Z", "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("draft_id" , Черновик , "Число" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("warehouse_ids", Склады , "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру доп. полей отправления
|
||||
// Возвращает структуру включения доп. полей ответа для метода ПолучитьСписокОтправленийFBO
|
||||
//
|
||||
|
@@ -1900,6 +1900,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонТаймслоты(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат["drop_off_warehouse_timeslots"]).ИмеетТип("Массив");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно("success");
|
||||
|
@@ -1966,6 +1966,7 @@
|
||||
Ozon_ПолучитьСтруктуруДопПолейОтправления(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтруктуруФильтраОтправлений(ПараметрыТеста);
|
||||
Ozon_ПолучитьСписокОтправленийFBO(ПараметрыТеста);
|
||||
Ozon_ПолучитьТаймслотыFBO(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -13749,6 +13750,14 @@
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧерновикЗаявкиFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонГотовыйЧерновик(Результат);
|
||||
|
||||
IDЧерновика = Результат["draft_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_Draft", IDЧерновика);
|
||||
ПараметрыФункции.Вставить("Ozon_Draft", IDЧерновика);
|
||||
|
||||
IDСклада = Результат["clusters"][0]["warehouses"][0]["supply_warehouse"]["warehouse_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_FBOWarehouse", IDСклада);
|
||||
ПараметрыФункции.Вставить("Ozon_FBOWarehouse", IDСклада);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -13798,6 +13807,26 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьТаймслотыFBO(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Сутки = 86400;
|
||||
|
||||
ДатаОт = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
ДатаПо = ДатаОт + Сутки;
|
||||
Черновик = ПараметрыФункции["Ozon_Draft"];
|
||||
Склад = ПараметрыФункции["Ozon_FBOWarehouse"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьТаймслотыFBO(IDКлиента, КлючAPI, ДатаОт, ДатаПо, Черновик, Склад);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаймслотыFBO", "Ozon");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ОзонТаймслоты(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
Reference in New Issue
Block a user