Как создать приложение Google Chat для Dialogflow CX, которое понимает естественный язык и отвечает на нем

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

Например, рассмотрим приложение Chat, которое помогает людям арендовать автомобили. Пользователь может написать: "Я хочу арендовать автомобиль". Приложение Chat может ответить на запрос вопросом, например "Где вы хотите забрать автомобиль?". Таким образом, оно начинает разговор с пользователем, понимает его речь и отвечает на нее, помогая забронировать автомобиль.

Это лишь один из возможных вариантов. Приложения Dialogflow Chat полезны в самых разных ситуациях. Если требуется естественная человеческая речь, используйте приложение Dialogflow Chat. Готовые агенты помогут вам быстро начать работу и продемонстрируют возможности Dialogflow, например:

  • Бронирование авиабилетов
  • Записываться на прием к врачу.
  • Как заказать доставку еды
  • Отвечать на вопросы о каталоге товаров, например о том, доступны ли товары в других цветах.
  • Страница выбора встроенного агента Dialogflow.
    Рисунок 1. Выбор готового агента для приложения Dialogflow Chat.
  • Тестирование агента в Dialogflow CX.
    Рисунок 2. Тестирование агента в Dialogflow CX, чтобы убедиться, что логика и конфигурация агента работают должным образом. На схеме показана последовательность тематических страниц, посвященных определенным этапам диалога, например выбору места получения и возврата автомобиля, а также логика, связывающая эти страницы. Разговор тестируется в симуляторе.
  • Настройка приложения Dialogflow Chat.
    Рисунок 3. Настроить приложение Chat для обработки ответов с помощью агента Dialogflow CX на странице конфигурации Chat API в консоли Google Cloud.
  • Как протестировать приложение Chat для Dialogflow CX
    Рисунок 4. Обсуждение бронирования автомобиля с помощью приложения Dialogflow Chat в Google Chat.

Цели

  • Настройте среду.
  • Создайте и разверните агента Dialogflow CX.
  • Создайте и разверните приложение Chat на основе агента Dialogflow CX.
  • Проверьте приложение Chat.

Требования

Архитектура

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

Архитектура приложения Chat, реализованного с помощью Dialogflow.

На приведенной выше схеме пользователь, взаимодействующий с чат-ботом Dialogflow, получает информацию следующим образом:

  1. Пользователь отправляет сообщение в Chat приложению Chat в прямой переписке или чат-группе.
  2. Виртуальный агент Dialogflow, размещенный в Google Cloud, получает и обрабатывает сообщение, чтобы создать ответ.
  3. При необходимости агент Dialogflow может взаимодействовать с внешними сторонними сервисами, например системой управления проектами или инструментом для создания заявок, с помощью веб-перехватчика Dialogflow.
  4. Агент Dialogflow отправляет ответ обратно в сервис приложения Chat в Chat.
  5. Ответ будет отправлен в чат-группу.

Как настроить среду

Прежде чем использовать API Google, их нужно включить в облачном проекте Google Cloud. В одном облачном проекте Google Cloud можно включить один или несколько API.
  1. В консоли Google Cloud включите Google Chat API и Dialogflow API.

    Как включить API

  2. Убедитесь, что вы включаете API в нужном облачном проекте, и нажмите Далее.

  3. Убедитесь, что вы включаете нужные API, и нажмите Включить.

Как создать агента Dialogflow CX

Агент Dialogflow CX – это виртуальный агент, который может одновременно вести несколько разговоров с конечными пользователями. Это модуль понимания естественного языка, который распознает нюансы человеческой речи. Dialogflow переводит текст, который конечный пользователь вводит во время разговора, в структурированные данные, понятные вашим приложениям и сервисам. Вы разрабатываете агента Dialogflow, который будет вести диалоги, необходимые для вашей системы.

Агент Dialogflow похож на оператора колл-центра. Вы обучаете их обоим обрабатывать ожидаемые сценарии разговоров, и ваше обучение не должно быть слишком явным.

Вот как создать агента Dialogflow CX:

  1. Откройте консоль Dialogflow CX. Нажмите на значок меню > Dialogflow CX.

    Перейти в консоль Dialogflow CX

  2. Выберите проект Google Cloud. Чтобы найти проект, возможно, вам потребуется нажать Все и выполнить поиск.

  3. Теперь вы можете выбрать готового агента или создать собственного. Если вы хотите подробнее изучить возможности настройки агентов позже, выберите одного из готовых агентов. Они также помогут вам понять, что могут делать агенты.

    Чтобы выбрать готового агента, выполните следующие действия:

    1. Нажмите Использовать готовых агентов.
    2. Выберите готового агента. В этом руководстве мы будем использовать вариант Туризм: аренда автомобилей.

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

    3. Нажмите Импортировать как агента.

    Чтобы создать собственного агента, выполните следующие действия:

    1. Нажмите Создать агента.
    2. Выберите Автоматически создать, чтобы создать агента хранилища данных, или Создать своего агента, чтобы создать агента другого типа.

    Подробные инструкции по созданию агента приведены в статье Как создать агента Dialogflow CX.

  4. Настройте основные параметры агента:

    1. В поле Отображаемое название введите название.
    2. Выберите предпочитаемое местоположение. Если вы хотите изменить расширенные настройки местоположения, нажмите Изменить.
    3. Выберите часовой пояс.
    4. Выберите язык по умолчанию для агента. После создания агента изменить язык по умолчанию нельзя.
  5. Нажмите Создать. Dialogflow CX начнет создавать агента, а затем покажет поток запуска по умолчанию.

  6. При необходимости настройте агента. Подробные инструкции по настройке агента приведены в статье Как создать агента Dialogflow CX.

  7. Рекомендуем протестировать агента:

    1. Нажмите Протестировать агента.
    2. Выберите Протестировать агента в среде.
    3. В разделе "Среда" выберите Черновик.
    4. В Flow выберите Default Start Flow (Поток запуска по умолчанию).
    5. В разделе "Страница" выберите Стартовая страница.
    6. В поле чата Поговорить с агентом введите Hello и нажмите Ввод. Агент представляется.
    7. Пройдите тест, пообщавшись с образцом.
  8. Агент Dialogflow CX создан. Вернитесь в консоль Dialogflow CX. Нажмите на значок меню > Dialogflow CX.

    Перейти в консоль Dialogflow CX

  9. В разделе Агенты нажмите > Копировать название. Сохраните это название, так как оно понадобится вам при настройке приложения Chat.

Как создать приложение Chat и подключить его к агенту Dialogflow

После создания агента Dialogflow CX выполните следующие действия, чтобы превратить его в приложение Chat:

  1. В консоли Google Cloud перейдите к Google Chat API. Выполните поиск по запросу "Google Chat API" и нажмите Google Chat API, а затем Управление.

    Перейти к Chat API

  2. Нажмите Настройки и настройте приложение Chat:

    1. В поле Название приложения введите Dialogflow App.
    2. В поле URL аватара введите https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. В поле Описание введите Responds to real human conversation.
    4. В разделе Функциональность выберите Присоединяться к чат-группам и групповым чатам.
    5. В разделе Настройки подключения выберите Dialogflow.
    6. В разделе Настройки Dialogflow выберите Dialogflow CX.
    7. В поле Название ресурса агента или среды вставьте название агента Dialogflow CX, скопированное в конце раздела Создайте агента Dialogflow CX.
    8. Предоставьте доступ к приложению "Чат" определенным пользователям и группам в домене и введите свой адрес электронной почты.
    9. В разделе Журналы выберите Регистрировать ошибки в Logging.
  3. Нажмите Сохранить.

Приложение Chat готово получать сообщения и отвечать на них.

Как протестировать приложение Chat

Протестируйте приложение Dialogflow CX Chat, отправив ему сообщение в Google Chat.

  1. Откройте Google Chat, используя аккаунт Google Workspace, который вы указали, когда добавляли себя в качестве доверенного тестировщика.

    Перейти в Google Chat

  2. Нажмите Новый чат.
  3. В поле Добавьте одного или нескольких пользователей введите название приложения Chat.
  4. Выберите приложение Chat в результатах поиска. Откроется прямая переписка.

  5. В новой прямой переписке с приложением введите Hello и нажмите enter.

    Приложение Dialogflow Chat представится.

  6. Пройдите тест, используя пример диалога.

Пример тестового диалога

Чтобы протестировать приложение Dialogflow CX Chat в консоли Dialogflow CX или Google Chat, проведите следующий диалог. Объяснение помогает понять, как агент Dialogflow CX интерпретирует естественный язык пользователя и создает ответ на естественном языке на каждом этапе разговора. Этот пример диалога основан на готовом агенте Travel: car rental (Путешествия: аренда автомобилей).

Dialog Описание
Конечный пользователь: Здравствуйте!
Агент: Здравствуйте! Я виртуальный агент по прокату автомобилей. Я могу помочь вам забронировать автомобиль. Чем я могу вам помочь?
  1. Вызывается маршрут Default Welcome Intent в Default Start Flow.
  2. Выполнение для этого обработчика состояния ("Здравствуйте! Я…") добавляется в очередь ответов.
  3. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь. Я хочу взять машину напрокат.
Агент. Где вы хотите забрать автомобиль?
  1. Маршрут намерения car_rental.reservation_create в начальной странице совпадает.
  2. Сеанс перейдет на страницу Пункт выдачи.
  3. Форма на странице Место получения не заполнена, поэтому агент использует параметр pickup_location, чтобы задать пользователю вопрос ("Где вы хотите получить…"). который добавляется в очередь ответов.
  4. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: Лас-Вегас
Агент: Хорошо, самовывоз будет в Лас-Вегасе.
Агент. Место возврата отличается от места получения?
  1. Введенные пользователем данные заполняют параметр pickup_location, запрошенный агентом на предыдущем шаге.
  2. Соответствует маршруту намерения car_rental.return_different_location в стандартном начальном потоке.
  3. Оценивается и вызывается маршрут заполнения формы на странице Место получения. У него есть ответ ("Хорошо, ваш заказ…"), который добавляется в очередь ответов с параметрами, преобразованными в фактические значения, предоставленные конечным пользователем.
  4. Сеанс перейдет на страницу Подтверждение местоположения.
  5. На странице Подтверждение местоположения есть поле для заполнения ("Место получения отличается от…"). который добавляется в очередь ответов.
  6. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: да. Я верну машину в Лос-Анджелесе.
Агент. Хорошо, вы сдадите автомобиль в Лос-Анджелесе.
Агент. На какую дату и время вы хотите забрать автомобиль?
  1. Соответствует маршруту намерения car_rental.return_different_location в стандартном начальном потоке.
  2. Сеанс переходит на страницу Место возврата.
  3. Введенные пользователем данные заполняют параметр drop_off_location, запрошенный агентом на предыдущем шаге диалога.
  4. Оценивается и вызывается маршрут заполнения формы на странице Местоположение выбытия. У него есть ответ ("Хорошо, ваша остановка…"), который добавляется в очередь ответов.
  5. Сеанс перейдет на страницу Продолжительность аренды.
  6. На странице Продолжительность аренды не заполнены поля формы, поэтому пользователю предлагается указать параметр pickup_date_time ("В какую дату и время вы хотите забрать…"). который добавляется в очередь ответов.
  7. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: Я хочу забрать машину 5 марта в полдень.
Агент. В какой день и время вы хотите вернуть автомобиль?
  1. Входные данные конечного пользователя заполняют параметр pickup_date_time, запрошенный агентом на предыдущем шаге.
  2. На странице Продолжительность аренды также отсутствует значение формы, поэтому пользователю предлагается указать параметр drop_off_date_time ("В какую дату и время вы хотите вернуть автомобиль?"). который добавляется в очередь ответов.
  3. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: 15 марта в полдень.
Агент. Итак, вы хотите забрать автомобиль в Лас-Вегасе 5 марта 2024 г. в 12:00 и вернуть его в Лос-Анджелесе 15 марта 2024 г. в 12:00?

Все верно?

  1. Введенные пользователем данные заполняют параметр drop_off_date_time, который агент запросил на предыдущем шаге.
  2. Сеанс перейдет на страницу Подтверждение срока аренды.
  3. На странице Подтверждение срока аренды есть запись о выполнении заказа ("Итак, чтобы подтвердить…"). который добавляется в очередь ответов.
  4. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: Да, спасибо.
Агент: Отлично! Теперь выберите автомобиль.
Агент. Вы хотите взять в аренду автомобиль эконом-класса или класса люкс?
  1. Соответствует маршруту small_talk.confirmation.yes на странице Подтверждение срока аренды.
  2. Агент подтверждает выбор пользователя сообщением "Отлично! Теперь выберем…" который добавляется в очередь ответов.
  3. Сеанс переходит на страницу Уточнение автомобиля.
  4. Форма на странице Уточнение типа автомобиля не заполнена, поэтому агент использует параметр vehicle_type, чтобы задать пользователю вопрос ("Вы хотите автомобиль эконом-класса или класса люкс?"). который добавляется в очередь ответов.
  5. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: экономкласс.
Агент. Вы хотите арендовать автомобиль или грузовик Cymbal?
  1. Соответствует маршруту с намерением $session.params.vehicle_type="economy_vehicle".
  2. Сеанс перейдет на страницу Экономичные варианты.
  3. На странице Варианты экономии есть запись о выполнении запроса ("Хотите ли вы…"). который добавляется в очередь ответов.
  4. Агент отправляет очередь ответов конечному пользователю.
Конечный пользователь: Cymbal Truck.
Агент. Аренда грузовика Cymbal стоит 50,33 доллара США в день. В нем могут разместиться четыре человека. В номере есть радио AM/FM. Хотите перейти к оплате?
Конечный пользователь: да.
  1. Маршрут намерения $session.params.vehicle_type="Cymbal Truck" найден, и параметр vehicle_model заполнен.
  2. Сеанс перейдет на страницу Подтвердите грузовик с тарелками.
  3. На странице Подтверждение заказа Cymbal Truck есть запись о выполнении заказа ("Cymbal Truck стоит 50,33 долл. США в день…"). который добавляется в очередь ответов.
  4. Агент отправляет очередь ответов конечному пользователю.
  5. Ответ пользователя соответствует маршруту small_talk.confirmation.yes.
Агент. Какую карту вы будете использовать?
Конечный пользователь: Altostrat
Агент: Введите номер карты.
Конечный пользователь: 1234 1234 1234 1234
Агент: Как указано имя на карте?
Конечный пользователь: Чарли
Агент: Какой у вас платежный адрес?
Конечный пользователь: 1800 Amphibious Blvd. Mountain View, CA
Агент: Какой почтовый индекс указан в платежном адресе?
Конечный пользователь: 94045
Агент: Вы заберете автомобиль Cymbal Car в Лас-Вегасе 5 марта 2024 г. в 12:00 и вернете его 15 марта 2024 г. в 12:00. Общая стоимость поездки составит 175,38 долл.США.
Агент: Спасибо, что воспользовались нашим сервисом. Желаем вам хорошего дня!
  1. Сеанс будет перенаправлен на страницу Оплата.
  2. Форма Payment не заполнена, поэтому агент запрашивает у пользователя параметры card_type, card_number, billing_name, billing_street_address и billing_zip_code ("Какую карту вы хотите..."). которые последовательно добавляются в очередь ответов и отправляются по мере того, как пользователь отвечает. Значения параметров задаются ответами пользователя.
  3. Сеанс переходит на страницу Подтверждение аренды.
  4. На странице Подтверждение аренды есть запись о выполнении заказа ("Хорошо, вы сможете забрать автомобиль…"). который добавляется в очередь ответов.
  5. Агент отправляет очередь ответов конечному пользователю.
  6. Откроется страница Завершить сеанс.

Как отправлять сообщения с карточками из Dialogflow

Dialogflow может отвечать текстовыми или карточными сообщениями. Чтобы ответить сообщением с карточкой, укажите его как пользовательскую полезную нагрузку в выполнении.

В приведенном ниже коде JSON показано, как отправить сообщение с карточкой в качестве пользовательской полезной нагрузки в ответе на запрос:

JSON

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": { "cardsV2": [{
    "cardId": "createCardMessage",
    "card": {
      "header": {
        "title": "A card message!",
        "subtitle": "Sent from Dialogflow",
        "imageUrl": "https://developers.google.com/chat/images/chat-product-icon.png",
        "imageType": "CIRCLE"
      },
      "sections": [{ "widgets": [{ "buttonList": { "buttons": [{
        "text": "Read the docs!",
        "onClick": { "openLink": {
          "url": "https://developers.google.com/workspace/chat"
        }}
      }]}}]}]
    }
  }]}
}}}}

Ограничения и рекомендации

  • При использовании приложений Google Chat с Dialogflow объекты событий чата имеют следующие ограничения и особенности:
    • События в приложении Home. Поддержка событий APP_HOME пока недоступна.
    • Входные данные запроса Dialogflow. Текст, отправленный в качестве входных данных запроса агенту Dialogflow, зависит от типа события:
      • MESSAGE: значение поля argumentText из сообщения чата.
      • APP_COMMAND: строка "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: строка "ADDED_TO_SPACE_PAYLOAD".
      • REMOVED_FROM_SPACE: строка "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: строка "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: строка "WIDGET_UPDATED_PAYLOAD" (используется для автозаполнения).
    • Полная полезная нагрузка события. Полная полезная нагрузка JSON события взаимодействия в чате отправляется в Dialogflow в поле WebhookRequest.payload. Вы можете получить доступ к этой информации в веб-перехватчике Dialogflow. Подробнее о запросах webhook в Dialogflow CX…
  • Что нужно учитывать при обработке команд и получении данных из карточек или диалоговых окон:
  • Предварительный просмотр ссылок не поддерживается.
  • Если агент Dialogflow отвечает одним сообщением, оно отправляется в Google Chat синхронно. Если агент Dialogflow отвечает несколькими сообщениями, все они отправляются в Chat асинхронно с помощью метода create ресурса spaces.messages в Chat API. Метод вызывается один раз для каждого сообщения.
  • При использовании интеграции Dialogflow CX с Chat агент Dialogflow и приложение Chat должны быть настроены в одном и том же облачном проекте Google Cloud. Если вам нужно настроить Dialogflow и Chat в разных облачных проектах, вы можете настроить промежуточный сервер для подключения. Информацию о том, как это сделать, можно найти в примере интеграции Chat с Dialogflow CX на GitHub.

Устранение неполадок

Чтобы отладить приложение Chat, сначала изучите журналы ошибок. Поскольку в этом приложении используется Dialogflow, вам доступны следующие ресурсы для ведения журналов и устранения неполадок:

  • Журналы дополнений Google Workspace. Запрашивайте журналы, чтобы получить подробную информацию о поведении приложения Chat, в том числе о его взаимодействии с Chat. Подробнее о запросах к журналам в дополнениях Google Workspace…

  • Ошибки приложения Google Chat. Общие сообщения об ошибках в приложении Chat и способы их устранения описаны в статье Как устранять неполадки в приложении Chat.

  • Dialogflow CX Cloud Logging. Убедитесь, что в настройках агента Dialogflow включена функция Cloud Logging, чтобы получать подробные журналы выполнения, в том числе ошибки агента и взаимодействия с веб-перехватчиком. Подробнее о том, как включить и настроить эту функцию, рассказывается в документации по настройкам агента Dialogflow CX. Эти журналы можно посмотреть в Logs Explorer в консоли Google Cloud.

  • История чатов Dialogflow CX. Просматривайте прошлые взаимодействия, чтобы понять ход разговора и выявить проблемы. Подробнее об истории чата…

  • Общие сведения об устранении неполадок в Dialogflow. Если у вас возникли проблемы с Dialogflow, ознакомьтесь с руководством по устранению неполадок в Dialogflow CX.

Организовать

Чтобы избежать списания средств с аккаунта Google Cloud за ресурсы, использованные в этом руководстве, рекомендуем удалить облачный проект.

  1. В консоли Google Cloud перейдите на страницу Управление ресурсами. Нажмите Меню > IAM и администрирование > Управление ресурсами.

    Перейти в Менеджер ресурсов

  2. В списке проектов выберите проект, который хотите удалить, и нажмите Удалить .
  3. В диалоговом окне введите идентификатор проекта и нажмите Закрыть, чтобы удалить проект.
  • Dialogflow CX использует конечный автомат для создания агентов Dialogflow. Это позволяет вам контролировать ход разговора, повышать удобство для конечных пользователей и улучшать процесс разработки. При создании приложения Dialogflow Chat мы рекомендуем использовать Dialogflow CX.
  • Dialogflow ES – ещё один способ использовать Dialogflow с приложением Chat.

Приложения для Chat, не являющиеся дополнениями: создание приложения Google Chat с помощью Dialogflow CX

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

Как настроить приложение Chat Dialogflow CX, которое не является дополнением

При настройке Google Chat API в консоли Google Cloud:

  1. Снимите флажок Создать это приложение Chat как дополнение Google Workspace. Откроется диалоговое окно с запросом на подтверждение. В диалоговом окне нажмите Отключить.
  2. Задайте остальные настройки Dialogflow CX и нажмите Сохранить.

Отправлять сообщения с карточками из приложения Chat для Dialogflow CX, которое не является дополнением.

В приложении Chat, которое не является дополнением, укажите объект верхнего уровня cardsV2 в пользовательском контенте Dialogflow в Fulfillment:

JSON

{
  "cardsV2": [{
    "cardId": "createCardMessage",
    "card": {
      "header": {
        "title": "A card message!",
        "subtitle": "Sent from Dialogflow",
        "imageUrl": "https://developers.google.com/chat/images/chat-product-icon.png",
        "imageType": "CIRCLE"
      },
      "sections": [
        {
          "widgets": [
            {
              "buttonList": {
                "buttons": [
                  {
                    "text": "Read the docs!",
                    "onClick": {
                      "openLink": {
                        "url": "https://developers.google.com/workspace/chat"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

Ограничения и рекомендации для приложений чата Dialogflow CX, которые не являются дополнениями

  • События взаимодействия в чате поддерживаются с учетом следующих особенностей:
    • Поддерживаются следующие типы событий взаимодействия:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • Для событий MESSAGE или ADDED_TO_SPACE входные данные запроса, отправленные агенту Dialogflow, соответствуют значению поля argumentText в сообщении чата. Если сообщение содержит слеш-команду, вместо него используется значение поля text.
    • Для событий CARD_CLICKED запрос, отправляемый агенту Dialogflow, форматируется как CARD_CLICKED.functionName, где functionName соответствует значению поля function объекта Action, прикрепленного к интерактивному элементу карточки (например, кнопке).
    • Полная полезная нагрузка JSON каждого события взаимодействия с Chat отправляется в Dialogflow в виде специальной полезной нагрузки в параметре запроса. Доступ к ней можно получить с помощью веб-перехватчика Dialogflow, запросив значение поля WebhookRequest.payload.
  • Рекомендации по обработке слеш-команд и получению данных из карточек или диалоговых окон в приложениях Chat, которые не являются дополнениями:
    • Когда приложения Dialogflow Chat, которые не являются дополнениями, получают сообщение со слеш-командой, входные данные запроса содержат только значение поля text. Поле text начинается с названия слеш-команды (например, /command), которое можно использовать для настройки намерения агента Dialogflow обнаруживать слеш-команду.
    • Чтобы показать диалоговое окно из агента Dialogflow в приложении Chat, которое не является дополнением, ответьте одним пользовательским контентом JSON, включающим сообщение с ответом на действие DIALOG.
    • Чтобы обрабатывать данные, введенные в карточки в приложении Chat, которое не является дополнением, агент Dialogflow может обнаруживать намерения, начинающиеся с текста CARD_CLICKED, и отвечать с помощью одной пользовательской полезной нагрузки JSON, содержащей подходящее действие.