API: Отправка текста или файла из задачи через Telegram и RocketChat

Share

Для отправки файла необходимо:

1. Создать робота в разделе «Тогда» выбрать «Выполнить автодействие» и выбрать «Отправить запрос»

Или добавить в схему автодействие «Отправить запрос».

В поле «URL» вставить следующий адрес, для отправки через:

* Telegram https://api.neaktor.com/v1/telegram/send

* RocketChat https://api.neaktor.com/v1/rocketchat/send

2.Нажать «Добавить заголовок», в поле «Заголовок» написать Authorization, а в поле «Значение» Ваш открытый ключ к запросу. Для того чтобы создать ключ Вам следует перейти в модуль «Интеграции» выбрать «API ключи» -> «Сгенерировать новый ключ» -> «Публичный ключ» изменить «Статус ключа» с значения «Только чтение» на «Чтение и запись».

Для отправки через Telegram использовать следующий запрос:

Для текста:

{

«dataType»: «TEXT»,

«content»: «<text>»,

«receivers»: [<chat-id-1>, … , <chat-id-n>],

«token»: «<tg-token>»

}

Дляфайлов:

{

«dataType»: «FILE»,

«content»:

{

«fileId»: «<file-id>»,

«caption»: «<text>»

},

«receivers»: [<chat-id-1>, … , <chat-id-n>],

«token»: «<tg-token>»

}

Объяснение:

<text> — текст, который необходимо отправить. также можно вместо текста указать код нужного поля из задачи

<chat-id-n> — id чата, в который нужно отправить сообщение. если нужно отправить в несколько чатов, перечислять их нужно через запятую, например:

«receivers»: [1234567890, 987654321]

также, при необходимости, можно добавить коды полей, например:

«receivers»: [{{1a2b3c4d}}]

в самом поле, на которое ссылается данные коды полей, id нужно перечислять через запятую, например:

1234567890, 987654321

<tg-token> — токен бота, через который нужно отправлять сообщения. также можно подставить коды полей (для этого Вам нужно создать бота в Telegram).

<file-id> — id файла из системы Neaktor, который необходимо отправить. можно подставить код поля. если подставляется код поля атрибута «Файл», нужно нажать галочку «Отправлять id файла» в той же секции, где формируется тело запроса.

<caption> — текст, отправляемый вместе с файлом. необязательное поле. также можно подставить код поля.

Пример тела запроса для отправки текста:

{

«dataType»: «TEXT»,

«content»: «Test»,

«receivers»: [{{68d6458ccc1c4550816d0197}}],

«token»: «7380022867:AAFssfnggqyhjQp1obk-37v4pLn_Nh8jXYw»

}

Пример тела запроса для отправки файла:

{

«dataType»: «FILE»,

«content»:

{

«fileId»: «{{68d4fc4c03cb333407cd02f0}}»,

«caption»: «Test»

},

«receivers»: [{{68d6458ccc1c4550816d0197}}],

«token»: «7380022867:AAFssfnggqyhjQp1obk-37v4pLn_Nh8jXYw»

}

Для отправки через RocketChat использовать следующий запрос:

Длятекста:

{

«dataType»: «TEXT»,

«content»: «<text>»,

«token»: «<rocket-chat-token>»,

«userId»: «<user-id>»,

«domain»: «<domain>»,

«rooms»: «<room-1>, … , <room-n>»,

«channels»: «<channel-1>, … , <channel-n>»

}

Дляфайлов:

{

«dataType»: «FILE»,

«content»:

{

«fileId»: «<file-id>»,

«msg»: «<text>»

},

«token»: «<rocket-chat-token>»,

«userId»: «<user-id>»,

«domain»: «<domain>»,

«rooms»: «<room-1>, … , <room-n>»

}

Объяснение:

<text> — текст, который необходимо отправить. также можно вместо текста указать код нужного поля из задачи

<rocket-chat-token> — токен пользователя, от лица которого отправляется сообщение (X-Auth-Token заголовок из оригинального запроса)

<user-id> — id пользователя в RocketChat, от лица которого отправляется сообщение (X-User-Id заголовок из оригинального запроса)

<domain> — домент, на который необходимо отправить запрос (из расчета, что RocketChat разворачивается локально у покупателя. если же используется какой-то общедоступный сервер, можно изменить логику работы в коде)

<room-n> — id комнаты, в которую необходимо отправить файл. id нескольких комнат перечисляются через запятую. например:

«rooms»: «@qwertyu, #uytrewq»

также, при необходимости, можно добавить коды полей, например:

«rooms»: «{{1a2b3c4d}}»

в самом поле, на которое ссылается данные коды полей, id нужно перечислять через запятую, например:

@qwertyu, #uytrewq

<channel-n> — id канала, в который нужно отправить сообщение. формат данных и возможности аналогичны с комнатами.

при отправке сообщение типа TEXT ориентироваться на форматы id для комнат и каналов, указанные в документации по ссылке https://developer.rocket.chat/apidocs/post-message (аттрибуты roomId и channel)

Пример тела запроса для отправки файла:

{

«dataType»: «FILE»,

«content»:

{

«fileId»: «{{68d4fc4c03cb333407cd02f0}}»,

«msg»: «Test»

},

«token»: «RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f»,

«userId»: «rbAXPnMktTFbNpwtJ»,

«domain»: «api.rocketchat.by»,

«rooms»: «{{1a2b3c4d}}»

}

Для отправки текста:

{

«dataType»: «TEXT»,

«content»: «Test»,

«token»: «RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f»,

«userId»: «rbAXPnMktTFbNpwtJ»,

«domain»: «api.rocketchat.by»,

«rooms»: «{{1a2b3c4d}}»,

«channels»: «#uytrewq, @qwertyu»

}

;

Оставьте комментарий