smsgateway.me升级v4后PHP无法发送短信,API密钥传递存疑
我来帮你一步步解决这个问题——smsgateway.me v4版本的API密钥传递和短信发送逻辑确实和旧版本有不少变化,咱们从核心问题到具体实现逐个梳理:
1. 先搞懂v4版本的API密钥传递方式
这是升级后最容易踩的坑:v4不再支持把API密钥放在URL参数里,而是必须通过HTTP请求头传递。具体是用Authorization头,格式为Bearer 你的API密钥,这一步没做对的话,服务器根本无法识别你的授权信息,大概率会返回500或授权失败错误。
2. 完整PHP发送短信示例代码
下面是适配v4版本的PHP代码,用cURL实现(稳定性更好),已经包含了所有必要的配置:
<?php // 替换成你在smsgateway.me后台获取的API密钥 $apiKey = "YOUR_REAL_API_KEY"; // v4版本的发送端点 $sendUrl = "https://smsgateway.me/api/v4/message/send"; // 准备要发送的短信数据,支持批量发送 $smsList = [ [ "phone_number" => "07791064781", "message" => "Hello World", "device_id" => 1 // 替换成你后台已激活的设备ID ], [ "phone_number" => "07791064782", "message" => "Hello World", "device_id" => 2 ] ]; // 初始化cURL请求 $curl = curl_init($sendUrl); // 配置请求选项 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($smsList)); // 关键:设置请求头,必须包含授权和内容类型 curl_setopt($curl, CURLOPT_HTTPHEADER, [ "Authorization: Bearer {$apiKey}", "Content-Type: application/json" ]); // 执行请求并获取结果 $response = curl_exec($curl); $httpStatus = curl_getinfo($curl, CURLINFO_HTTP_CODE); // 关闭cURL资源 curl_close($curl); // 输出结果用于排查 echo "HTTP状态码: {$httpStatus}\n"; echo "服务器响应: {$response}\n"; ?>
注意:device_id必须是你在smsgateway.me后台已激活、在线的设备ID,设备离线或ID错误也会触发服务器内部错误。
3. Postman测试的正确配置步骤
你之前Postman返回500,大概率是没配置对请求头,按下面步骤调整:
- 选择POST方法,输入端点URL:
https://smsgateway.me/api/v4/message/send - 切换到Headers标签,添加两个必填头:
- Key:
Authorization,Value:Bearer 你的API密钥 - Key:
Content-Type,Value:application/json
- Key:
- 切换到Body标签,选择
raw格式,下拉框选JSON,然后粘贴官方的请求示例:
[ { "phone_number": "07791064781", "message": "Hello World", "device_id": 1 }, { "phone_number": "07791064782", "message": "Hello World", "device_id": 2 } ]
- 点击Send,现在应该能得到正常响应,而非500错误。
4. 500错误的额外排查点
如果按上面配置后还是报错,检查这几个地方:
- 确认API密钥的权限:在smsgateway.me后台的API密钥管理页面,确保密钥有发送短信的权限
- 检查JSON格式:请求体的JSON不能有语法错误(比如漏写引号、逗号)
- 测试服务器连通性:在你的PHP服务器上执行
curl -I https://smsgateway.me/api/v4/message/send,确认能正常访问端点 - 设备状态:后台查看对应
device_id的设备是否在线、是否绑定了正确的手机号
内容的提问来源于stack exchange,提问作者Ranjit Singh Shekhawat
相关产品推荐
相关产品推荐

