You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
1334 lines
86 KiB
Plaintext
1334 lines
86 KiB
Plaintext
// OneScript: ./OInt/core/Modules/OPI_CDEK.os
|
|
// Lib: CDEK
|
|
// CLI: cdek
|
|
// Keywords: cdek
|
|
|
|
// MIT License
|
|
|
|
// Copyright (c) 2023-2025 Anton Tsitavets
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
|
|
// The above copyright notice and this permission notice shall be included in all
|
|
// copies or substantial portions of the Software.
|
|
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
// SOFTWARE.
|
|
|
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
|
|
|
// BSLLS:Typo-off
|
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
|
// BSLLS:IncorrectLineBreak-off
|
|
// BSLLS:NumberOfOptionalParams-off
|
|
// BSLLS:UsingServiceTag-off
|
|
// BSLLS:LineLength-off
|
|
// BSLLS:UsingSynchronousCalls-off
|
|
// BSLLS:MagicNumber-off
|
|
|
|
//@skip-check module-structure-top-region
|
|
//@skip-check module-structure-method-in-regions
|
|
//@skip-check wrong-string-literal-content
|
|
//@skip-check method-too-many-params
|
|
|
|
#Область ПрограммныйИнтерфейс
|
|
|
|
#Область ОбщиеМетоды
|
|
|
|
// Получить токен
|
|
// Получает токен на основе идентификатора аккаунта и пароля
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Авторизация клиентов](@api-docs.cdek.ru/29923918.html)
|
|
//
|
|
// Параметры:
|
|
// Аккаунт - Строка - Идентификатор клиента (Account) - account
|
|
// Пароль - Строка - Секретный ключ (Password) - pass
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьТокен(Знач Аккаунт, Знач Пароль, ТестовыйAPI = Ложь) Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
URL = СформироватьURL("/oauth/token", ТестовыйAPI);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("grant_type" , "client_credentials", Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("client_id" , Аккаунт , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("client_secret", Пароль , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры, , Ложь);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить чеки на дату
|
|
// Получает информацию о чеках за указанную дату
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о чеке](@api-docs.cdek.ru/68257388.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// ДатаПолучения - Дата - Дата, за которую необходимо получить данные - date
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьЧекиНаДату(Знач Токен, Знач ДатаПолучения, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/check", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("date", ДатаПолучения, "ДатаБезВремени", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить реестры платежей на дату
|
|
// Полуает реестры наложенных платежей, по которым клиенту был переведен платеж
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о реестрах наложенных платежей](@api-docs.cdek.ru/107254706.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// ДатаПолучения - Дата - Дата, за которую необходимо получить данные - date
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьРеестрыПлатежейНаДату(Знач Токен, Знач ДатаПолучения, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/registries", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("date", ДатаПолучения, "ДатаБезВремени", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить переводы платежей на дату
|
|
// Получает информацию о заказах, по которым был переведен наложенны платеж интернет магазину
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о переводе наложенного платежа](@api-docs.cdek.ru/71059888.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// ДатаПолучения - Дата - Дата, за которую необходимо получить данные - date
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьПереводыПлатежейНаДату(Знач Токен, Знач ДатаПолучения, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/payment", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("date", ДатаПолучения, "ДатаБезВремени", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список офисов
|
|
// Получает список офисов с фильтром или без
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Список офисов](@api-docs.cdek.ru/36982648.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// Фильтр - Структура Из КлючИЗначение - Фильтр офисов. См. ПолучитьОписаниеФильтраОфисов - filter
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьСписокОфисов(Знач Токен, Знач Фильтр = "", Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтр);
|
|
|
|
URL = СформироватьURL("/deliverypoints", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Фильтр, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список регионов
|
|
// Получает список доступных регионов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Список регионов](@api-docs.cdek.ru/33829418.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// Страны - Массив Из Строка - Массив кодов стран в формате ISO_31661_alpha2 для отбора - countries
|
|
// Страница - Число - Страница выборки результата - page
|
|
// Язык - Строка - Язык: rus, eng, zho - lang
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьСписокРегионов(Знач Токен
|
|
, Знач Страны = Неопределено
|
|
, Знач Страница = 0
|
|
, Знач Язык = "rus"
|
|
, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/location/regions", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("country_codes", Страны , "Массив", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("page" , Страница, "Число" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("lang" , Язык , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить описание фильтра офисов
|
|
// Получает пустой макет фильтра получения списка офисов в функции ПолучитьСписокОфисов
|
|
//
|
|
// Примечание:
|
|
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
|
// Описания полей в документации: [Список офисов](@api-docs.cdek.ru/36982648.html)
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьОписаниеФильтраОфисов(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураФильтра = Новый Структура;
|
|
СтруктураФильтра.Вставить("postal_code" , "<Почтовый индекс города, для которого необходим список офисов>");
|
|
СтруктураФильтра.Вставить("city_code" , "<Код населенного пункта СДЭК>");
|
|
СтруктураФильтра.Вставить("type" , "<Тип офиса: PVZ, POSTAMAT, ALL>");
|
|
СтруктураФильтра.Вставить("country_code" , "<Код страны в формате ISO_3166-1_alpha-2>");
|
|
СтруктураФильтра.Вставить("region_code" , "<Код региона по базе СДЭК>");
|
|
СтруктураФильтра.Вставить("have_cashless" , "<Наличие терминала оплаты>");
|
|
СтруктураФильтра.Вставить("have_cash" , "<Есть прием наличных>");
|
|
СтруктураФильтра.Вставить("allowed_cod" , "<Разрешен наложенный платеж>");
|
|
СтруктураФильтра.Вставить("is_dressing_room", "<Наличие примерочной>");
|
|
СтруктураФильтра.Вставить("weight_max" , "<Максимальный вес в кг, который может принять офис>");
|
|
СтруктураФильтра.Вставить("weight_min" , "<Минимальный вес в кг, который принимает офис>");
|
|
СтруктураФильтра.Вставить("lang" , "<Локализация офиса>");
|
|
СтруктураФильтра.Вставить("take_only" , "<Является ли офис только пунктом выдачи>");
|
|
СтруктураФильтра.Вставить("is_handout" , "<Является пунктом выдачи>");
|
|
СтруктураФильтра.Вставить("is_reception" , "<Есть ли в офисе приём заказов>");
|
|
СтруктураФильтра.Вставить("fias_guid" , "<Код города ФИАС>");
|
|
СтруктураФильтра.Вставить("code" , "<Код ПВЗ>");
|
|
СтруктураФильтра.Вставить("is_ltl" , "<Работает ли офис с LTL>");
|
|
СтруктураФильтра.Вставить("fulfillment" , "<Работает ли офис с Фулфилмент.Приход>");
|
|
СтруктураФильтра.Вставить("size" , "<Ограничение выборки результата>");
|
|
СтруктураФильтра.Вставить("page" , "<Номер страницы выборки результата>");
|
|
|
|
Если Пустая Тогда
|
|
СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураФильтра;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСЗаказми
|
|
|
|
// Создать заказ
|
|
// Создает заказ по описанию полей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Регистрация заказа](@api-docs.cdek.ru/29923926.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// ОписаниеЗаказа - Структура Из КлючИЗначение - Набор полей заказа. См. ПолучитьОписаниеЗаказа - order
|
|
// ИнтернетМагазин - Булево - Признак типа заказа Интернет магазин - ostore
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция СоздатьЗаказ(Знач Токен, Знач ОписаниеЗаказа, Знач ИнтернетМагазин = Ложь, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаказа);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
|
|
|
URL = СформироватьURL("/orders", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("type", ?(ИнтернетМагазин, 1, 2), "Число", ОписаниеЗаказа);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, ОписаниеЗаказа, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить заказ
|
|
// Изменяет значения полей выбранного заказа
|
|
//
|
|
// Примечание:
|
|
// Метод в документации 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_ЗапросыHTTP.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_ЗапросыHTTP.Delete(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить заказ
|
|
// Получает заказ по UUID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о заказе](@api-docs.cdek.ru/29923975.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID заказа - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьЗаказ(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
|
|
URL = СформироватьURL("/orders/" + UUID, ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить заказ по номеру
|
|
// Получает заказ по номеру СДЭК или внутреннему номеру клиента
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о заказе](@api-docs.cdek.ru/29923975.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// НомерЗаказа - Строка - Номер заказа - number
|
|
// Внутренний - Булево - Вид номера заказа. Истина > номер в базе клиента, Ложь > номер СДЭК - internal
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьЗаказПоНомеру(Знач Токен, Знач НомерЗаказа, Знач Внутренний = Ложь, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Внутренний);
|
|
|
|
URL = СформироватьURL("/orders", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
ИмяПараметра = ?(Внутренний, "im_number", "cdek_number");
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле(ИмяПараметра, НомерЗаказа, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Оформить клиентский возврат
|
|
// Оформляет клиентский возврат для заказа интернет магазина
|
|
//
|
|
// Примечание:
|
|
// Этот метод используется в случае, если прямой заказ доставлялся СДЭК и получатель хочет вернуть его полностью
|
|
// Если заказ доставлялся другой службой, либо нужно вернуть не все товары, то необходимо использовать метод СоздатьЗаказ с 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_ЗапросыHTTP.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_ЗапросыHTTP.PostСТелом(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Сформировать квитанцию
|
|
// Формирует квитанции в формате pdf к заказам
|
|
//
|
|
// Примечание:
|
|
// Доступные типы (языки) квитанций: tpl_china, tpl_armenia, tpl_russia, tpl_english, tpl_italian, tpl_korean, tpl_latvian, tpl_lithuanian, tpl_german, tpl_turkish, tpl_czech, tpl_thailand, tpl_invoice
|
|
// Рекомендуется указывать не менее 2 копий на листе (параметр КопийНаЛисте): одна приклеивается на груз, вторая остается у отправителя
|
|
// Метод в документации API: [Формирование квитанции к заказу](@api-docs.cdek.ru/36967276.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// МассивUUID - Строка, Массив Из Строка - Один или массив UUID заказов - uuids
|
|
// Тип - Строка - Тип (язык) квитанции - type
|
|
// КопийНаЛисте - Число - Число копий одной квитанции на листе - count
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция СформироватьКвитанцию(Знач Токен
|
|
, Знач МассивUUID
|
|
, Знач Тип = "tpl_russia"
|
|
, Знач КопийНаЛисте = 2
|
|
, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивUUID);
|
|
|
|
URL = СформироватьURL("/print/orders", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
МассивЗаказов = Новый Массив;
|
|
|
|
Для Каждого UUID Из МассивUUID Цикл
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
МассивЗаказов.Добавить(Новый Структура("order_uuid", UUID));
|
|
|
|
КонецЦикла;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("orders" , МассивЗаказов, "Массив", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("copy_count", КопийНаЛисте , "Число" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("type" , Тип , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить квитанцию
|
|
// Получает квитанцию к заказу
|
|
//
|
|
// Примечание:
|
|
// Квитанция должна быть предварительно создана. См. СформироватьКвитанцию
|
|
// Ссылка на файл с квитанцией к заказам доступна в течение 1 часа
|
|
// Метод в документации API: [Получение квитанции к заказу](@api-docs.cdek.ru/36967287.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID квитанции, полученный при ее формировании - uuid
|
|
// ПолучитьФайл - Булево - Истина > будут получены сразу данные PDF файла, Ложь > ответ сервера CDEK - getfile
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение, ДвоичныеДанные - сериализованный JSON ответа от CDEK или PDF файл
|
|
Функция ПолучитьКвитанцию(Знач Токен, Знач UUID, Знач ПолучитьФайл = Ложь, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ПолучитьФайл);
|
|
|
|
URL = СформироватьURL("/print/orders/" + UUID, ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
Если ПолучитьФайл Тогда
|
|
|
|
Содержимое = Ответ["entity"];
|
|
|
|
Если Не ЗначениеЗаполнено(Содержимое) Тогда
|
|
Возврат Ответ;
|
|
КонецЕсли;
|
|
|
|
URL = Содержимое["url"];
|
|
|
|
Если Не ЗначениеЗаполнено(URL) Тогда
|
|
Возврат Ответ;
|
|
КонецЕсли;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
КонецЕсли;
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Сформировать штрихкод
|
|
// Формирует штрихкод места в формате PDF для заказов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Формирование ШК места к заказу](@api-docs.cdek.ru/36967295.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// МассивUUID - Строка, Массив Из Строка - Один или массив UUID заказов - uuids
|
|
// Копий - Число - Число копий - count
|
|
// Формат - Строка - Формат печати: A4, A5, A6, A7 - format
|
|
// Язык - Строка - Язык штрихкода: RUS, ENG - lang
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция СформироватьШтрихкод(Знач Токен
|
|
, Знач МассивUUID
|
|
, Знач Копий = 1
|
|
, Знач Формат = "A4"
|
|
, Знач Язык = "RUS"
|
|
, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивUUID);
|
|
|
|
URL = СформироватьURL("/print/barcodes", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
МассивЗаказов = Новый Массив;
|
|
|
|
Для Каждого UUID Из МассивUUID Цикл
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
МассивЗаказов.Добавить(Новый Структура("order_uuid", UUID));
|
|
|
|
КонецЦикла;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("orders" , МассивЗаказов, "Массив", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("copy_count", Копий , "Число" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("format" , Формат , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("lang" , Язык , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить штрихкод
|
|
// Получает штрихкод места к заказу
|
|
//
|
|
// Примечание:
|
|
// Штрихкод должен быть предварительно создан. См. СформироватьШтрихкод
|
|
// Ссылка на файл с ШК местом к заказам доступна в течение 1 часа
|
|
// Метод в документации API: [Получение ШК места к заказу](@api-docs.cdek.ru/36967298.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID штрихкода, полученный при его формировании - uuid
|
|
// ПолучитьФайл - Булево - Истина > будут получены сразу данные PDF файла, Ложь > ответ сервера CDEK - getfile
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение, ДвоичныеДанные - сериализованный JSON ответа от CDEK или PDF файл
|
|
Функция ПолучитьШтрихкод(Знач Токен, Знач UUID, Знач ПолучитьФайл = Ложь, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ПолучитьФайл);
|
|
|
|
URL = СформироватьURL("/print/barcodes/" + UUID, ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
Если ПолучитьФайл Тогда
|
|
|
|
Содержимое = Ответ["entity"];
|
|
|
|
Если Не ЗначениеЗаполнено(Содержимое) Тогда
|
|
Возврат Ответ;
|
|
КонецЕсли;
|
|
|
|
URL = Содержимое["url"];
|
|
|
|
Если Не ЗначениеЗаполнено(URL) Тогда
|
|
Возврат Ответ;
|
|
КонецЕсли;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
КонецЕсли;
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать преалерт
|
|
// Создает преалерт для списка заказов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Регистрация преалерта](@api-docs.cdek.ru/78934763.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// МассивUUID - Строка, Массив Из Строка - Один или массив UUID заказов - uuids
|
|
// ДатаПередачи - Дата - Планируемая дата передачи заказов в СДЭК - date
|
|
// ПВЗ - Строка - Код ПВЗ, в который планируется передать заказы - point
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция СоздатьПреалерт(Знач Токен, Знач МассивUUID, Знач ДатаПередачи, Знач ПВЗ, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
Planned_date_ = "planned_date";
|
|
|
|
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_ЗапросыHTTP.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_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить статус паспортных данных
|
|
// Получает информацию о статусе обработки паспортных данных для международных заказов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о паспортных данных](@api-docs.cdek.ru/55343091.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID заказа - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьСтатусПаспортныхДанных(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/passport", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("order_uuid", UUID, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить чек заказа
|
|
// Получает информацию о чеке по заказу
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Информация о чеке](@api-docs.cdek.ru/68257388.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID заказа - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьЧекЗаказа(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/check", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("order_uuid", UUID, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить описание заказа
|
|
// Получает макет для создания заказа в функции СоздатьЗаказ
|
|
//
|
|
// Примечание:
|
|
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
|
// Описания полей в документации: [Регистрация заказа](@api-docs.cdek.ru/29923926.html)
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
|
// ИнтернетМагазин - Булево - Признак включения в макет полей исключительно для заказо Интернет магазина - ostore
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьОписаниеЗаказа(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь, Знач ИнтернетМагазин = Ложь) Экспорт
|
|
|
|
// BSLLS:DuplicateStringLiteral-off
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
|
|
|
|
СтруктураЗаказа = Новый Структура;
|
|
|
|
СтруктураЗаказа.Вставить("tariff_code" , "<Код тарифа (подробнее см. приложение 1)>");
|
|
|
|
СтруктураПолучателя = Новый Структура;
|
|
СтруктураПолучателя.Вставить("company" , "<Название компании>");
|
|
СтруктураПолучателя.Вставить("name" , "<ФИО контактного лица>");
|
|
СтруктураПолучателя.Вставить("passport_series" , "<Серия паспорта>");
|
|
СтруктураПолучателя.Вставить("passport_number" , "<Номер паспорта>");
|
|
СтруктураПолучателя.Вставить("passport_date_of_issue", "<Дата выдачи паспорта>");
|
|
СтруктураПолучателя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
|
СтруктураПолучателя.Вставить("tin" , "<ИНН>");
|
|
СтруктураПолучателя.Вставить("passport_date_of_birth", "<Дата рождения>");
|
|
СтруктураПолучателя.Вставить("email" , "<Email как RFC 2822>");
|
|
СтруктураПолучателя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL >");
|
|
|
|
МассивТелефонов = Новый Массив;
|
|
СтруктураТелефона = Новый Структура;
|
|
|
|
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
|
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
|
|
|
МассивТелефонов.Добавить(СтруктураТелефона);
|
|
|
|
СтруктураПолучателя.Вставить("phones", МассивТелефонов);
|
|
|
|
СтруктураЗаказа.Вставить("recipient", СтруктураПолучателя);
|
|
|
|
МассивУпаковок = Новый Массив;
|
|
СтруктураУпаковки = Новый Структура;
|
|
|
|
СтруктураУпаковки.Вставить("number" , "<Номер упаковки>");
|
|
СтруктураУпаковки.Вставить("weight" , "<Общий вес (в граммах)>");
|
|
СтруктураУпаковки.Вставить("length" , "<Габариты упаковки. Длина (в сантиметрах)>");
|
|
СтруктураУпаковки.Вставить("width" , "<Габариты упаковки. Ширина (в сантиметрах)>");
|
|
СтруктураУпаковки.Вставить("height" , "<Габариты упаковки. Высота (в сантиметрах)>");
|
|
СтруктураУпаковки.Вставить("comment", "<Комментарий к упаковке>");
|
|
|
|
МассивПозиций = Новый Массив;
|
|
СтруктураПозиции = Новый Структура;
|
|
|
|
СтруктураПозиции.Вставить("name" , "<Наименование товара>");
|
|
СтруктураПозиции.Вставить("ware_key", "<Идентификатор/артикул товара>");
|
|
СтруктураПозиции.Вставить("marking" , "<Маркировка товара>");
|
|
|
|
СтруктураОплаты = Новый Структура;
|
|
СтруктураОплаты.Вставить("value" , "<Сумма наложенного платежа, в том числе и НДС>");
|
|
СтруктураОплаты.Вставить("vat_sum" , "<Сумма НДС>");
|
|
СтруктураОплаты.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
|
|
|
СтруктураПозиции.Вставить("payment" , СтруктураОплаты);
|
|
СтруктураПозиции.Вставить("cost" , "<Объявленная стоимость товара>");
|
|
СтруктураПозиции.Вставить("weight" , "<Вес (за единицу товара, в граммах)>");
|
|
СтруктураПозиции.Вставить("weight_gross", "<Вес брутто>");
|
|
СтруктураПозиции.Вставить("amount" , "<Количество единиц товара (в штуках)>");
|
|
СтруктураПозиции.Вставить("name_i18n" , "<Наименование на иностранном языке>");
|
|
СтруктураПозиции.Вставить("brand" , "<Бренд на иностранном языке>");
|
|
СтруктураПозиции.Вставить("country_code", "<Код страны производителя товара ISO_3166-1_alpha-2>");
|
|
СтруктураПозиции.Вставить("material" , "<Код материала>");
|
|
СтруктураПозиции.Вставить("wifi_gsm" , "<Содержит wifi или gsm>");
|
|
СтруктураПозиции.Вставить("url" , "<Ссылка на сайт интернет-магазина с описанием товара>");
|
|
|
|
МассивПозиций.Добавить(СтруктураПозиции);
|
|
|
|
СтруктураУпаковки.Вставить("items", МассивПозиций);
|
|
МассивУпаковок.Добавить(СтруктураУпаковки);
|
|
|
|
СтруктураЗаказа.Вставить("packages", МассивУпаковок);
|
|
|
|
Если Не ТолькоОбязательные Тогда
|
|
|
|
СтруктураЗаказа.Вставить("additional_order_types" , "<Дополнительный тип заказа>");
|
|
СтруктураЗаказа.Вставить("comment" , "<Комментарий к заказу>");
|
|
СтруктураЗаказа.Вставить("developer_key" , "<Ключ разработчика (для разработчиков модулей)>");
|
|
СтруктураЗаказа.Вставить("shipment_point" , "<Код ПВЗ СДЭК для самостоятельного привоза клиентом>");
|
|
СтруктураЗаказа.Вставить("delivery_point" , "<Код офиса СДЭК, на который будет доставлена посылка>");
|
|
СтруктураЗаказа.Вставить("date_invoice" , "<Дата инвойса>");
|
|
СтруктураЗаказа.Вставить("shipper_name" , "<Грузоотправитель>");
|
|
СтруктураЗаказа.Вставить("shipper_address" , "<Адрес грузоотправителя>");
|
|
|
|
СтруктураОтправителя = Новый Структура;
|
|
СтруктураОтправителя.Вставить("company" , "<Название компании>");
|
|
СтруктураОтправителя.Вставить("name" , "<ФИО контактного лица>");
|
|
СтруктураОтправителя.Вставить("email" , "<Email для оповещений RFC 2822>");
|
|
СтруктураОтправителя.Вставить("passport_series" , "<Серия паспорта>");
|
|
СтруктураОтправителя.Вставить("passport_number" , "<Номер паспорта>");
|
|
СтруктураОтправителя.Вставить("passport_date_of_issue" , "<Дата выдачи паспорта>");
|
|
СтруктураОтправителя.Вставить("passport_organization" , "<Орган выдачи паспорта>");
|
|
СтруктураОтправителя.Вставить("tin" , "<ИНН>");
|
|
СтруктураОтправителя.Вставить("passport_date_of_birth" , "<Дата рождения>");
|
|
СтруктураОтправителя.Вставить("contragent_type" , "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL>");
|
|
|
|
МассивТелефонов = Новый Массив;
|
|
СтруктураТелефона = Новый Структура;
|
|
|
|
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
|
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
|
|
|
МассивТелефонов.Добавить(СтруктураТелефона);
|
|
|
|
СтруктураОтправителя.Вставить("phones", МассивТелефонов);
|
|
|
|
СтруктураЗаказа.Вставить("sender", СтруктураОтправителя);
|
|
|
|
СтруктураАдреса = Новый Структура;
|
|
СтруктураАдреса.Вставить("code" , "<Код населенного пункта СДЭК>");
|
|
СтруктураАдреса.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
|
СтруктураАдреса.Вставить("postal_code" , "<Почтовый индекс>");
|
|
СтруктураАдреса.Вставить("longitude" , "<Долгота>");
|
|
СтруктураАдреса.Вставить("latitude" , "<Широта>");
|
|
СтруктураАдреса.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
|
СтруктураАдреса.Вставить("region" , "<Название региона, уточняющий параметр для поля city>");
|
|
СтруктураАдреса.Вставить("region_code" , "<Код региона СДЭК, уточняющий параметр для поля city>");
|
|
СтруктураАдреса.Вставить("sub_region" , "<Название района региона, уточняющий параметр для поля region>");
|
|
СтруктураАдреса.Вставить("city" , "<Название города, уточняющий параметр для postal_code>");
|
|
СтруктураАдреса.Вставить("kladr_code" , "<Код КЛАДР>");
|
|
СтруктураАдреса.Вставить("address" , "<Строка адреса >");
|
|
|
|
СтруктураЗаказа.Вставить("from_location", СтруктураАдреса);
|
|
СтруктураЗаказа.Вставить("to_location" , СтруктураАдреса);
|
|
|
|
СтруктураУслуги = Новый Структура;
|
|
СтруктураУслуги.Вставить("code" , "<Тип дополнительной услуги>");
|
|
СтруктураУслуги.Вставить("parameter", "<Параметр дополнительной услуги>");
|
|
|
|
СтруктураЗаказа.Вставить("services" , СтруктураУслуги);
|
|
СтруктураЗаказа.Вставить("print" , "<Необходимость сформировать печатную форму>");
|
|
СтруктураЗаказа.Вставить("is_client_return" , "<Клиентский возврат>");
|
|
СтруктураЗаказа.Вставить("accompanying_number", "<Номер сопроводительной накладной>");
|
|
СтруктураЗаказа.Вставить("widget_token" , "<Токен, полученный от widget.cdek.ru>");
|
|
|
|
Если ИнтернетМагазин Тогда
|
|
|
|
СтруктураЗаказа.Вставить("number", "<Номер заказа в ИС Клиента (uuid, если не заполнено)>");
|
|
|
|
СтруктураСбора = Новый Структура;
|
|
СтруктураСбора.Вставить("value" , "<Сумма дополнительного сбора (в том числе и НДС)>");
|
|
СтруктураСбора.Вставить("vat_sum" , "<Сумма НДС>");
|
|
СтруктураСбора.Вставить("vat_rate", "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
|
|
|
СтруктураЗаказа.Вставить("delivery_recipient_cost", СтруктураСбора);
|
|
|
|
МассивПорогов = Новый Массив;
|
|
СтруктураПорога = Новый Структура;
|
|
|
|
СтруктураПорога.Вставить("threshold", "<Порог стоимости товара в целых единицах валюты>");
|
|
СтруктураПорога.Вставить("sum" , "<Доп. сбор за доставку товаров, общая стоимость которых в интервале>");
|
|
СтруктураПорога.Вставить("vat_sum" , "<Сумма НДС, включённая в доп. сбор за доставку>");
|
|
СтруктураПорога.Вставить("vat_rate" , "<Ставка НДС (значение - 0, 10, 12, 20, null - нет НДС)>");
|
|
|
|
МассивПорогов.Добавить(СтруктураПорога);
|
|
|
|
СтруктураЗаказа.Вставить("delivery_recipient_cost_adv", МассивПорогов);
|
|
|
|
СтруктураПродавца = Новый Структура;
|
|
СтруктураПродавца.Вставить("name" , "<Наименование истинного продавца>");
|
|
СтруктураПродавца.Вставить("inn" , "<ИНН истинного продавца>");
|
|
СтруктураПродавца.Вставить("phone" , "<Телефон истинного продавца>");
|
|
СтруктураПродавца.Вставить("ownership_form", "<Код формы собственности>");
|
|
СтруктураПродавца.Вставить("address" , "<Адрес истинного продавца>");
|
|
|
|
СтруктураЗаказа.Вставить("seller", СтруктураПродавца);
|
|
|
|
КонецЕсли;
|
|
|
|
КонецЕсли;
|
|
|
|
Если Пустая Тогда
|
|
СтруктураЗаказа = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗаказа);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураЗаказа;
|
|
|
|
// BSLLS:DuplicateStringLiteral-on
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область УправлениеДоставкой
|
|
|
|
// Получить доступные интервалы доставки
|
|
// Получает доступные интервалы доставки для заказа
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Получение интервалов доставки](@api-docs.cdek.ru/154160502.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID заказа - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьДоступныеИнтервалыДоставки(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
URL = СформироватьURL("/delivery/intervals", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("order_uuid", UUID, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать заявку на вызов курьера
|
|
// Создает новую заявку на вызов курьера для забора груза
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Регистрация отказа](@api-docs.cdek.ru/55327658.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// ОписаниеЗаявки - Структура Из КлючИЗначение - Описание заявки. См. ПолучитьОписаниеЗаявкиКурьера - intake
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция СоздатьЗаявкуНаВызовКурьера(Знач Токен, Знач ОписаниеЗаявки, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеЗаявки);
|
|
|
|
URL = СформироватьURL("/intakes", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, ОписаниеЗаявки, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить заявку на вызов курьера
|
|
// Получает заявку на вызов курьера по UUID
|
|
//
|
|
// Примечание:
|
|
// Заявка должна быть предварительно создана. См. СоздатьЗаявкуНаВызовКурьера
|
|
// Метод в документации API: [Информация о заявке](@api-docs.cdek.ru/29948360.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID заявки - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьЗаявкуНаВызовКурьера(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
|
|
URL = СформироватьURL("/intakes/" + UUID, ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить заявку на вызов курьера
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Удаление заявки](@api-docs.cdek.ru/29948379.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID заявки для удаления - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция УдалитьЗаявкуНаВызовКурьера(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
|
|
URL = СформироватьURL("/intakes/" + UUID, ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Delete(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Зафиксировать договоренность о доставке
|
|
// Фиксирует оговоренные с клиентом дату, время и адрес доставки
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [Регистрация договоренности о доставке](@api-docs.cdek.ru/36981338.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// Договоренность - Структура Из КлючИЗначение - Описание договоренности. См. ПолучитьОписаниеДоговоренности - appt
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ЗафиксироватьДоговоренностьОДоставке(Знач Токен, Знач Договоренность, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Договоренность);
|
|
|
|
URL = СформироватьURL("/delivery", ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Договоренность, Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить договоренность о доставке
|
|
// Получает информацию об оговоренных с клиентом дате, времени и адресе доставки
|
|
//
|
|
// Примечание:
|
|
// Договоренность должна быть предварительно создана. См. ЗафиксироватьДоговоренностьОДоставке
|
|
// Метод в документации API: [Информация о договоренности о доставке](@api-docs.cdek.ru/36981626.html)
|
|
//
|
|
// Параметры:
|
|
// Токен - Строка - Токен авторизации - token
|
|
// UUID - Строка - UUID договоренности - uuid
|
|
// ТестовыйAPI - Булево - Флаг использования API для тестовых запросов - testapi
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
|
|
Функция ПолучитьДоговоренностьОДоставке(Знач Токен, Знач UUID, Знач ТестовыйAPI = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(UUID);
|
|
|
|
URL = СформироватьURL("/delivery/" + UUID, ТестовыйAPI);
|
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, , Заголовки);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить описание заявки курьера
|
|
// Получает макет для создания заявки на вызов курьера в функции СоздатьЗаявкуНаВызовКурьера
|
|
//
|
|
// Примечание:
|
|
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
|
// Описания полей в документации: [Регистрация заявки на вызов курьера](@api-docs.cdek.ru/29925274.html)
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьОписаниеЗаявкиКурьера(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь) Экспорт
|
|
|
|
// BSLLS:DuplicateStringLiteral-off
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
|
|
|
СтруктураЗаявки = Новый Структура;
|
|
|
|
СтруктураЗаявки.Вставить("intake_date" , "<Дата ожидания курьера>");
|
|
СтруктураЗаявки.Вставить("intake_time_from" , "<Время начала ожидания курьера>");
|
|
СтруктураЗаявки.Вставить("intake_time_to" , "<Время окончания ожидания курьера>");
|
|
|
|
Если Не ТолькоОбязательные Тогда
|
|
|
|
СтруктураЗаявки.Вставить("cdek_number" , "<Номер заказа СДЭК>");
|
|
СтруктураЗаявки.Вставить("order_uuid" , "<Идентификатор заказа в ИС СДЭК>");
|
|
СтруктураЗаявки.Вставить("lunch_time_from" , "<Время начала обеда>");
|
|
СтруктураЗаявки.Вставить("lunch_time_to" , "<Время окончания обеда>");
|
|
СтруктураЗаявки.Вставить("name" , "<Описание груза>");
|
|
СтруктураЗаявки.Вставить("weight" , "<Общий вес (в граммах)>");
|
|
СтруктураЗаявки.Вставить("length" , "<Габариты упаковки. Длина (в сантиметрах)>");
|
|
СтруктураЗаявки.Вставить("width" , "<Габариты упаковки. Ширина (в сантиметрах)>");
|
|
СтруктураЗаявки.Вставить("height" , "<Габариты упаковки. Высота (в сантиметрах)>");
|
|
СтруктураЗаявки.Вставить("comment" , "<Комментарий к заявке для курьера>");
|
|
СтруктураЗаявки.Вставить("need_call" , "<Необходим прозвон отправителя>");
|
|
СтруктураЗаявки.Вставить("courier_power_of_attorney", "<Курьеру необходима доверенность>");
|
|
СтруктураЗаявки.Вставить("courier_identity_card" , "<Курьеру необходим документ удостоверяющий личность>");
|
|
|
|
СтруктураОтправителя = Новый Структура;
|
|
СтруктураОтправителя.Вставить("company" , "<Название компании отправителя>");
|
|
СтруктураОтправителя.Вставить("name" , "<ФИО контактного лица>");
|
|
СтруктураОтправителя.Вставить("contragent_type", "<Тип отправителя: LEGAL_ENTITY, INDIVIDUAL>");
|
|
|
|
МассивТелефонов = Новый Массив;
|
|
|
|
СтруктураТелефона = Новый Структура;
|
|
СтруктураТелефона.Вставить("number" , "<Номер телефона>");
|
|
СтруктураТелефона.Вставить("additional", "<Дополнительная информация (добавочный номер)>");
|
|
|
|
МассивТелефонов.Добавить(СтруктураТелефона);
|
|
|
|
СтруктураОтправителя.Вставить("phones", МассивТелефонов);
|
|
|
|
СтруктураЗаявки.Вставить("sender" , СтруктураОтправителя);
|
|
|
|
СтруктураАдресаОтправления = Новый Структура;
|
|
СтруктураАдресаОтправления.Вставить("code" , "<Код населенного пункта СДЭК>");
|
|
СтруктураАдресаОтправления.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
|
СтруктураАдресаОтправления.Вставить("postal_code" , "<Почтовый индекс>");
|
|
СтруктураАдресаОтправления.Вставить("longitude" , "<Долгота>");
|
|
СтруктураАдресаОтправления.Вставить("latitude" , "<Широта>");
|
|
СтруктураАдресаОтправления.Вставить("country_code", "<Код страны>");
|
|
СтруктураАдресаОтправления.Вставить("region" , "<Название региона, уточняющий параметр для поля city>");
|
|
СтруктураАдресаОтправления.Вставить("region_code" , "<Код региона СДЭК, уточняющий параметр для поля city>");
|
|
СтруктураАдресаОтправления.Вставить("sub_region" , "<Название района региона, уточняющий параметр для поля region>");
|
|
СтруктураАдресаОтправления.Вставить("city" , "<Название города, уточняющий параметр для postal_code>");
|
|
СтруктураАдресаОтправления.Вставить("kladr_code" , "<Код КЛАДР. Устаревшее поле>");
|
|
СтруктураАдресаОтправления.Вставить("address" , "<Строка адреса>");
|
|
|
|
СтруктураЗаявки.Вставить("from_location" , СтруктураАдресаОтправления);
|
|
|
|
КонецЕсли;
|
|
|
|
Если Пустая Тогда
|
|
СтруктураЗаявки = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗаявки);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураЗаявки;
|
|
|
|
// BSLLS:DuplicateStringLiteral-on
|
|
|
|
КонецФункции
|
|
|
|
// Получить описание договоренности
|
|
// Получает макет для создания о доставке в функции ЗафиксироватьДоговоренностьОДоставке
|
|
//
|
|
// Примечание:
|
|
// Обязательность реквизитов может зависить от типа зказа или вложенности. Обязательно ознакомьтесь с документацией CDEK
|
|
// Описания полей в документации: [Регистрация договоренности о доставке](@api-docs.cdek.ru/36981338.html)
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// ТолькоОбязательные - Булево - Истина > в макете будут только обязательные поля - required
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьОписаниеДоговоренности(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
|
|
|
|
СтруктураДоговоренности = Новый Структура;
|
|
|
|
СтруктураДоговоренности.Вставить("date", "<Дата доставки, согласованная с получателем>");
|
|
|
|
Если Не ТолькоОбязательные Тогда
|
|
|
|
СтруктураДоговоренности.Вставить("cdek_number" , "<Номер заказа СДЭК>");
|
|
СтруктураДоговоренности.Вставить("order_uuid" , "<Идентификатор заказа в ИС СДЭК>");
|
|
СтруктураДоговоренности.Вставить("time_from" , "<Время доставки С, согласованное с получателем>");
|
|
СтруктураДоговоренности.Вставить("time_to" , "<Время доставки ПО, согласованное с получателем>");
|
|
СтруктураДоговоренности.Вставить("comment" , "<Комментарий>");
|
|
СтруктураДоговоренности.Вставить("delivery_point", "<Буквенно-цифровой код ПВЗ СДЭК>");
|
|
|
|
СтруктураАдресаДоставки = Новый Структура;
|
|
СтруктураАдресаДоставки.Вставить("code" , "<Код населенного пункта СДЭК>");
|
|
СтруктураАдресаДоставки.Вставить("fias_guid" , "<Уникальный идентификатор ФИАС>");
|
|
СтруктураАдресаДоставки.Вставить("postal_code" , "<Почтовый индекс>");
|
|
СтруктураАдресаДоставки.Вставить("longitude" , "<Долгота>");
|
|
СтруктураАдресаДоставки.Вставить("latitude" , "<Широта>");
|
|
СтруктураАдресаДоставки.Вставить("country_code", "<Код страны в формате ISO_3166-1_alpha-2>");
|
|
СтруктураАдресаДоставки.Вставить("region" , "<Название региона>");
|
|
СтруктураАдресаДоставки.Вставить("region_code" , "<Код региона>");
|
|
СтруктураАдресаДоставки.Вставить("sub_region" , "<Название района региона>");
|
|
СтруктураАдресаДоставки.Вставить("city" , "<Название города>");
|
|
СтруктураАдресаДоставки.Вставить("kladr_code" , "<Код КЛАДР>");
|
|
СтруктураАдресаДоставки.Вставить("address" , "<Строка адреса>");
|
|
|
|
СтруктураДоговоренности.Вставить("to_location", СтруктураАдресаДоставки);
|
|
|
|
КонецЕсли;
|
|
|
|
Если Пустая Тогда
|
|
СтруктураДоговоренности = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураДоговоренности);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураДоговоренности;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#КонецОбласти
|
|
|
|
#Область СлужебныеПроцедурыИФункции
|
|
|
|
Функция СформироватьURL(Знач Метод, Знач ТестовыйAPI)
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ТестовыйAPI);
|
|
|
|
Если ТестовыйAPI Тогда
|
|
URL = "https://api.edu.cdek.ru/v2";
|
|
Иначе
|
|
URL = "https://api.cdek.ru/v2";
|
|
КонецЕсли;
|
|
|
|
URL = URL + Метод;
|
|
|
|
Возврат URL;
|
|
|
|
КонецФункции
|
|
|
|
Функция СоздатьЗаголовкиЗапроса(Знач Токен)
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
|
|
|
Заголовки = Новый Соответствие;
|
|
Заголовки.Вставить("Authorization", "Bearer " + Токен);
|
|
Возврат Заголовки;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|