You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Slack Webhook发送POST请求?Laravel代码返回400状态码怎么解决

问题原因

请求返回400状态码的核心原因是请求格式不符合Slack入站Webhook的规范,具体遗漏点如下:

  • 你使用的content、embeds是Discord Webhook的参数字段,Slack对应的纯文本字段为text,富文本嵌入结构为attachments,字段不匹配会直接被Slack拒绝
  • Slack的attachments结构中color参数要求为整型数值,你传入的字符串格式会触发参数校验失败
  • Laravel Http客户端默认发送表单格式请求,Slack要求请求体为JSON格式,需要显式指定JSON请求标识

修正后代码

Route::get('/testime',function (){
    $response =  Http::asJson()->post(env('SLACK_WEBHOOK'),[
        'text' => "Testing testing",
        'attachments' => [
            [
                'title' => "Test ",
                'description' => "URRA",
                'color' => 7506394,
            ]
        ],
    ]);
    // 排查阶段可以放开下方注释查看Slack返回的具体错误信息
    // return $response->body();
    return $response->status();
});

其他排查点

如果修改后仍返回400,可以输出$response->body()查看具体错误提示,常见问题还包括:

  • .env文件中SLACK_WEBHOOK地址配置错误
  • 对应Slack应用的入站Webhook未激活,或者权限配置有误

内容的提问来源于stack exchange,提问作者Thymeleaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 13:15:05