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

#php #json #dialogflow-es-fulfillment

#php #json #dialogflow-es-fulfillment

Вопрос:

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

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

Ответ является:

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

DialogFlow отвечает:

Сбой вызова Webhook. Ошибка: Не удалось проанализировать ответ webhook JSON: Ожидайте объект message, но получено: [«ok»].

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

Ответ №1:

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

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

Комментарии:

1. Столкнулся с этой проблемой при попытке перехода с версии V1 на версию V2. Документация на главной странице переноса выполнения кажется неверной, поскольку пример совпадает с примером из OP. Однако далее они предоставляют исправленный пример.