Iris Callback API 2.0

С помощью Iris Callback API вы можете получать сигналы из бесед, на которые вы подписались. Это поможет вам обрабатывать информацию способом, который удобен для вас без каких-либо ограничений.

Для этого необходимо создать свой сервер, который будет принимать запросы от серверов Iris.

Исходные коды примеров Приёмника Iris Callback API здесь:

  1. PHP https://github.com/iris4you/iris-callback-api

1. Регистрация API для пользователя

У вас должен быть адрес страницы, на которую Ирис будет отправлять сигналы.
Для этого вам нужно написать в л/с Ириса следующую команду:

+api {секретная_фраза} {http://адрес_страницы_сервера_callback}

{секретная_фраза} будет отправляться при каждом сигнале от Ириса. Её смысл в проверке достоверности запроса. Никому не говорите секретную фразу.
Синонимы команды: +сигналы, +апи

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

2. Подписка на сигналы в нужных беседах

Если вы являетесь администратором беседы, вы сможете подписаться на сигналы от беседы. Для этого вам необходимо в нужной беседе

стать дежурным

Синонимы команды: +api, +апи, +дежурный

Проверить, кто дежурный в беседе можно командой «кто дежурный»

3. Структура сигналов Ириса

Сигналы от Ириса приходят в формате json. Структура объекта следующая:

Iris Callback API 2.0, image #1
  • 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, обращайтесь к нам в л/с

Успехов!

89506 views·1578 shares