in SampleIntegrations/SampleBots/NodeJS/ExpenseBot/app.js [362:402]
function receivedPostback(event) {
var senderID = event.sender.id;
// The 'payload' param is a developer-defined field which is set in a postback
// button for Structured Messages.
var payload = event.postback.payload;
// Embed extra info int he payload in the format ACTION:OBJECT
var tokens = payload.split(':');
var action = tokens[0];
var object = tokens[1];
// When a postback is called, we'll send a message back to the sender to
// let them know it was successful
switch (action) {
case 'DELETE_CLAIM':
removeClaim(object);
sendOpenClaims(senderID);
break;
case 'GET_STARTED_PAYLOAD':
sendGetStarted(senderID);
break;
case 'VIEW_OPEN_CLAIMS':
sendOpenClaims(senderID);
break;
case 'FILE_NEW_CLAIM':
startFileNewClaim(senderID);
break;
case 'SUBMIT_CLAIM':
submitClaim(senderID,object);
break;
case 'APPROVE_CLAIM':
approveClaim(senderID,object);
break;
case 'REJECT_CLAIM':
rejectClaim(senderID,object);
break;
default:
sendTextMessage(senderID, 'Postback called: ' + payload);
break;
}
}