Кодирование ответа таблицы с помощью JSON - PullRequest
0 голосов
/ 15 декабря 2018

Так что недавно я пытался закодировать ответ tableCard, но я не могу заставить его работать.Вот мой код (Node.JS):

{"fulfillmentText": text,
  "fulfillmentMessages": [
    {
      "platform": "ACTIONS_ON_GOOGLE",
      "simpleResponses": {"simpleResponses": [{"textToSpeech": text}]}
    },
    {
      "platform": "ACTIONS_ON_GOOGLE",
      "tableCard": {
        "rows": [
          {
            "cells": [
              {"text": "row 1 item 1"},
              {"text": "row 1 item 2"},
              {"text": "row 1 item 3"}
            ],
          },
          {
            "cells": [
              {"text": "row 2 item 1"},
              {"text": "row 2 item 2"},
              {"text": "row 2 item 3"}
            ],
          }
        ],
        "columnProperties": [
          {"header": "header 1"},
          {"header": "header 2"},
          {"header": "header 3"}
        ]
      }
    }
  ]
};

Есть ли ошибка в способе форматирования моего кода или Dialogflow не поддерживает tableCards?Вот ошибка, которую я получаю при запуске:

"webhookStatus": {
  "code": 3,
  "message": "Webhook call failed. Error: Failed to parse webhook JSON response: Cannot find field: tableCard in message google.cloud.dialogflow.v2beta1.Intent.Message."
}

1 Ответ

0 голосов
/ 16 декабря 2018

tableCard - это конкретный элемент Действия в Google, поэтому его необходимо установить в ответе в качестве атрибута «полезной нагрузки» платформы.Как то так:

{
    "payload": {
        "google": {
            "expectUserResponse": true,
            "richResponse": {
                "items": [
                    {
                        "simpleResponse": {
                            "textToSpeech": "Welcome to my agent!"
                        }
                    },
                    {
                        "tableCard": {
                            "rows": [
                                {
                                    "cells": [
                                        {
                                            "text": "row 1 item 1"
                                        },
                                        {
                                            "text": "row 1 item 2"
                                        },
                                        {
                                            "text": "row 1 item 3"
                                        }
                                    ],
                                    "dividerAfter": true
                                },
                                {
                                    "cells": [
                                        {
                                            "text": "row 2 item 1"
                                        },
                                        {
                                            "text": "row 2 item 2"
                                        },
                                        {
                                            "text": "row 2 item 3"
                                        }
                                    ],
                                    "dividerAfter": true
                                }
                            ],
                            "columnProperties": [
                                {
                                    "header": "header 1"
                                },
                                {
                                    "header": "header 2"
                                },
                                {
                                    "header": "header 3"
                                }
                            ]
                        }
                    }
                ]
            }
        }
    },
    "outputContexts": []
}
...