1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-05-22 10:05:29 +02:00

CDEK: Преалерты

This commit is contained in:
Anton
2024-10-20 17:26:28 +03:00
parent 59b25bf95d
commit 4b1d3f45af
8 changed files with 5459 additions and 5139 deletions
+71
View File
@@ -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 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции