PHP是中小企业后台与CRM系统常见的开发语言。用PHP接入互亿无线预警通知接口,可在订单异常、系统报错、定时任务失败时自动发送短信或语音告警。PHP的curl扩展几乎所有环境可用,本文给出基于curl的示例与返回解析。 PHP接入的接口与…
PHP是中小企业后台与CRM系统常见的开发语言。用PHP接入互亿无线预警通知接口,可在订单异常、系统报错、定时任务失败时自动发送短信或语音告警。PHP的curl扩展几乎所有环境可用,本文给出基于curl的示例与返回解析。
PHP接入的接口与参数
短信接口地址 https://api.ihuyi.com/sms/Submit.json ,支持POST与GET,UTF-8编码。语音接口为 https://api.ihuyi.com/voice/vm 。核心参数为account、password、mobile、content。
- account:APIID,password:APIKEY;
- mobile:接收手机号;
- content:短信内容或语音文本;
- 响应为JSON,code=2表示提交成功。
PHP curl发送短信示例
下面的函数用curl POST到短信接口,并解析返回JSON:
<?php
function send_sms($mobile, $content) {
$post = http_build_query([
"account" => "你的APIID",
"password" => "你的APIKEY",
"mobile" => $mobile,
"content" => $content,
]);
$ch = curl_init("https://api.ihuyi.com/sms/Submit.json");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
return json_decode($res, true); // code=2为提交成功
}
?>
http_build_query会自动处理中文与特殊字符的编码,无需手动转义。
PHP接入注意事项
- 务必开启CURLOPT_SSL_VERIFYPEER,走HTTPS加密传输;
- 设置CURLOPT_TIMEOUT,避免接口慢时拖住PHP-FPM进程;
- APIID与APIKEY从配置文件读取,不要硬编码在业务代码;
- 返回code不等于2时记录原始响应,便于对照返回码排查。
带curl错误处理与返回解析的完整示例
PHP生态中curl扩展是发送HTTPS请求的常用方式。下面这个版本加上了curl错误捕获、HTTP状态判断与返回JSON解析:
<?php
function send_sms($mobile, $content) {
$url = "https://api.ihuyi.com/sms/Submit.json";
$post = http_build_query([
"account" => getenv("IHUYI_APIID"),
"password" => getenv("IHUYI_APIKEY"),
"mobile" => $mobile,
"content" => $content,
]);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => true,
]);
$resp = curl_exec($ch);
if ($resp === false) {
error_log("curl错误: " . curl_error($ch));
return null;
}
curl_close($ch);
return json_decode($resp, true); // code=2为提交成功
}
?>
依赖与运行说明
示例依赖PHP的curl扩展,多数LNMP环境默认开启。http_build_query会自动对中文做URL编码,无需手动转义。密钥通过getenv读取,适合容器化部署。
常见报错排查
- curl_exec返回false:用curl_error($ch)查看具体错误,常见是CA证书缺失或DNS解析失败;
- 返回code非2:打印json_decode结果,按msg定位认证、手机号或模板问题;
- HTTPS证书校验失败:确认PHP已配置CA包,或在受控环境临时关闭校验便于排查;
- 语音通道:把URL换成 https://api.ihuyi.com/voice/vm ,参数不变。
几行curl就能让PHP后台具备告警能力。前往注册免费试用获取测试密钥。