Подключение к сайту и отправка или получение данных по API (POST, GET...) (с описанием кода)

12.08.19

Интеграция - WEB-интеграция

Простая обработка по отправке или получение данных с любого сервера главное знать ресурс (выполняемую функцию) и тело запроса.

Скачать исходный код

Наименование Файл Версия Размер
Подключение к сайту и отправка или получение данных по API (POST, GET...) (с описанием кода):
.epf 9,67Kb
116
.epf 9,67Kb 116 Скачать

Стояла задача отправить данные по API на внешний сервер из 1С, задача достаточно тривиальная, но возникли некоторые сложности поскольку у меня никак не выходило отправить данные через POST. После того как была написана данная обработка сразу смог определить проблему.

Тестировалось в УПП 1.3 (8.3.9.2170)

В моем соединении нету пользователя, пароля, не используется защищенное соединение. Если Вам необходимы эти параметры их можно добавить в строке "Все параметры подключения" и вынести поля на форму или написать комментарий я обновлю обработку.

Основной код отправки данных из описанного функционала (у меня использовалось только GET и POST, остальное добавил вдруг кому пригодится):

Процедура ОсновныеДействияФормыPOST(Кнопка)
	ВыполнитьСоединение("POST");	
КонецПроцедуры

Процедура ОсновныеДействияФормыGET(Кнопка)
	ВыполнитьСоединение("GET");
КонецПроцедуры

Процедура ОсновныеДействияФормыPATCH(Кнопка)
	ВыполнитьСоединение("PATCH");
КонецПроцедуры

Процедура ОсновныеДействияФормыPUT(Кнопка)
	ВыполнитьСоединение("PUT");
КонецПроцедуры

Процедура ОсновныеДействияФормыDELETE(Кнопка)
	ВыполнитьСоединение("DELETE");
КонецПроцедуры

Процедура ВыполнитьСоединение(ВидЗапроса)
	
	ЗаголовокHTTP = Новый Соответствие();	
	//Все параметры подключения
	//HTTPСоединение = Новый HTTPСоединение(Сервер,Порт,Пользователь,Пароль,Прокси,Таймаут,ЗащищенноеСоединение,ИспользоватьАутентификациюОС);
	HTTPСоединение = Новый HTTPСоединение(Сервер,Порт,,,,,);
    HTTPЗапрос     = Новый HTTPЗапрос(Ресурс, ЗаголовокHTTP);
	HTTPЗапрос.Заголовки.Вставить("Content-type", ContentType);
	HTTPЗапрос.УстановитьТелоИзСтроки(Тело,"UTF-8");	
	Если ВидЗапроса = "POST" Тогда
		HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
	ИначеЕсли ВидЗапроса = "GET" Тогда
		HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
	ИначеЕсли ВидЗапроса = "PATCH" Тогда
		HTTPОтвет = HTTPСоединение.Изменить(HTTPЗапрос);
	ИначеЕсли ВидЗапроса = "PUT" Тогда
		HTTPОтвет = HTTPСоединение.Записать(HTTPЗапрос);
	ИначеЕсли ВидЗапроса = "DELETE" Тогда
		HTTPОтвет = HTTPСоединение.Удалить(HTTPЗапрос);
	КонецЕсли;
    КодСостояния   = HTTPОтвет.КодСостояния;
    ТекстОтвета    = HTTPОтвет.ПолучитьТелоКакСтроку();
	Ответ = "";
	Ответ = Ответ + "Код состояниия (Status code): " + Символы.ПС;
	Ответ = Ответ + КодСостояния + Символы.ПС +"-----------------------" +Символы.ПС;
	Ответ = Ответ + "Текст ответа (Response text): " + Символы.ПС;
	Ответ = Ответ + ТекстОтвета;
	
КонецПроцедуры

Кнопки "JSON", "XML", "POST=" - показывают пример заполнения тела в данном формате (я их использовал для тестирования отправки своих данных в разных форматах). 

Можете поблагодарить, если Вам помог описанный функционал. 

Обработка оправка отсылка получение API HTTP POST GET JSON PATCH PUT DELETE XML получить сайт данные 1С.

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15931    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17883    6    15    

13

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88928    163    216    

318

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25872    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16478    42    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. webester 26 12.08.19 15:51 Сейчас в теме
Для простых случаев мне нравится использовать вот этот пример с ИТС https://its.1c.ru/db/metod8dev#content:5574:hdoc он покрывает практически весь нужный функционал с анализом ответов сервера и переадресациями.
AllexSoft; +1
3. RustIG 1556 14.08.19 15:51 Сейчас в теме
4. webester 26 14.08.19 17:26 Сейчас в теме
(3)Если много работаешь с HTTP запросами посмотри на коннектор https://infostart.ru/public/709325/
+
5. RustIG 1556 14.08.19 17:28 Сейчас в теме
2. dsdred 3319 13.08.19 15:42 Сейчас в теме
Если ВидЗапроса = "POST" Тогда
HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
ИначеЕсли ВидЗапроса = "GET" Тогда
HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
ИначеЕсли ВидЗапроса = "PATCH" Тогда
HTTPОтвет = HTTPСоединение.Изменить(HTTPЗапрос);
ИначеЕсли ВидЗапроса = "PUT" Тогда
HTTPОтвет = HTTPСоединение.Записать(HTTPЗапрос);
ИначеЕсли ВидЗапроса = "DELETE" Тогда
HTTPОтвет = HTTPСоединение.Удалить(HTTPЗапрос);
КонецЕсли;


Попробуйте заменить на вот это:

HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод(ВидЗапроса,HTTPЗапрос);

Пример: https://infostart.ru/public/886103/
MaxPowerr; user774630; +2
6. annainf 04.06.22 03:22 Сейчас в теме
Здравствуйте! А можно через Вашу обработку подключиться по API через двойной ключ,client_ID и client_secret?
+
7. MaxPowerr 45 17.06.22 08:40 Сейчас в теме
(6)
client_ID

Добрый день. Скорее всего в поле сервер вам необходимо будет написать сервер + ваши ключи, для вызова строки в таком виде:

Соединение.Open("POST", ...oauth/v2/token?grant_type=password&client_id=Ваш ключ&client_secret=Секрет...

Вы можете скопировать код и попробовать самостоятельно.
+
Оставьте свое сообщение