2017-07-17 10 views
0

AWSコンソールのテストボットで、各スロットへの発言と応答を入力することができ、AWS Lexがそれをピックアップします。しかしFacebook Messengerでは、レスポンスカードから対応するテキストと値を設定しているので、レスポンスカードからボタンをクリックしてもLexには届かないようです。AWS LexはfacebookのresponseCardボタンからユーザーの応答を受け取らない

私は動的応答カードを作成するためにラムダ関数を使用し、それはこのようなものになります。

{ 
    "dialogAction": { 
    "type": "ElicitSlot", 
    "intentName": "ShopIntent", 
    "slots": { 
     "product": null, 
     "category": null 
    }, 
    "slotToElicit": "category", 
    "message": { 
     "contentType": "PlainText", 
     "content": "Choose a category." 
    }, 
    "responseCard": { 
     "contentType": "application/vnd.amazonaws.card.generic", 
     "version": 1, 
     "genericAttachments": [ 
      { 
       "title": "New", 
       "subTitle": "All the new things!", 
       "buttons": [{ 
        "text": "New", 
        "value": "1234567890" 
       }] 
      }, { 
       "title": "Shurts", 
       "subTitle": "A collection of shirts!", 
       "buttons": [{ 
        "text": "Shurts", 
        "value": "1234567891" 
       }] 
      }, { 
       "title": "Shuus", 
       "subTitle": "A collection of shoes!", 
       "buttons": [{ 
        "text": "Shuus", 
        "value": "1234567892" 
       }] 
      } 
     ] 
    } 
    } 
} 

をこれは、Facebookの中で正しくレンダリングされます。しかし、ボタンをクリックすると何も起こりません。入力のインジケータが数秒間表示されます(リクエストにかかる時間よりもはるかに長い - これは何らかのエラーが表示されているのだろうか?)。 CloudWatchログにはエントリも作成されません。私はドキュメントをチェックしたし、自分の知る限り、responseCardのフォーマットは正しいと信じています。

この問題のデバッグ方法はわかりません。他の誰かがこれを経験しましたか?

答えて

1

私のFacebookアプリのMessenger設定でmessaging_postbacksウェブフックをチェックしていないという問題がありました。それとmessagesの両方をチェックして、私は最終的に必要に応じてlexボットとやりとりすることができます。

関連する問題