私は地方の中小企業向けにIVRソリューションを開発していますが、Nodeがメニューをどのように扱うかについて頭を悩ましています。私は私の顧客ごとに別々のノードサーバーを作ることができますが、彼らの番号が呼び出されたときに、各顧客のIVRセットアップをMongoデータベースまたはファイルから取得する単一のサーバーを持っていたいと思います。私はJSONのメニュー構造を保存する方法を考えていますが、そのJSONを<gather>
入力への応答に変えることはできません。私は(アマゾンS3上の.jsonファイルとして多分か)DBにこのようなJSON構造を使用することができます考えていた。ここJSONに保存されたIVRを '実行'するには?
{
"menu": {
"id": 1,
"name": "Main",
"script": "Thank you for calling Local Company. To speak to sales press 1, ...",
"options": [
{
"name": "",
"action": "",
"value": "",
"next": ""
},
{
"name": "Sales",
"action": "dial",
"value": 12345678901,
"next": ""
},
{
"name": "Support",
"action": "dial",
"value": 12345678902,
"next": ""
},
{
"name": "Directions",
"action": "say",
"value": "Our offices are located at...",
"next": 1
},
{
"name": "Mailbox",
"action": "mailbox",
"value": "main",
"next": 1
}
]
}
}
ありがとうございました!次のパラメータは、次に実行するアクションのIDです。したがって、情報オプションはメニューに戻るか、それ以外の何かをすることができます。また、twiml [action.action](action.value)を実行できるかどうかはわかりませんでした。私はそれぞれのコマンドタイプでswitch文を実行しなければならないと思った。 –
あなたがこれまでに選択したアクション名と値のために、 'twiml [action.action](action.value)'を実行することができます(つまり、アクション名は使用しているTwiML動詞と、小文字のフォームには 'twiml'オブジェクトのメソッドの名前もあります)。それはすべてのためにうまく動作しない可能性があります、私はまだそれを考えていない! – philnash