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

PHP调用Enablex.io API发送短信时API密钥认证失败问题

enablex.io PHP短信接口认证错误排查方案
  • 首先修正Basic Auth的错误写法
    你代码中存在两个和认证直接相关的错误:
    1. 不要对APP_ID、APP_KEY做urlencode处理,Basic认证要求直接对「APP_ID:APP_KEY」的原始字符串做base64编码,你之前声明的$apiKey = urlencode('your app key')完全无效,如果后续你把编码后的密钥传入拼接字符串,会直接导致认证失败。
    2. 确认拼接的「APP_ID:APP_KEY」中,冒号是英文半角符号,前后没有多余空格,base64编码后的字符串不要有换行或者多余字符。
  • 确认你收到的是否为真的认证错误
    你贴出的返回结果{"result":0,"job_id":"617901d728665117a1656964"}符合enablex接口的成功返回规则:result为0代表请求提交成功,非0才是错误码。你可以在curl请求中增加HTTP状态码和错误信息打印,确认真实错误类型:
    $response = curl_exec($ch);
    // 新增以下排查代码
    if(curl_errno($ch)){
        echo 'Curl请求错误:' . curl_error($ch);
    }
    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    echo 'HTTP响应状态码:' . $http_status;
    curl_close($ch);
    
    若状态码为401才是认证失败,状态码为200说明认证已通过,问题出在业务参数上。
  • 业务参数排查(认证通过但短信发送失败的场景)
    1. 确认你填写的campaign_id、template_id是你在enablex后台已审核通过的有效ID,短信内容和模板内容完全匹配,变量占位符格式符合平台要求。
    2. 确认接收号码格式正确,需要带国家码,比如中国手机号要写成8613xxxxxxxxx的格式。
    3. 检查enablex后台是否配置了服务器IP白名单,未将你当前请求的服务器出口IP加入白名单也会导致请求被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:45:04