Twilio自动驾驶仪和货币金额

时间:2020-01-30 17:24:24

标签: twilio

在自动驾驶仪中收集货币金额时遇到一些挑战。我有一个名为GIVE的任务,人们在此发短信“ Give”,然后自动驾驶仪回复“多少?”使用类型= Twilio.NUMBER的收集操作。正在发生以下情况:

人员:给予
自动驾驶仪:多少?
人:.99
最终值是99(错误)

人员:给予
自动驾驶仪:多少?
人:1.99
值最终为1.99(正确)

人员:给予
自动驾驶仪:多少?
人:$ 1.99
价值最终为199(错误)

因此,似乎如果小数点在前,则将其删除;如果美元号在其首,则将其删除,并将小数删除。仅当以数字开头时,它才能正常工作。我可以理解其中的逻辑,但这确实使收集货币金额变得非常困难。

这是任务中的相关代码:

"collect": {
				"name": "gift_amount",
				"questions": [
					{
						"question": "How much would you like to give?",
						"name": "gift_amount",
						"type": "Twilio.Number"
					}
				],
				"on_complete": {
					"redirect": {
						"method": "POST",
						"uri": "https://blah.blah"
					}
				}

有什么想法吗?理想情况下,字段类型为Twilio.CURRENCY或类似的内容。

1 个答案:

答案 0 :(得分:2)

这里是Twilio开发人员的传播者。

当前,Twilio.CURRENCY字段类型用于货币类型,即。美元。
您可以将其收集为字母数字字段类型,然后像使用验证器函数一样对其进行分解,以避免用户输入字母或非数字,而且还可以基于小数或什至空白之类的令牌分解输入。

“ $ 1.99”将不起作用,因为数字归一化器无法识别美元符号,从而导致归一化失败。然后,如果失败,则自动驾驶仪会将过滤器数字放出来,生成“ 199”。一般来说,Twilio.NUMBER在只有数字的情况下效果最好。 $ 1.99应该可以,但$ 1.99应该没有。

让我知道这是否有帮助!