Ошибка синтаксического анализа ответа на выполнение: ожидается объект сообщения

Я пытаюсь сделать правильный ответ на простой запрос:

  "queryResult": {
    "queryText": "test",
    "action": "test",
    "parameters": {},
    /*...*/

Ответ:

{
  "fulfillmentText": "good",
  "fulfillmentMessages": [
    {
      "text": [
        "ok"
      ]
    }
  ],
/*...*/

ДиалогФлоу отвечает:

Не удалось вызвать веб-перехватчик. Ошибка: не удалось проанализировать ответ веб-перехватчика JSON: ожидается объект сообщения, но получено: ["ok"].

Каков правильный ответ, чтобы DialogFlow его принял?


person Михаил    schedule 27.03.2019    source источник


Ответы (1)


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

{"fulfillmentText": "good",
 "fulfillmentMessages": [
                {
                  "text": 
                      {"text":[
                                "ok"
                        ]
                    }
                }
            ]
        }
person Ariel    schedule 29.03.2019
comment
Столкнулся с этой проблемой при попытке перехода с V1 на V2. Документация на главной странице Fulfillment Migration кажется неверной, поскольку пример соответствует примеру из OP. Однако далее они дают исправленный пример. - person user875318; 06.08.2019