Me parece que las respuestas del API de messenger cambiaron un poco… no se porque pero la estructura que me llega cuando hay un mensaje predefinido es la siguiente:
{ sender: { id: '2172468672772909' },
recipient: { id: '2214898308795050' },
timestamp: 1539969741977,
message:
{ quick_reply: { payload: 'EVENT_PAYLOAD' },
mid: 'S_SyzjGHICJBjOdEuDa5hQdYu5tmiC0A1nt-Gisst1coBH_TeueJS2JX5xP8ev3lcWhprNPhKh07MRid8VXbbQ',
seq: 497563,
text: 'Quieres un evento?' } }
Como pueden ver el payload no llega en el objeto general, a mi me llega en el objeto del mensaje…
Eso hace que el código de la clase no llegue a manejar las tarjetas de las pizzas.
Para arreglarlo modifique la función handleEvent:
const handleEvent = (senderId, event) => {
if(event.message){
if(event.message.quick_reply){
handlePostback(senderId, event.message.quick_reply.payload)
}else{
handleMessage(senderId, event.message)
}
}else if(event.postback){
handlePostback(senderId, event.postback.payload)
}
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.