我正在使用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
节点。知道怎么做吗?
谢谢
答案 0 :(得分:0)
进行更多搜索后,我得到了答案! 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});