Как избавиться от «нулевого» узла в полезной нагрузке (ответ выполнения)? - PullRequest
0 голосов
/ 16 мая 2019

Я использую dialogflow-fulfillment для выполнения.Я пытаюсь отправить полезную нагрузку, используя следующую функцию:

function getName(agent) {
        let options = {
          "options": [
                {
                    "id": "make_reservation",
                    "text": "Reservations",
                    "payload": "make_reservation"
                  }
            ]
        };

        let newPayload = new Payload('PLATFORM_UNSPECIFIED', options);
        agent.add('added by webhook');
        agent.add(newPayload);
}

Но в ответе на выполнение я получаю null узел.

{
  "payload": {
    "null": {
      "options": [
        {
          "id": "make_reservation",
          "text": "Reservations",
          "payload": "make_reservation"
        }
      ]
    }
  },
  "outputContexts": []
}

Вместо узла null мне нужен узел options.Есть идеи, как это сделать?

Спасибо

1 Ответ

0 голосов
/ 17 мая 2019

После еще одного поиска я получил ответ!Payload принимает три параметра.

new Payload(platform, payload, options);

, где значения по умолчанию {sendAsMessage: false, rawPayload: false}.Поскольку rawPayload равно false, полезная нагрузка будет вложена в имя platform.В моем случае platform был PLATFORM_UNSPECIFIED, поэтому он был вложен в узел null.

Таким образом, решение состоит в том, чтобы установить rawPayload в true.

let newPayload = new Payload('PLATFORM_UNSPECIFIED', options, {rawPayload: true});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...