Получайте сообщения и отвечайте на них в вашем приложении Google Chat.

На этой странице описано, как ваше приложение Google Chat может получать и реагировать на действия пользователя, также известные как события взаимодействия с приложением Google Chat .

Событие взаимодействия с приложением Google Chat представляет собой любое действие, которое пользователь предпринимает для вызова приложения Chat или взаимодействия с ним, например @упоминание приложения Chat или добавление его в пространство. Когда пользователи взаимодействуют с приложением Chat, Google Chat отправляет приложению Chat событие взаимодействия. Приложение Chat может использовать это событие для обработки взаимодействия и создания ответа.

Например, приложения чата используют события взаимодействия для выполнения любого из следующих действий:

Пример события взаимодействия Типичный ответ из приложения Chat
Пользователь вызывает приложение чата, @упомянув его или используя косую черту. Приложение Chat обрабатывает то, что говорится в сообщении, и создает сообщение. Например, приложение Chat отвечает на команду /about сообщением, объясняющим задачи, которые может выполнять приложение Chat.
Пользователь добавляет приложение Chat в пространство. Приложение Chat отправляет вводное сообщение , в котором объясняется, что оно делает и как пользователи в пространстве могут с ним взаимодействовать.
Пользователь удаляет приложение Chat из пространства. Приложение Chat удаляет все входящие уведомления, настроенные для этого пространства (например, удаление веб-перехватчика ), и очищает всю внутреннюю память.
Пользователь нажимает кнопку на карточке или в диалоговом окне, отправленном приложением Chat. Приложение «Чат» либо обрабатывает и сохраняет любые данные, отправленные пользователем, либо возвращает другую карточку или диалоговое окно.

Для каждого типа взаимодействия с пользователем Google Chat отправляет разные типы событий взаимодействия. Например, Google Chat использует тип события MESSAGE для любого взаимодействия, когда пользователь вызывает приложение Chat в сообщении. Подробную информацию см. в разделе Типы событий взаимодействия с приложением Google Chat .

На этой странице описано, как сделать следующее:

  • Настройте приложение чата для получения событий.
  • Обработайте событие взаимодействия в своей инфраструктуре.
  • При необходимости реагируйте на события взаимодействия.

Получать события взаимодействия с приложением Chat

В этом разделе описывается, как получать и обрабатывать события взаимодействия для вашего приложения Chat.

Настройте приложение чата для получения событий взаимодействия.

Не все приложения чата являются интерактивными. Например, входящие веб-перехватчики могут отправлять только исходящие сообщения и не могут отвечать пользователям. Если вы создаете интерактивное приложение чата, вам необходимо выбрать конечную точку, которая позволит вашему приложению чата получать, обрабатывать и реагировать на события взаимодействия. Дополнительные сведения о разработке приложения Chat см. в разделе Архитектура реализации приложений Chat .

Если вы создали интерактивное приложение чата, вам необходимо настроить Google Chat API, чтобы Google Chat мог отправлять вам события взаимодействия:

  1. В консоли Google Cloud откройте страницу Google Chat API:

    Перейдите на страницу API Google Chat.

  2. Откройте вкладку Конфигурация .
  3. В разделе «Интерактивные функции» установите переключатель «Включить интерактивные функции» во включенное положение.
  4. В разделе «Функциональность» установите один или оба следующих флажка:
    1. Получать сообщения 1:1 . Позволяет пользователям взаимодействовать с вашим приложением Chat в пространствах прямых сообщений (DM). Ваше приложение чата получает события взаимодействия каждый раз, когда пользователь отправляет сообщение в пространстве DM.
    2. Присоединяйтесь к группам и групповым беседам : позволяет пользователям добавлять и удалять ваше приложение чата в группах, в которых участвует более одного человека. Ваше приложение чата получает события взаимодействия всякий раз, когда оно добавляется или удаляется из пространства, а также всякий раз, когда пользователи @упоминают или используют косую черту в пространстве.
  5. В настройках подключения укажите, куда Google Chat отправляет события взаимодействия с приложением Chat.
  6. Необязательно: в разделе «Команды косой черты» добавьте и настройте одну или несколько команд косой черты. Дополнительные сведения см. в разделе Настройка команд слэша .
  7. Необязательно: в разделе «Предварительный просмотр ссылок» добавьте и настройте один или несколько шаблонов URL-адресов, которые просматриваются в приложении Chat. Дополнительную информацию см. в разделе Ссылки для предварительного просмотра .
  8. Нажмите Сохранить .

Ваше приложение Chat теперь настроено на получение событий взаимодействия из Google Chat.

Обработка повторных HTTP-вызовов в вашу службу

Если запрос HTTPS к вашей службе завершается неудачей (например, из-за тайм-аута, временного сбоя сети или кода состояния HTTPS, отличного от 2xx), Google Chat может повторить попытку доставки несколько раз в течение нескольких минут (но это не гарантируется). В результате в определенных ситуациях приложение чата может получать одно и то же сообщение несколько раз. Если запрос завершается успешно, но возвращает недопустимые полезные данные сообщения, Google Chat не повторяет запрос.

Обрабатывать или реагировать на события взаимодействия

В этом разделе объясняется, как приложения Google Chat могут обрабатывать события взаимодействия и реагировать на них.

После того как ваше приложение Chat получит событие взаимодействия от Google Chat, оно может отреагировать разными способами. Во многих случаях интерактивные приложения чата отвечают пользователю сообщением. Приложение Google Chat также может искать некоторую информацию из источника данных, записывать информацию о событиях взаимодействия или что-то еще. Такое поведение обработки, по сути, и определяет приложение Google Chat.

Для каждого события взаимодействия приложения чата получают тело запроса , которое представляет собой полезную нагрузку JSON, представляющую событие. Вы можете использовать эту информацию для обработки ответа. Примеры полезных данных событий см. в разделе Типы событий взаимодействия с приложением чата .

На следующей диаграмме показано, как приложение Google Chat обычно обрабатывает различные типы событий взаимодействия или реагирует на них.

Архитектура обработки событий взаимодействия приложениями Google Chat.

Отвечайте в режиме реального времени

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

Чтобы создать синхронные ответы на события взаимодействия, см. следующие руководства:

Чтобы ответить синхронно, приложение Chat должно ответить в течение 30 секунд, а ответ должен быть опубликован в том месте, где произошло взаимодействие. В противном случае приложение Chat может ответить асинхронно.

Отвечать асинхронно

Иногда приложения чата должны реагировать на событие взаимодействия через 30 секунд или выполнять задачи за пределами пространства, в котором было создано событие взаимодействия. Например, приложению чата может потребоваться ответить пользователю после выполнения длительной задачи. В этом случае приложения чата могут реагировать асинхронно, вызывая API чата Google.

Чтобы создать сообщение с помощью Chat API, см. раздел Создание сообщения . Руководства по использованию дополнительных методов Chat API см. в обзоре Chat API .