Создаю Json, отправляю по ссылке и он в любом случае выдает ошибку с кодом 422. Даже если ключ кривой прописать, он не даст 403. Может я не правильно пытаюсь достучаться по ссылке? Прикреплю файл, может там найдете причину.
Процедура Отправить(Команда)
// Создать структуру с данными.
Данные = Новый Структура;
Данные.Вставить("objectId", "ce0dec40-5f72-447c-9d5e-abe4bebffdaa");
Данные.Вставить("accessKey", "cf8f960c-b645-11ec-b909-0242ac120002");
// Добавить элемент структуры МассивВесы типа Массив.
МассивВесы = Новый Массив;
ДанныеВН = Новый Структура;
ДанныеВН.Вставить("id","0cd20dea-7b97-4592-b047-494c6615bc3d"); //Обязательное УИДОперации c876210a-ccec-454d-8b1d-6d5064a8d109
ДанныеВН.Вставить("dateBefore", "2024-04-11 01:30:43.497247"); //Обязательное
ДанныеВН.Вставить("dateAfter", "2024-04-11 01:40:36.497247");
ДанныеВН.Вставить("registrationNumber", "МК-1552-13 О897ТУ62 (Спецпромсервис)"); //Обязательное
ДанныеВН.Вставить("garbageTruckType", "");
ДанныеВН.Вставить("garbageTruckBrand", "");
ДанныеВН.Вставить("garbageTruckModel", "");
ДанныеВН.Вставить("companyName", "К-СК Дягилево");
ДанныеВН.Вставить( "companyInn", "");
ДанныеВН.Вставить("companyKpp", "");
ДанныеВН.Вставить("weightBefore", "8980"); //Обязательное
ДанныеВН.Вставить( "weightAfter", "6030"); //Обязательное
ДанныеВН.Вставить( "weightDriver", "");
ДанныеВН.Вставить("coefficient", "");
ДанныеВН.Вставить("garbageWeight", "");
ДанныеВН.Вставить("garbageType", "");
ДанныеВН.Вставить("codeFKKO", "");
ДанныеВН.Вставить("nameFKKO", "");
МассивВесы.Добавить(ДанныеВН);
Данные.Вставить("weightControls", МассивВесы);
// Создать объект записи и открыть файл, в который будет выполняться запись.
ЗаписьФайлаJSON = Новый ЗаписьJSON;
ПутьКФайлу = "C:\Users\dkukushkin\Desktop\Тест Json\Test.json";
ЗаписьФайлаJSON.ОткрытьФайл(ПутьКФайлу);
// Выполнить запись данных (Данные) с помощью объекта записи (Запись).
ЗаписатьJSON(ЗаписьФайлаJSON, Данные);
// Завершить работу с файлом.
ЗаписьФайлаJSON.Закрыть();
// Выполнение curl запроса через COM-объект MSXML2.XMLHTTP
Запрос = Новый COMОбъект("MSXML2.XMLHTTP");
Запрос.open("POST", "https://api.reo.ru/reo-weight-control-api/api/v1/weight-controls/import", Ложь);
Запрос.setRequestHeader("Content-Type", "multipart/form-data");
Запрос.setRequestHeader("accept", "*/*");
Запрос.send("file=@" + ПутьКФайлу);
// Получение ответа
Ответ = Запрос.responseText;
// Обработка ответа
Если Запрос.Status = 200 Тогда
Сообщить("Запрос успешно обработан");
Иначе
Если Запрос.Status = 403 Тогда
Сообщить("Ограничение в доступе. Некорректный ключ доступа");
Иначе
Если Запрос.Status = 422 Тогда
Сообщить("Ошибка валидации");
Иначе
Сообщить("Неизвестный код ответа: " + Строка(Запрос.Status));
КонецЕсли;
КонецЕсли;
КонецЕсли;
// Удаление временного файла
Если НЕ Запрос.Status >= 400 Тогда
Файл = Новый Файл(ПутьКФайлу);
Если Файл.Существует() Тогда
Файл.Удалить();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
Инструкция_для_подключения_интеграции_по_весовому_контролю.pdf
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
формату multipart/form-data.
Спасибо, вот поменял, но выдает ошибку 415
&НаКлиенте
Процедура Отправить(Команда)
// Создать структуру с данными.
Данные = Новый Структура;
Данные.Вставить("objectId", "ce0dec40-5f72-447c-9d5e-abe4bebffdaa");
Данные.Вставить("accessKey", "cf8f960c-b645-11ec-b909-0242ac120002");
// Добавить элемент структуры МассивВесы типа Массив.
МассивВесы = Новый Массив;
ДанныеВН = Новый Структура;
ДанныеВН.Вставить("id","0cd20dea-7b97-4592-b047-494c6615bc3d"); //Обязательное УИДОперации c876210a-ccec-454d-8b1d-6d5064a8d109
ДанныеВН.Вставить("dateBefore", "2024-04-11 01:30:43.497247"); //Обязательное
ДанныеВН.Вставить("dateAfter", "2024-04-11 01:40:36.497247");
ДанныеВН.Вставить("registrationNumber", "МК-1552-13 О897ТУ62 (Спецпромсервис)"); //Обязательное
ДанныеВН.Вставить("garbageTruckType", "");
ДанныеВН.Вставить("garbageTruckBrand", "");
ДанныеВН.Вставить("garbageTruckModel", "");
ДанныеВН.Вставить("companyName", "К-СК Дягилево");
ДанныеВН.Вставить( "companyInn", "6234139457");
ДанныеВН.Вставить("companyKpp", "");
ДанныеВН.Вставить("weightBefore", "8980"); //Обязательное
ДанныеВН.Вставить( "weightAfter", "6030"); //Обязательное
ДанныеВН.Вставить( "weightDriver", "");
ДанныеВН.Вставить("coefficient", "1");
ДанныеВН.Вставить("garbageWeight", "2950");
ДанныеВН.Вставить("garbageType", "");
ДанныеВН.Вставить("codeFKKO", "");
ДанныеВН.Вставить("nameFKKO", "");
МассивВесы.Добавить(ДанныеВН);
Данные.Вставить("weightControls", МассивВесы);
// Преобразовать структуру в JSON строку.
СтрокаДанных = Строка(Данные);
// Создать объект запроса и отправить данные.
Запрос = Новый COMОбъект("MSXML2.XMLHTTP");
Запрос.open("POST", "https://api.reo.ru/reo-weight-control-api/api/v1/weight-controls/import", Ложь);
Запрос.setRequestHeader("Content-Type", "application/json");
Запрос.setRequestHeader("accept", "*/*");
Запрос.send(СтрокаДанных);
// Получение ответа
Ответ = Запрос.responseText;
// Обработка ответа
Если Запрос.Status = 200 Тогда
Сообщить("Запрос успешно обработан");
Иначе
Если Запрос.Status = 403 Тогда
Сообщить("Ограничение в доступе. Некорректный ключ доступа");
Иначе
Если Запрос.Status = 422 Тогда
Сообщить("Ошибка валидации");
Иначе
Сообщить("Неизвестный код ответа: " + Строка(Запрос.Status));
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Показать
(6) Придется формировать в формате multipart/form-data. Соглашусь в инструкции было прописано, что нужно использовать формат multipart/form-data.
Я просто вообще ни разу не сталкивался не с формированием не json, не с формирование через формат multipart/form-data.
Я просто вообще ни разу не сталкивался не с формированием не json, не с формирование через формат multipart/form-data.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот