Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 12:39

Интеграция 1С с сайтом через API и JSON

Автор Белкет, 19 сен 2020, 16:57

0 Пользователей и 1 гость просматривают эту тему.

Белкет

Здравствуйте.
Есть задача, нужно соединить 1С с сайтом(с сервисом Яндекса) и получать из него данные. Я просто не понимаю как начать соединение с сайтом и получить из него данные. Можете, пожалуйста, подсказать, как передаются данные на сайт и как с него получать данные. Желательно на примере)


Белкет

Для меня осталась одна вещь непонятой. При отправке POST-запроса где находится само тело запроса? Должен вручную создаться новый документ или как? Если же файл создается, то как к нему обратиться?

antoneus

Тело POST-запроса находится в HTTP-запросе. Устанавливается методом УстановитьТелоИзСтроки. Если нужно отправить файл - вызывайте метод УстановитьИмяФайлаТела.

Белкет

В итоге в 1С у меня вышло так:

&НаКлиенте
Процедура ПопыткаСоединения(Команда)
        ЗаголовокЗапроса = Новый Соответствие();
ЗаголовокЗапроса.Вставить("Content-Type", "application/json");
ЗаголовокЗапроса.Вставить("Accept", "application/json");
ЗаголовокЗапроса.Вставить("Accept-Language", "ru");
ЗаголовокЗапроса.Вставить("X-Client-ID", "(указываю ID)");
ЗаголовокЗапроса.Вставить("X-API-Key", "(указываю API ключ)");
HTTP = Новый HTTPСоединение("fleet-api.taxi.yandex.net",,,,,,Новый ЗащищенноеСоединениеOpenSSL());
ЗапросPOST = Новый HTTPЗапрос("/v1/parks/cars/list", ЗаголовокЗапроса);
ЗапросPOST.УстановитьИмяФайлаТела("C:\Users\Рабочий стол\example.json");
Результат = HTTP.Получить(ЗапросPOST);
        КонецПроцедуры

Код в файле example.json

{
  "query": {
    "park": {
      "car": {
        "is_rental": false
      },
      "id": "(указываю ID парка)"
    }
  }
}


Пытаюсь выполнить код, но программа выдает ошибку:
Код ошибки: 405
Сообщение: {"message":"Method not allowed"}

Подскажите пожалуйста, в чем заключается ошибка?

antoneus

Попробуйте, раз уж это POST

Результат = HTTP.ОтправитьДляОбработки(ЗапросPOST)

Белкет

Цитата: antoneus от 22 сен 2020, 15:04
Попробуйте, раз уж это POST

Результат = HTTP.ОтправитьДляОбработки(ЗапросPOST)
Заработало, спасибо Вам большое :)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск