Как обнаружить событие щелчка карты hangouts в DialogFlow с помощью webhook?

#dialogflow-es #webhooks #dialogflow-es-fulfillment #hangouts-api

#dialogflow-es #webhooks #dialogflow-es-выполнение #hangouts-api

Вопрос:

Я создал динамическую карточку в Dialogflow, которая должна отображаться в hangouts. Вот пользовательская карточка, которую я создал в ответах Dialogflow в разделе пользовательская полезная нагрузка:

 {
  "hangouts": {
    "header": {
      "imageUrl": "imageurl",
      "title": "Hi, Select your choice ?"
    },
    "sections": [
      {
        "widgets": [
          {
            "buttons": [
              {
                "textButton": {
                  "text": "Card",
                  "onClick": {
                    "action": {
                      "actionMethodName": "CardResponder"
                    }
                  }
                }
              },
              {
                "textButton": {
                  "text": "Cash",
                  "onClick": {
                    "action": {
                      "actionMethodName": "CashResponder"
                    }
                  }                  
                }
              }
            ]
          }
        ]
      }
    ]
  }
}
  

Карта выглядит так в hangouts.
карта

В коде webhook моя точка входа такова:

 app.post('/', express.json(), (req,res)=>{
    if(req.body.queryResult.intent.displayName == "PaymentIntent"){
        ........
    }    
});
  

Я не могу обнаружить событие, когда нажимаю на кнопку «Наличные» или «Карта» на своей динамической карте hangouts. Я также определил имя функции в параметре ActionMethod Name. Но я не уверен, как написать эту функцию в моем коде webhook. Пожалуйста, помогите мне.

Обновить

 app.post('/', express.json(), (req,res)=>{
    console.log(req.body);
    console.log(req.body.action.actionMethodName);
    
});
  

Я пытаюсь утешить req.body, который дает мне

 originalDetectIntentRequest: { source: 'hangouts', payload: { data: [Object] } },
  

req.body.action.ActionMethod name дает неопределенное значение.

Когда я пытаюсь нажать кнопку в карточке hangouts, это выдает мне эту ошибку — невозможно связаться с hangouts-bot. Повторите попытку позже.

hangouts-bot — это название моего облачного проекта. Я не знаю, как получить запрос на нажатие в моем js-коде узла.

Комментарии:

1. Из вашего вопроса я не знаю, действительно ли вы получаете запрос, и вы не знаете, как управлять этим запросом, или вы вообще не получаете запрос. Попробуйте прояснить это, пожалуйста. Если это первое, вам следует попытаться прочитать документацию об этом .

2. @Raserhin Я добавил обновление в свой пост. Когда я нажимаю кнопку на карточке, я не уверен, как я могу получить это в своем коде.

3. Не могли бы вы подробнее рассказать об data объекте. Возможно, вам следует попытаться получить actionMethodName от этого payload , а не напрямую из тела.