松弛的Webhooks-更改操作URL?

问题描述 投票:1回答:1

阅读完Slack有关传入Webhooks的文档后,我不清楚。似乎传入的Webhooks与通过其聊天API的帖子之间存在歧义。听起来,如果我从https://my-application.yxz/api/notify?key=123123123123调用它,然后从那里发布到Slack,则Slack的操作按钮将回复相同的URL,但我无法确认。

https://api.slack.com/docs/message-attachments

我已经成功地将消息发送到指定的频道,但是我不知道如何获取响应,或者如何更改操作将自己的有效负载发送到的URL。那有可能吗?

对于下面的代码,我正在使用Laravel。理想情况下,我只想在用户设置中为其商店位置保留一个Slack Webhook URL,以便他们可以接收由我们的API被点击触发的Slack通知。

这是我要发送到Webhook的有效负载,它可以正常工作,但是我想添加可操作的按钮,并将有效负载发布回我的外部站点。我不确定传入的Webhooks是否是正确的方法。有人可以阐明这一点吗?

# $helpdesk  => contains webhook URL and other details 
# $prompt    => just some text
# $prompt_id => id associated with prompt object passed into the function this is found in
# $device    => the source of this prompt

$payload = json_encode([
        "text" => "A customer at $device->name requires attention",
        "username"=>"Our Alert Thing",
        "icon_emoji"=>":wave:",
        "attachments"=> [
            [
                "fallback"=> $prompt,
                "author_name"=> "Customer @ $device->name",
                "title"=> $prompt,
                "text"=> "Let them know if you can help",
                "callback_id"=> "csprompt_".$prompt_id,
                "color"=> "#24ACE2",
                "actions"=> [
                    [
                        "name"=> "action",
                        "type"=> "button",
                        "text"=> "I call dibs",
                        "style"=> "primary",
                        "value"=> "helping",
                    ],
                ]
            ]
        ]
    ]);

    $res = $client->post($helpdesk->slack_webhook, ['body'=>$payload]);
php laravel slack slack-api
1个回答
0
投票

您无法以编程方式设置您的操作网址。 Slack会将所有交互式消息请求(例如,来自用户单击您的按钮之一的请求)发送到您为Slack应用配置的“请求URL”。

检查this link以获取有关在何处找到请求URL的详细信息。

[我认为从技术上讲,您可以使用incoming webhooks,但我建议您将API与chat.postMessage一起使用,因为传入的Webhook非常有限。例如它们只能与一个预配置的通道一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.