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

使用smsGateway.me API发送单号码短信时提示设备未找到错误

排查smsGateway.me API设备ID矛盾问题的原因

从你提供的错误信息和代码来看,核心问题非常明显——发送短信时传入的设备ID和查询设备详情时用的ID完全不一致!

具体问题分析

看你的PHP代码片段:

$deviceID = 90841;
// ...
$result = $smsGateway->sendMessageToNumber('0715605476', $message,2/*, $options*/);

你明明定义了正确的设备ID变量$deviceID = 90841,调用getDevice($deviceID)时也正确使用了这个变量,所以能成功返回设备详情;但调用sendMessageToNumber时,第三个参数你硬编码成了2,而不是$deviceID!这就导致API在尝试查找ID为2的设备,自然会返回"No device found with that ID"的错误。

修正后的代码

只需要把sendMessageToNumber的第三个参数替换为你定义好的$deviceID变量即可:

<?php 
require_once 'smsGateway.php'; 
$number='07****XXXX'; 
$message="Hi "; 
$smsGateway = new SmsGateway('user@gmai.com', '****'); 
$deviceID = 90841; 

// 修正参数:用$deviceID代替硬编码的2
$result = $smsGateway->sendMessageToNumber('0715605476', $message, $deviceID/*, $options*/); 
$devices = $smsGateway->getDevice($deviceID); 

echo json_encode($result)."<br><br>".json_encode($devices); 
?>

额外排查建议(以防后续遇到类似问题)

  • 确认设备在线状态:虽然你的设备last_seen有更新记录,但可以检查设备是否处于正常在线可发送状态(API通常要求设备在线才能成功发送短信)
  • 核对账号权限:确保你的账号拥有使用该设备发送短信的权限
  • 检查参数顺序:确认sendMessageToNumber的参数顺序和API文档要求一致(你这里顺序是对的,但参数值出错了)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:40:24