Iris Callback API 2.0
С помощью Iris Callback API вы можете получать сигналы из бесед, на которые вы подписались. Это поможет вам обрабатывать информацию способом, который удобен для вас без каких-либо ограничений.
Для этого необходимо создать свой сервер, который будет принимать запросы от серверов Iris.
Исходные коды примеров Приёмника Iris Callback API здесь:
1. Регистрация API для пользователя
У вас должен быть адрес страницы, на которую Ирис будет отправлять сигналы.
Для этого вам нужно написать в л/с Ириса следующую команду:
+api {секретная_фраза} {http://адрес_страницы_сервера_callback}
{секретная_фраза} будет отправляться при каждом сигнале от Ириса. Её смысл в проверке достоверности запроса. Никому не говорите секретную фразу.
Синонимы команды: +сигналы, +апи
После успешной регистрации API для вашего пользователя, вы сможете подписываться на сигналы в конкретных беседах.
2. Подписка на сигналы в нужных беседах
Если вы являетесь администратором беседы, вы сможете подписаться на сигналы от беседы. Для этого вам необходимо в нужной беседе
стать дежурным
Синонимы команды: +api, +апи, +дежурный
Проверить, кто дежурный в беседе можно командой «кто дежурный»
3. Структура сигналов Ириса
Сигналы от Ириса приходят в формате json. Структура объекта следующая:
- user_id — id пользователя, который подписался на уведомления.
- secret — секретная фраза, которая подтверждает достоверность
- method — тип сигнала
- object — информация, разной структуры для разных типов сигналов
- message — информация о сообщении, в котором была вызвана команда
4. Перечень сигналов
Приведены названия типов сигналов (method) и описание их объектов (object).
«ping»
Ирис отправляет этот сигнал для проверки доступности адреса, на который зарегистрирован Iris Callback API.
«banExpired»
Отправляется в случае истечения бана пользователя в беседе.
Структура object:
- user_id — id пользователя, срок бана которого истёк
- chat — код беседы, в которой произошло событие
- reason — причина бана
«addUser»
Отправляется в случае команды «добавить @ссылка»
Структура object:
- user_id — id пользователя, срок бана которого истёк
- chat — код беседы, в которой произошло событие
- source — необязательный параметр. Источник добавления. По умолчанию источник сигнала — беседа.
Также сигнал может подаваться со страницы беседы на сайте iris-cm.ru (Значение «site»)
«subscribeSignals»
Отправляется в случае, если пользователь отправил в конкретной беседе команду подписаться на сигналы беседы.
Отправляется только 1 раз в конкретной беседе для конкретного пользователя. Задача пользователя привязать код беседы, передаваемый в сигнале к своему номеру беседы (обычно номер беседы в адресной строке) по реквизитам сообщения беседы.
Структура object:
- chat — код беседы, в которой произошло событие
- conversation_message_id — локальный id сообщения
- text — текст передаваемого сообщения
- from_id — автор сообщения
«deleteMessages»
Отправляется, когда модератор беседы ввёл команду удаления сообщений.
Структура object:
- chat — код беседы, в которой произошло событие
- local_ids — локальные идентификаторы сообщений в беседе
- is_spam — пометить спамом при удалении
«deleteMessagesFromUser»
Отправляется, когда модератор беседы ввёл команду удаления сообщений для определённого пользователя.
Структура object:
- chat — код беседы, в которой произошло событие
- user_id — id пользователя, чьи сообщения нужно удалить
- amount — количество последних сообщений пользователя. (необязательный параметр)
- is_spam — пометить спамом при удалении. (необязательный параметр)
«ignoreMessages»
Отправляется, когда пользователь в списке игнорируемых у приёмника.
- chat — код беседы, в которой произошло событие
- local_ids — локальные идентификаторы сообщений в беседе
«printBookmark»
Отправляется, когда требуется получить сообщение из истории.
Структура object:
- chat — код беседы, в которой произошло событие
- conversation_message_id— локальные идентификаторы сообщений в беседе
- description — подпись к заметке
«forbiddenLinks»
Отправляется, когда в беседе было обнаружено сообщение с запрещёнными ссылками.
Структура object:
- chat — код беседы, в которой произошло событие
- local_ids— локальные идентификаторы сообщений в беседе
«sendSignal»
Отправляется при команде «!дежурный {произвольный текст}»
Структура object:
- chat — код беседы, в которой произошло событие
- from_id — id пользователя, вызвавшего сигнал
- value — произвольный текст, переданный в команде после ключевого слова «сигнал»
- conversation_message_id — локальный идентификатор сообщения в беседе
Синонимы: «!д», «.дежурный», «.д»
«sendMySignal»
Отправляется на сервис-приёмник Iris Callback API того пользователя, который вызвал команду.
Отправляется при команде «!сигнал {произвольный текст}»
Структура object:
- chat — код беседы, в которой произошло событие
- from_id — id пользователя, вызвавшего сигнал
- value — произвольный текст, переданный в команде после ключевого слова «сигнал»
- conversation_message_id — локальный идентификатор сообщения в беседе
Синонимы: «!с», «.сигнал», «.с»
«hireApi»
Отправляется, когда владелец беседы хочет нанять приёмника сигналов от Ириса.
Структура object:
- chat — код беседы, в которой произошло событие
- price — число ирисок, которые пользователь готов заплатить
Сервер должен вернуть json объект либо успеха, в котором содержится поле «days», указывающее, на какое время продляется наём Приёмника ICA, либо ошибки.
{'response': 'ok', 'days': 7}
«toGroup»
Отправляется, когда пользователь хочет отправить своему серверу команду отправить пост с пересланными сообщениями из беседы
Структура object:
- chat — код беседы, в которой произошло событие
- group_id — группа, в которой нужно сделать пост
- local_id — локальный id сообщения в беседе, место выдачи бана
«banGetReason»
Отправляется, когда модератор вызывает команду «причина» и хочет перейти на место выданного бана.
Структура object:
- chat — код беседы, в которой произошло событие
- local_id — локальный id сообщения в беседе, место выдачи бана
Будут вопросы по работе Iris Callback API 2.0, обращайтесь к нам в л/с
Успехов!
