オートパイロットボットがメモリデータを私のWebhookファイル(PHPにある)に送信し、その代わりに(コールバックとして)「Received」というメッセージを出力するようにしたかったのです。しかし、毎回、「アクションスキーマと一致しません」というエラーが表示されます。
だから私は誰かがこれを行う方法について私に良い例を与えることができるかどうか疑問に思いましたか?
デバッガーで提供されているActionSchema.jsonファイルを読んでみましたが、まったく理解できませんでした。
私はこのように試しました
echo '"definitions": {
"say": {
"anyOf": [
{
"type": "strdfghing"
}';
TwilioAutopilotに「了解しました」と返信してもらいたい。メモリイベントをWebhookファイルに送信した後。
Twilio開発者エバンジェリストはこちら。
StackOverflowへようこそ!
したがって、おそらくCollectフローがあり、Say動詞を使用して「gotit!」と応答できます。終わりon_completeのリダイレクト。自動操縦タスクは次のようになります。
"actions": [
{
"collect": {
"name": "collect_clothes_order",
"questions": [
{
"question": "What is your first name?",
"name": "first_name",
"type": "Twilio.FIRST_NAME"
},
],
"on_complete": {
"redirect": "your-web-server-ie-a-twilio-function-maybe"
}
}
}
]
次に、Twilio関数(または選択した言語の別のWebサーバー)で、メモリデータ(この場合、ユーザーが応答した名)Say
を受け取り、含まれている「got it!」を返すことができます。
exports.handler = function(context, event, callback) {
let responseObject = {};
let memory = JSON.parse(event.Memory);
console.log(memory.twilio.collected_data);
let first_name = memory.twilio.collected_data.collect_clothes_order.answers.first_name.answer;
console.log(first_name); //collected data from memory
responseObject = {"actions":[
{ "say": { "speech": "Got it!" } }
]};
callback(null, responseObject);
};
これが役に立ったかどうか教えてください!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加