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-11 23:21:09 +03:00
parent 8f57790e02
commit e0b5dff3f8
7 changed files with 5046 additions and 4650 deletions
+4670 -4646
View File
File diff suppressed because it is too large Load Diff
+114 -1
View File
@@ -107,6 +107,61 @@
КонецФункции
// Изменить заказ
// Изменяет значения полей выбранного заказа
//
// Примечание:
// Метод в документации API: [Изменение заказа](@api-docs.cdek.ru/36981178.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа для изменение - uuid
// ОписаниеЗаказа - Структура Из КлючИЗначение - Набор изменяемых полей заказа - order
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция ИзменитьЗаказ(Знач Токен, Знач UUID, Знач ОписаниеЗаказа, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
URL = СформироватьURL("/orders", ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
OPI_Инструменты.ДобавитьПоле("uuid", UUID, "Строка", ОписаниеЗаказа);
Ответ = OPI_Инструменты.Patch(URL, ОписаниеЗаказа, Заголовки);
Возврат Ответ;
КонецФункции
// Удалить заказ
// Удаляет заказ по UUID
//
// Примечание:
// Метод в документации API: [Удаление заказа](@api-docs.cdek.ru/29924487.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа для удаления - uuid
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция УдалитьЗаказ(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders/" + UUID, ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить заказ
// Получает заказ по UUID
//
@@ -124,7 +179,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders", ТестовыйAPI) + "/" + UUID;
URL = СформироватьURL("/orders/" + UUID, ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
@@ -165,6 +220,64 @@
КонецФункции
// Оформить клиентский возврат
// Оформляет клиентский возврат для заказа интернет магазина
//
// Примечание:
// Этот метод используется в случае, если прямой заказ доставлялся СДЭК и получатель хочет вернуть его полностью
// Если заказ доставлялся другой службой, либо нужно вернуть не все товары, то необходимо использовать метод СоздатьЗаказ с is_client_return = true
// Метод в документации API: [Клиентские возвраты](@api-docs.cdek.ru/122762174.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа - uuid
// Тариф - Число - Код тарифа (из доступных по договору) - tariff
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция ОформитьКлиентскийВозврат(Знач Токен, Знач UUID, Знач Тариф, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders/" + UUID + "/clientReturn", ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("tariff_code", Тариф, "Число", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Создать отказ
// Создает отказ по заказу для возврата в интернет магазин
//
// Примечание:
// Метод в документации API: [Клиентские возвраты](@api-docs.cdek.ru/55327658.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа - uuid
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция СоздатьОтказ(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders/" + UUID + "/refusal", ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить описание заказа
// Получает макет для создания заказа в функции СоздатьЗаказ
//
@@ -2006,6 +2006,10 @@
CDEK_СоздатьЗаказ(ПараметрыТеста);
CDEK_ПолучитьЗаказ(ПараметрыТеста);
CDEK_ПолучитьЗаказПоНомеру(ПараметрыТеста);
CDEK_ИзменитьЗаказ(ПараметрыТеста);
CDEK_ОформитьКлиентскийВозврат(ПараметрыТеста);
CDEK_СоздатьОтказ(ПараметрыТеста);
CDEK_УдалитьЗаказ(ПараметрыТеста);
КонецПроцедуры
@@ -13674,7 +13678,12 @@
Отправитель = Новый Структура("name", "Петров Петр");
Услуги = Новый Массив;
Услуги.Добавить(Новый Структура("code", "SECURE_PACKAGE_A2"));
Услуга = Новый Структура;
Услуга.Вставить("code" , "SECURE_PACKAGE_A2");
Услуга.Вставить("parameter", 10);
Услуги.Добавить(Услуга);
Пакеты = Новый Массив;
@@ -13766,6 +13775,65 @@
КонецПроцедуры
Процедура CDEK_ИзменитьЗаказ(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
ОписаниеЗаказа = Новый Структура("comment", "Новый комментарий");
Результат = OPI_CDEK.ИзменитьЗаказ(Токен, UUID, ОписаниеЗаказа, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЗаказ", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
Процедура CDEK_УдалитьЗаказ(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
Результат = OPI_CDEK.УдалитьЗаказ(Токен, UUID, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаказ", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
Процедура CDEK_ОформитьКлиентскийВозврат(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
Тариф = 139;
Результат = OPI_CDEK.ОформитьКлиентскийВозврат(Токен, UUID, Тариф, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОформитьКлиентскийВозврат", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
Процедура CDEK_СоздатьОтказ(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
Результат = OPI_CDEK.СоздатьОтказ(Токен, UUID, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОтказ", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -570,6 +570,11 @@
ИначеЕсли Тип = "Число" Тогда
OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение);
ИначеЕсли Тип = "УникальныйИдентификатор" Тогда
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
Значение = Новый УникальныйИдентификатор(Значение);
Иначе
Если Не Тип = "Текущий" Тогда
@@ -107,6 +107,61 @@
КонецФункции
// Изменить заказ
// Изменяет значения полей выбранного заказа
//
// Примечание:
// Метод в документации API: [Изменение заказа](@api-docs.cdek.ru/36981178.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа для изменение - uuid
// ОписаниеЗаказа - Структура Из КлючИЗначение - Набор изменяемых полей заказа - order
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция ИзменитьЗаказ(Знач Токен, Знач UUID, Знач ОписаниеЗаказа, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
URL = СформироватьURL("/orders", ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
OPI_Инструменты.ДобавитьПоле("uuid", UUID, "Строка", ОписаниеЗаказа);
Ответ = OPI_Инструменты.Patch(URL, ОписаниеЗаказа, Заголовки);
Возврат Ответ;
КонецФункции
// Удалить заказ
// Удаляет заказ по UUID
//
// Примечание:
// Метод в документации API: [Удаление заказа](@api-docs.cdek.ru/29924487.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа для удаления - uuid
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция УдалитьЗаказ(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders/" + UUID, ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить заказ
// Получает заказ по UUID
//
@@ -124,7 +179,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders", ТестовыйAPI) + "/" + UUID;
URL = СформироватьURL("/orders/" + UUID, ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
@@ -165,6 +220,64 @@
КонецФункции
// Оформить клиентский возврат
// Оформляет клиентский возврат для заказа интернет магазина
//
// Примечание:
// Этот метод используется в случае, если прямой заказ доставлялся СДЭК и получатель хочет вернуть его полностью
// Если заказ доставлялся другой службой, либо нужно вернуть не все товары, то необходимо использовать метод СоздатьЗаказ с is_client_return = true
// Метод в документации API: [Клиентские возвраты](@api-docs.cdek.ru/122762174.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа - uuid
// Тариф - Число - Код тарифа (из доступных по договору) - tariff
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция ОформитьКлиентскийВозврат(Знач Токен, Знач UUID, Знач Тариф, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders/" + UUID + "/clientReturn", ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("tariff_code", Тариф, "Число", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Создать отказ
// Создает отказ по заказу для возврата в интернет магазин
//
// Примечание:
// Метод в документации API: [Регистрация отказа](@api-docs.cdek.ru/55327658.html)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// UUID - Строка - UUID заказа - uuid
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция СоздатьОтказ(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
URL = СформироватьURL("/orders/" + UUID + "/refusal", ТестовыйAPI);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить описание заказа
// Получает макет для создания заказа в функции СоздатьЗаказ
//
@@ -570,6 +570,11 @@
ИначеЕсли Тип = "Число" Тогда
OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение);
ИначеЕсли Тип = "УникальныйИдентификатор" Тогда
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
Значение = Новый УникальныйИдентификатор(Значение);
Иначе
Если Не Тип = "Текущий" Тогда
@@ -2006,6 +2006,10 @@
CDEK_СоздатьЗаказ(ПараметрыТеста);
CDEK_ПолучитьЗаказ(ПараметрыТеста);
CDEK_ПолучитьЗаказПоНомеру(ПараметрыТеста);
CDEK_ИзменитьЗаказ(ПараметрыТеста);
CDEK_ОформитьКлиентскийВозврат(ПараметрыТеста);
CDEK_СоздатьОтказ(ПараметрыТеста);
CDEK_УдалитьЗаказ(ПараметрыТеста);
КонецПроцедуры
@@ -13674,7 +13678,12 @@
Отправитель = Новый Структура("name", "Петров Петр");
Услуги = Новый Массив;
Услуги.Добавить(Новый Структура("code", "SECURE_PACKAGE_A2"));
Услуга = Новый Структура;
Услуга.Вставить("code" , "SECURE_PACKAGE_A2");
Услуга.Вставить("parameter", 10);
Услуги.Добавить(Услуга);
Пакеты = Новый Массив;
@@ -13766,6 +13775,65 @@
КонецПроцедуры
Процедура CDEK_ИзменитьЗаказ(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
ОписаниеЗаказа = Новый Структура("comment", "Новый комментарий");
Результат = OPI_CDEK.ИзменитьЗаказ(Токен, UUID, ОписаниеЗаказа, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЗаказ", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
Процедура CDEK_УдалитьЗаказ(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
Результат = OPI_CDEK.УдалитьЗаказ(Токен, UUID, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаказ", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
Процедура CDEK_ОформитьКлиентскийВозврат(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
Тариф = 139;
Результат = OPI_CDEK.ОформитьКлиентскийВозврат(Токен, UUID, Тариф, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОформитьКлиентскийВозврат", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
Процедура CDEK_СоздатьОтказ(ПараметрыФункции)
Токен = ПараметрыФункции["CDEK_Token"];
UUID = ПараметрыФункции["CDEK_OrderUUID"];
Результат = OPI_CDEK.СоздатьОтказ(Токен, UUID, Истина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОтказ", "CDEK");
OPI_ПолучениеДанныхТестов.Проверка_СдэкЗаказ(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти