You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-05-22 10:05:29 +02:00
CDEK: Преалерты
This commit is contained in:
@@ -471,6 +471,77 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать преалерт
|
||||
// Создает преалерт для списка заказов
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Регистрация преалерта](@api-docs.cdek.ru/78934763.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// МассивUUID - Строка, Массив Из Строка - Один или массив UUID заказов - uuids
|
||||
// ДатаПередачи - Дата - Планируемая дата передачи заказов в СДЭК - date
|
||||
// ПВЗ - Строка - Код ПВЗ, в который планируется передать заказы - point
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция СоздатьПреалерт(Знач Токен, Знач МассивUUID, Знач ДатаПередачи, Знач ПВЗ, Знач ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивUUID);
|
||||
|
||||
URL = СформироватьURL("/prealert", ТестовыйAPI);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
МассивЗаказов = Новый Массив;
|
||||
|
||||
Для Каждого UUID Из МассивUUID Цикл
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
||||
МассивЗаказов.Добавить(Новый Структура("order_uuid", UUID));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("orders" , МассивЗаказов, "Массив" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("planned_date" , ДатаПередачи , "ДатаISO" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("shipment_point", ПВЗ , "Строка" , Параметры);
|
||||
|
||||
Параметры["planned_date"] = Параметры["planned_date"] + "+0000";
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить преалерт
|
||||
// Получает ранее созданны преалерт
|
||||
//
|
||||
// Примечание:
|
||||
// Преалерт должен быть предварительно создан. См. СоздатьПреалерт
|
||||
// Метод в документации API: [Информация о преалерте](@api-docs.cdek.ru/78934799.html)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// UUID - Строка - UUID преалерта - uuid
|
||||
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
||||
Функция ПолучитьПреалерт(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
||||
|
||||
URL = СформироватьURL("/prealert/" + UUID, ТестовыйAPI);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить описание заказа
|
||||
// Получает макет для создания заказа в функции СоздатьЗаказ
|
||||
//
|
||||
|
||||
@@ -2011,11 +2011,13 @@
|
||||
CDEK_ПолучитьЗаказПоНомеру(ПараметрыТеста);
|
||||
CDEK_СформироватьКвитанцию(ПараметрыТеста);
|
||||
CDEK_СформироватьШтрихкод(ПараметрыТеста);
|
||||
CDEK_СоздатьПреалерт(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьКвитанцию(ПараметрыТеста);
|
||||
CDEK_ПолучитьШтрихкод(ПараметрыТеста);
|
||||
CDEK_ПолучитьПреалерт(ПараметрыТеста);
|
||||
CDEK_ИзменитьЗаказ(ПараметрыТеста);
|
||||
CDEK_ОформитьКлиентскийВозврат(ПараметрыТеста);
|
||||
CDEK_СоздатьОтказ(ПараметрыТеста);
|
||||
@@ -14144,6 +14146,41 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СоздатьПреалерт(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
ПВЗ = "NSK27";
|
||||
ДатаПередачи = OPI_Инструменты.ПолучитьТекущуюДату() + 60 * 60 * 24;
|
||||
|
||||
|
||||
Результат = OPI_CDEK.СоздатьПреалерт(Токен, UUID, ДатаПередачи, ПВЗ, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПреалерт", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
UUID = Результат["entity"]["uuid"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_PrealertUUID", UUID);
|
||||
OPI_Инструменты.ДобавитьПоле("CDEK_PrealertUUID", UUID, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьПреалерт(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_PrealertUUID"];
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьПреалерт(Токен, UUID, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПреалерт", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -2006,11 +2006,13 @@
|
||||
CLI_CDEK_ПолучитьЗаказПоНомеру(ПараметрыТеста);
|
||||
CLI_CDEK_СформироватьКвитанцию(ПараметрыТеста);
|
||||
CLI_CDEK_СформироватьШтрихкод(ПараметрыТеста);
|
||||
CLI_CDEK_СоздатьПреалерт(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CLI_CDEK_ПолучитьКвитанцию(ПараметрыТеста);
|
||||
CLI_CDEK_ПолучитьШтрихкод(ПараметрыТеста);
|
||||
CLI_CDEK_ПолучитьПреалерт(ПараметрыТеста);
|
||||
CLI_CDEK_ИзменитьЗаказ(ПараметрыТеста);
|
||||
CLI_CDEK_ОформитьКлиентскийВозврат(ПараметрыТеста);
|
||||
CLI_CDEK_СоздатьОтказ(ПараметрыТеста);
|
||||
@@ -16068,6 +16070,49 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_СоздатьПреалерт(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
ПВЗ = "NSK27";
|
||||
ДатаПередачи = OPI_Инструменты.ПолучитьТекущуюДату() + 60 * 60 * 24;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token" , Токен);
|
||||
Опции.Вставить("uuids" , UUID);
|
||||
Опции.Вставить("date" , ДатаПередачи);
|
||||
Опции.Вставить("point" , ПВЗ);
|
||||
Опции.Вставить("testapi" , Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СоздатьПреалерт", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПреалерт", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
UUID = Результат["entity"]["uuid"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_PrealertUUID", UUID);
|
||||
OPI_Инструменты.ДобавитьПоле("CDEK_PrealertUUID", UUID, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_CDEK_ПолучитьПреалерт(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_PrealertUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token" , Токен);
|
||||
Опции.Вставить("uuid" , UUID);
|
||||
Опции.Вставить("testapi" , Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьПреалерт", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПреалерт", "CDEK");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1874,9 +1874,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
||||
Reference in New Issue
Block a user