Если Ответ.КодСостояния = 200 Тогда
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТелоОтвета);
Если ЧтениеJSON.Read() Тогда
ДанныеОтвета = ЧтениеJSON.Получить();
Сообщить("Получен ответ: " + ТелоОтвета);
Иначе
Сообщить("Ошибка разбора JSON ответа.");
КонецЕсли;
ИначеЕсли Ответ.КодСостояния = 400 Тогда
Сообщить("Ошибка: Неверный запрос (400 Bad Request). Проверьте параметры запроса.");
ИначеЕсли Ответ.КодСостояния = 401 Тогда
Сообщить("Ошибка: Неавторизован (401 Unauthorized). Проверьте API-ключ.");
ИначеЕсли Ответ.КодСостояния = 403 Тогда
Сообщить("Ошибка: Доступ запрещен (403 Forbidden). Проверьте права доступа.");
ИначеЕсли Ответ.КодСостояния = 404 Тогда
Сообщить("Ошибка: Ресурс не найден (404 Not Found). Проверьте URL запроса.");
ИначеЕсли Ответ.КодСостояния >= 500 Тогда
Сообщить("Ошибка сервера (" + Ответ.КодСостояния + "). Попробуйте повторить запрос позже.");
Иначе
Сообщить("Ошибка выполнения запроса. Код состояния: " + Ответ.КодСостояния);
КонецЕсли;
WaliotApiСервер = "api.waliot.com";
Соединение = Новый HTTPСоединение(WaliotApiСервер, 443, , , , 0, Новый ЗащищенноеСоединениеOpenSSL());
WaliotApiКлюч = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "ApiKey " + WaliotApiКлюч);
Заголовки.Вставить("Accept", "application/json;charset=UTF-8");
WaliotApiАдрес = "/api/customers/organizations/organization";
Запрос = Новый HTTPЗапрос(WaliotApiАдрес, Заголовки);
Ответ = Соединение.ВызватьHTTPМетод("GET", Запрос);
ОтветJSON = ПреобразоватьОтветJSON(Ответ);
WaliotApiСервер = "api.waliot.com";
Соединение = Новый HTTPСоединение(WaliotApiСервер, 443, , , , 0, Новый ЗащищенноеСоединениеOpenSSL());
WaliotApiКлюч = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "ApiKey " + WaliotApiКлюч);
Заголовки.Вставить("Accept", "application/json;charset=UTF-8");
Заголовки.Вставить("Content-Type", "application/json;charset=UTF-8");
Параметры = Новый Соответствие;
Параметры.Вставить("trackingObjectId", 12345);
Параметры.Вставить("expiredTime", "2021-05-25T13:30:00Z");
Запись = Новый ЗаписьJSON;
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, "", Истина);
Запись.УстановитьСтроку(ПараметрыЗаписи);
ЗаписатьJSON(Запись, Параметры);
Тело = Запись.Закрыть();
WaliotApiАдрес = "/api/customers/share/tracking-objects";
Запрос = Новый HTTPЗапрос(WaliotApiАдрес, Заголовки);
Запрос.УстановитьТелоИзСтроки(Тело, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
ОтветJSON = ПреобразоватьОтветJSON(Ответ);
WaliotApiСервер = "api.waliot.com";
Соединение = Новый HTTPСоединение(WaliotApiСервер, 443, , , , 0, Новый ЗащищенноеСоединениеOpenSSL());
WaliotApiКлюч = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "ApiKey " + WaliotApiКлюч);
Заголовки.Вставить("Accept", "application/json;charset=UTF-8");
Заголовки.Вставить("Content-Type", "application/json;charset=UTF-8");
ПараметрыЗапроса = Новый Соответствие;
ПараметрыЗапроса.Вставить("type", "GROUP_FUEL_CONSUMPTION");
ПараметрыЗапроса.Вставить("format", "JSON");
ПараметрыЗапроса.Вставить("version", "VER_3");
ТелоЗапроса = Новый Структура;
ТелоЗапроса.Вставить("orgId", "12345");
Интервалы = Новый Массив;
Интервал = Новый Структура;
Интервал.Вставить("from", "2024-09-03T21:00:00.000Z");
Интервал.Вставить("to", "2024-09-04T20:59:59.000Z");
Интервалы.Добавить(Интервал);
ТелоЗапроса.Вставить("intervals", Интервалы);
Объекты = Новый Массив;
Объекты.Добавить(1000);
Объекты.Добавить(2000);
ТелоЗапроса.Вставить("objects", Объекты);
ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, "", Истина);
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи);
ЗаписатьJSON(ЗаписьJSON, ТелоЗапроса);
Тело = ЗаписьJSON.Закрыть();
WaliotApiАдрес = "/api/reports";
Запрос = Новый HTTPЗапрос(WaliotApiАдрес, Заголовки);
Запрос.Метод = "POST";
Для Каждого Параметр Из ПараметрыЗапроса Цикл
Запрос.ПараметрыURL.Вставить(Параметр.Ключ, Параметр.Значение);
КонецЦикла;
Запрос.УстановитьТелоИзСтроки(Тело, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
ОтветJSON = ПреобразоватьОтветJSON(Ответ);