Как мне установить контекст в ответе json? - PullRequest
0 голосов
/ 26 апреля 2019

Я настроил сервер nodeJS, чтобы он возвращал ответы на веб-крюк диалога.Я хочу иметь возможность отправить обратно контекст в ответе JSON, чтобы логика диалогового потока могла перейти к следующему желаемому намерению в потоке диалога.

В ответной нагрузке я попытался вставить массив «outputContexts», чтобы установить контекст.Однако это не работает в этой форме.Ответ Json вставлен ниже.Переменная contextName содержит желаемое значение контекста, подлежащего отправке обратно.

var simpleResponse = {
  "payload": {
    "google": {
      "expectUserResponse": true,
      "outputContexts": [
        {
          "name": "projects/my-agent-v2/agent/sessions/" + sessionId + "/contexts/" + contextName,
          "lifespanCount": 1,
          "parameters": {
            "param": "param value"
          }
        }
      ],
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Simple response",
              "displayText": "Simple response"
            }
}]}}}};

Элемент управления должен перейти к intent = awaiting_more_details.Вышеуказанный возвращаемый контекст является «входным контекстом» для этого намерения.

Я надеюсь, что это дает понимание того, чего я хочу достичь.

1 Ответ

0 голосов
/ 26 апреля 2019

Ваш ответ имеет неправильный формат, массив outputContexts должен находиться в объекте верхнего уровня, рядом с payload.См. документ об обнаружении Dialogflow для достоверной спецификации: https://www.googleapis.com/discovery/v1/apis/dialogflow/v2beta1/rest

...