как записать или установить значение параметра из выполнения в диалоге - PullRequest
0 голосов
/ 10 января 2019

В основном мне нужно иметь возможность записать результат из полного заполнения в ранее определенный параметр диалогового потока.

Я могу получить значения переменных от диалогового потока до полного заполнения, но когда я пишу обратно, я не получаю ожидаемого результата. Примером функции является следующее:

function Validate(agent){
    let P1 = agent.parameters.rut1.Rut; //<<----received OK
    let P2 = agent.parameters.rut1.dv;  //<<----received OK
    let P3;

    P3 = some_function(P1,P2); //<<----------For example

    agent.parameters.next_state = P3; //<<---here the result is not written to the parameter.
}

введите описание изображения здесь

1 Ответ

0 голосов
/ 12 января 2019

Параметры существуют в выходных контекстах в ответе «Выполнение» (V2). Вам необходимо указать параметр, который вы хотите добавить / обновить, в соответствующем выходном контексте при отправке ответа с веб-ловушки

                response.send(JSON.stringify({
                "fulfillmentText": "Hello, welcome to bot service. I need you to sign in first, your Userid?",
                "outputContexts": [
                    {
                        "name": request.body.session + "/contexts/usercontext",
                        "lifespanCount": 5,
                        "parameters": {
                            "token": result.access_token
                        }
                    }
                ]
            }));

Затем вы можете использовать это значение параметра в последующих 5 вызванных намерениях.

...