Установить объект ответа Dialogflow на основе пользовательской платформы

У меня есть сервер веб-перехватчиков, который отвечает на Dialogflow объектами расширенных сообщений, которые работают в Google Assistant.

Однако в случае, если пользователь общается с моим ботом с другой платформы, отличной от Google Assitant, такой как Интернет или Amazon Alexa, я хотел бы отправить простой текстовый ответ.

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

Это формат моего текущего объекта ответа на расширенное сообщение, взятый из документации: https://dialogflow.com/docs/reference/agent/message-objects#basic_card_response

{
    "messages": [
      {
        "buttons": [
          {
            "openUrlAction": {
              "url": "https://linkUrl.com"
            },
            "title": "AoG Card Link title"
          }
        ],
        "formattedText": "AoG Card Description",
        "image": {
          "url": "http://imageUrl.com"
        },
        "platform": "google",
        "subtitle": "AoG Card Subtitle",
        "title": "AoG Card Title",
        "type": "basic_card"
      }
    ]
}

person Shaikat Haque    schedule 12.04.2018    source источник


Ответы (1)


Для этого просто включите обычный текст / речевой ответ в объекте messages.

В / query doc просмотрите образец ответа POST.

Ваш JSON должен выглядеть примерно так:

{
    "messages": [
      {
        "buttons": [
          {
            "openUrlAction": {
              "url": "https://linkUrl.com"
            },
            "title": "AoG Card Link title"
          }
        ],
        "formattedText": "AoG Card Description",
        "image": {
          "url": "http://imageUrl.com"
        },
        "platform": "google",
        "subtitle": "AoG Card Subtitle",
        "title": "AoG Card Title",
        "type": "basic_card"
      },
      {
        "speech": "text response",
        "type": 0            
      }
    ]
}
person cptn_redbeard    schedule 13.04.2018