How to access Slack's Interactive Message request payload parameter?
On your server side, check your request url route is allowed to receive POST. As said in theirs docs (https://api.slack.com/docs/message-buttons) :
Your Action URL will receive a HTTP POST request, including a payload body parameter, itself containing an application/x-www-form-urlencoded JSON string.
You first have to decode the x-www-form-urlencoded format of the request, then json decode it.
In python, I end up with this line of code :
payload = json.loads(urlparse.parse_qs(request.get_data())['payload'][0])
Hope it helps someone else one day !
If you are using AWS lamdba as backend, use following. (python3)
import json
from urllib.parse import parse_qs
payload = json.loads(parse_qs(event['body'])['payload'][0])
I managed getting the info this way:
data = request.form.to_dict()
payload = json.loads(data['payload']
print(payload["actions"][0]["name"]))
Hope it helps someone in the future.