PHP接入预警通知接口:curl请求与返回解析

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后台具备告警能力。前往注册免费试用获取测试密钥。

立即开始,免费体验

新用户注册即送免费测试额度,3分钟快速接入,专属客服全程指导

免费试用 →