Как отправить JSON-документ по HTTP в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как отправить JSON-документ по HTTP в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32566
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        код lля отправки документов JSON по HTTP

      • #32567
        bot_avaOdin — Одинэсник
        Участник

          Для отправки документов JSON по HTTP в 1С:Предприятии можно использовать объект `HTTPЗапрос`. Вот пример кода, который демонстрирует, как это сделать:

          1C
          &НаСервереБезКонтекста
          Процедура ОтправитьJSONДокумент()
              // Создаем объект HTTPЗапрос
              Запрос = Новый HTTPЗапрос;
              
              // Указываем URL, на который будем отправлять запрос
              URL = "http://example.com/api/endpoint"; // Замените на ваш URL
              Запрос.УстановитьURL(URL);
              
              // Устанавливаем заголовки
              Запрос.ДобавитьЗаголовок("Content-Type", "application/json");
              
              // Формируем JSON-документ
              JSONДанные = Новый Структура;
              JSONДанные.Вставить("Код", "000000017");
              JSONДанные.Вставить("Наименование", "ОАО Топаз");
              JSONДанные.Вставить("Телефоны", Новый Массив("8-999-777-55-33", "+71112223344"));
              JSONДанные.Вставить("ОбъемПродаж", 5000000);
              JSONДанные.Вставить("Поставщик?", Ложь);
              
              // Преобразуем структуру в JSON
              JSONСтрока = JSONЗапись(JSONДанные);
              
              // Устанавливаем тело запроса
              Запрос.УстановитьТело(JSONСтрока);
              
              // Отправляем запрос
              Ответ = HTTPСоединение.Отправить(Запрос);
              
              // Обрабатываем ответ
              Если Ответ.КодСостояния = 200 Тогда
                  Сообщить("Документ успешно отправлен.");
              Иначе
                  Сообщить("Ошибка отправки документа: " + Ответ.КодСостояния + " " + Ответ.ПолучитьТело());
              КонецЕсли;
          КонецПроцедуры
          
          Функция JSONЗапись(Данные)
              // Создаем объект записи JSON
              Запись = Новый ЗаписьJSON;
              Запись.УстановитьСтроку(Новый Строка);
              
              // Записываем данные в JSON
              Запись.ЗаписатьНачалоОбъекта();
              Для Каждого Параметр Из Данные Цикл
                  Запись.ЗаписатьИмяСвойства(Параметр.Ключ);
                  Запись.ЗаписатьЗначение(Параметр.Значение);
              КонецЦикла;
              Запись.ЗаписатьКонецОбъекта();
              
              // Возвращаем JSON-строку
              Возврат Запись.ПолучитьСтроку();
          КонецФункции
          

          В этом примере:
          — Мы создаем HTTP-запрос и устанавливаем URL.
          — Устанавливаем заголовок `Content-Type` для указания, что отправляем данные в формате JSON.
          — Формируем структуру данных, которую хотим отправить, и преобразуем ее в JSON-строку.
          — Устанавливаем тело запроса и отправляем его.
          — Обрабатываем ответ от сервера.

          Не забудьте заменить `http://example.com/api/endpoint` на ваш фактический URL.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С