1С и Telegram

1. Miragemvp 3 30.09.19 11:22 Сейчас в теме
Всем привет, подскажите, каким образом можно отправить команду на сервер 1С размещенный на веб, любую, какой либо шаблон бы увидеть, как это происходит, если вы знаете тему где это уже обсудили прошу показать.
Цель: отправить из телеграмм бота в базу сообщение для создания какого либо документа.
Может как то Json ? и на сервере в фоне читать полученные запросы? или как? подскажите пожалуйста))
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user5300 1077 30.09.19 13:06 Сейчас в теме
(1) Отправка сообщений от имени бота Telegram

 
Перем ТекстСообщения;
chat_id=ЭлементыФормы.СправочникСписок.ТекущиеДанные.chat.id;
//chat_id это идентификатор диалога,
//в переменной хранится id пользователя (объект User) с которым ведётся диалог
//https://core.telegram.org/bots/api#user
ВвестиСтроку(ТекстСообщения);
Если НЕ ЗначениеЗаполнено(ТекстСообщения) тогда возврат конецесли;

Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса=Константы.token.Получить()+"/sendMessage";
Запрос.Заголовки=Новый Соответствие();

Соединение = Новый HTTPСоединение("api.telegram.org",,,,,5,Новый ЗащищенноеСоединениеOpenSSL);
ТекстЗапроса="";
ТекстЗапроса=ТекстЗапроса+"&chat_id="+Формат(chat_id,"ЧГ=");
ТекстЗапроса=ТекстЗапроса+"&text="+КодироватьСтроку(ТекстСообщения,СпособКодированияСтроки.КодировкаURL);
//КодироватьСтроку() отсутствует в 8.2 ищите сами как сделать url encode
Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Ответ=Соединение.ОтправитьДляОбработки(Запрос);//POST
КодСостояния=Ответ.КодСостояния;
СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку();

Если КодСостояния=200 тогда
	ЧтениеОтвета=Новый ЧтениеJSON;
	ЧтениеОтвета.УстановитьСтроку(СтрокаОтвета);
	РезультатСтруктура=ПрочитатьJSON(ЧтениеОтвета);
	Если РезультатСтруктура.ok=Истина тогда
		СтруктураMessage=РезультатСтруктура.result;
		//СтруктураMessage это обычная Структура
		//сервер возвращает нам наше сообщение упакованое в объект Message
		//описание объекта Message тут https://core.telegram.org/bots/api#message
	КонецЕсли;
Иначе
	Сообщить("КодСостояния "+КодСостояния);
	Сообщить(СтрокаОтвета);
КонецЕсли;
Показать
5. Miragemvp 3 30.09.19 13:18 Сейчас в теме
(3)Не совсем понял, у меня бот реализован на python, база на вебсервере у которой есть ссылка, каким образом туда что то отправить и в базе в фоне прочитать и что то с полученными данными сделать.
4. user5300 1077 30.09.19 13:07 Сейчас в теме
(1) Получение сообщений для бота Telegram

Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса=Константы.token.Получить()+"/getUpdates";
Запрос.Заголовки=Новый Соответствие();

Соединение=Новый HTTPСоединение("api.telegram.org",,,,,5,Новый ЗащищенноеСоединениеOpenSSL);
update_id=Константы.update_id.Получить();
Если ЗначениеЗаполнено(update_id) тогда
	ТекстЗапроса="&offset="+Формат(update_id+1,"ЧГ=");
	Запрос.Заголовки.Вставить("Content-Type","application/x-www-form-urlencoded");
	Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
	Ответ=Соединение.ОтправитьДляОбработки(Запрос);//POST
	
	//то же самое GET-запросом
	//Запрос.АдресРесурса=Запрос.АдресРесурса+"?offset="+Формат(update_id+1,"ЧГ=");
	//Ответ=Соединение.Получить(Запрос);//GET
Иначе
	Ответ=Соединение.Получить(Запрос);//GET
КонецЕсли;
КодСостояния=Ответ.КодСостояния;
СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку();

Если КодСостояния=200 тогда
	ЧтениеОтвета=Новый ЧтениеJSON;
	ЧтениеОтвета.УстановитьСтроку(СтрокаОтвета);
	РезультатСтруктура=ПрочитатьJSON(ЧтениеОтвета);
	Если РезультатСтруктура.ok=Истина тогда
		Для сч=1 по РезультатСтруктура.result.Количество() цикл
			ОбъектUpdate=РезультатСтруктура.result[сч-1];
			Константы.update_id.Установить(ОбъектUpdate.update_id);
			СтруктураMessage=ОбъектUpdate.message;
			//СтруктураMessage это обычная Структура
			//описание объекта Message тут https://core.telegram.org/bots/api#message
		КонецЦикла;
	КонецЕсли;
Иначе
	Сообщить("КодСостояния "+КодСостояния);
	Сообщить(СтрокаОтвета);
КонецЕсли;
Показать
2. Aitbay 30.09.19 11:42 Сейчас в теме
6. 6есик 53 02.10.19 13:09 Сейчас в теме
Можно попробовать через ODATA закидывать данные в 1с (примеры и описание https://infostart.ru/public/719982/ )
Либо в 1с написать свой http сервис который будет получать данные и на сервере обрабатывать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот