让我说我的架构中有这个:
{
"slots": [
{
"name": "number",
"type": "AMAZON.NUMBER"
}
],
"intent": "PriceMyProduct"
}
这些话语:
PriceMyProduct price of {number}
PriceMyProduct {number} price
在我的lambda函数中,我有这个意图处理程序
'PriceMyProduct': function(){
var itemNumber = this.event.request.slots.number.value;
//DO STUFF
}
问题是“itemNumber”永远不会获取产品的编号,所以它始终是未定义的。
我尝试过做“133202的价格”或“133923价格”之类的东西,但数字值从未被提取过。可能是什么问题?
答案 0 :(得分:1)
尝试从"号码"更改广告位的名称让我们说" priceValue"。像这样:
{
"slots": [
{
"name": "priceValue",
"type": "AMAZON.NUMBER"
}
],
"intent": "PriceMyProduct"
}
然后像这样更新话语:
PriceMyProduct price of {priceValue}
PriceMyProduct {priceValue} price
在lambda中使用新名称:
'PriceMyProduct': function(){
var itemNumber = this.event.request.slots.priceValue.value;
//DO STUFF
}
原因:数字似乎是保留名称