200 response to inactive Slack interactive message

I integrate my application with Slack, in particular interactive messaging. I have enabled interactive messaging and am using ngrok to route the action url to the local development machine.

The Slack channel displays the following:

screenshot from Slack

Pressing the yes button passes the payload to my dev machine (truncated example):

{"payload"=>"{\"actions\":[{\"name\":\"approved\",\"type\":\"button\",\"value\":\"yes\"}] 

Slack requires a confirmation of the request within 3000 ms to avoid a timeout. I struggled and now commented on all the controller code to expect head :ok .

 def incoming head :ok end 

This is displayed in my logs processed by the corresponding route. ngrok shows a response time of less than 1000 ms, but I still get the following in Slack. slack screenshot

I do not understand why Slack's answer is not accepted. I tried head :ok , head :no_content , render status: 200 .

+5
source share

Source: https://habr.com/ru/post/1268142/


All Articles