接口网短信接口
接口地址
不同的编码方式请使用不同的接口地址,以 UTF-8 举例说明:
1
| http://sms.106jiekou.com/utf8/sms.aspx?account=用户账号&password=接口密码&mobile=号码&content=您的订单编码:888888。如需帮助请联系客服。
|
1
| http://sms.106jiekou.com/utf8/openapi.aspx?account=用户账号&password=接口密码&mobile=号码&content=内容
|
1
| http://sms.106jiekou.com/utf8/worldapi.aspx?account=用户账号&password=接口密码&mobile=号码&content=内容
|
短信接口都是 JSON
响应。
此外,GBK
接口地址和 UTF-8
的区别只是把上面的 utf-8
改为 gbk
即可。
1
| http://www.dxton.com/webservice/sms.asmx/GetNum?account=用户账号&password=接口密码
|
接口参数
接口账户和接口密码
接口账户就是登录接口网的账户,但接口密码不是登录密码,需要自行在后台设置。
接收号码
每个号码接收频率 5 次/天。
不然易引起运营商网关屏蔽数天,如果需要更高频率联系客服申请。
当调用群发接口时,使用英文逗号 ,
分隔不同的手机号码即可,比如:13333333333
,15555555555
。国际建议 100 个内,国内建议 1000 个内。
需要注意带上国际区码和地区区码。比如
1 2 3
| 国际区码:49 地区区码:0179 手机号码:233333
|
则正确的格式为:49179233333
。注意,地区城市区码的 0或 00 不用加。
短信内容
发送内容需要进行 URL
字符标准化转码。
有一个专用调试模版:您的订单编码:888888
。如需帮助请联系客服。。
URL 字符编码说明:返回字符串,此字符串中除了 -/_/.
之外的所有非字母数字字符,都将被替换成百分号 %
后跟两位十六进制数,空格则编码为加号 +
。
短信模版
短信模版指的是发送到用户手机时看到的内容所采用的格式。
模版中含有「变量」,变量是在项目根据需要动态生成的不同内容。变量套用被允许使用的模版,生成最终发送给用户的短信内容,连同用户手机号码,通过参数的形式调用接口网接口,发送给目标用户。
短信模版举例如下:
1
| 尊敬的用户您已经注册成功,用户名:`<账号用户名>` 密码:`<账号密码>` 感谢您的注册!
|
1
| 您的订单编码:888888。如需帮助请联系客服。
|
其中, 「变量」可以自定义内容,其它都要和模板一致,包括空格、标点符号等。
限制
- 小批量调试或应用订购,短信内容只能用“系统公共模版”相对固定格式,否则会报错104(内容未审核)
- 自定义短信模版、签名,需要审批和备案
由于短信行业受运营商政策管制,只有政策允许且你的帐号级别够的时候,才支持。若帐号无权限或系统未开放时,只能选用系统默认的通用性短信签名和短信模版。如果都支持,编辑好签名、模板,后台提交,我们报备运营商,审批下来后就可以按贵公司的格式进行发送了。(以后台通告为准)
提交时,签名不用加 【】 号,模板中属于变量的地方用 【变量】代替,否则系统识别不出来。
短信签名
短信末尾或前面跟的品牌签名。比如:
1
| 您的订单编码:888888。如需帮助请联系客服。【会员验证通知】
|
其中,”会员验证通知”
就属于短信签名
,一般是公司或产品简称。
小批量应用【部分自定义内容和签名】实现方法
- 可以把订单编码、客服热线、【店铺名称】,都融入到 一个【变量】里。
短信模板: 您的订单编码:【变量】。如需帮助请联系客服。
实际内容: 您的订单编码:20140208 客服热线4006668280【速度网络】。如需帮助请联系客服。【会员验证通知】
- 可以把验证码、网站或软件名称,都融入到 一个【变量】里。
短信模板: 您的订单编码:【变量】。如需帮助请联系客服。
实际内容: 您的订单编码:8888【速度网络】。如需帮助请联系客服。【会员验证通知】
返回状态码及其说明
1 2 3 4 5 6 7 8 9 10 11 12 13
| 100 发送成功 101 验证失败 102 手机号码格式不正确 103 会员级别不够 104 内容未审核 105 内容过多 106 账户余额不足 107 Ip受限 108 手机号码发送太频繁,请换号或隔天再发 109 帐号被锁定 110 发送通道不正确 111 当前时间段禁止短信发送 120 系统升级
|
相关代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| <?php
namespace App\Tools;
class DxtonSMS { protected $send_api = 'http://sms.106jiekou.com/utf8/sms.aspx'; protected $sms_tpls = [ 'default' => '您的订单编码:CODE。如需帮助请联系客服。' ]; protected $account = null; protected $api_key = null; protected $mobiles = null; protected $code = null; protected $tpl = null; protected $api_url = null; protected $content = null; public function __construct( $mobiles, $code, $tpl = 'default', $account = null, $api_key = null ) { list( $this->account, $this->api_key, $this->mobiles, $this->code, $this->tpl ) = [ $account, $api_key, $mobiles, $code, $tpl, ]; if (is_null($this->account) || is_null($this->api_key)) { self::setDefaultAuth(); } self::setApiUrl(); } public static function getContent() { } public static function setApiUrl( $account, $password, $mobile, $code, $tpl ) { } public static function setDefaultAuth() { try { $this->account = env('DXT_ACCOUNT'); $this->api_key = env('DXT_API_KEY'); } catch (\Exception $e) { die($e->getMessage()); } } public static function getSendResBySock($data, $target) { $url_info = parse_url($target); $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n"; $httpheader .= "Host:" . $url_info['host'] . "\r\n"; $httpheader .= "Content-Type:application/x-www-form-urlencoded\r\n"; $httpheader .= "Content-Length:" . strlen($data) . "\r\n"; $httpheader .= "Connection:close\r\n\r\n"; $httpheader .= $data; $fd = fsockopen($url_info['host'], 80); fwrite($fd, $httpheader); $gets = ""; while (!feof($fd)) { $gets .= fread($fd, 128); } fclose($fd); return $gets; } public static function getSendResByCurl($api_url, $content) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $content); $send_res = curl_exec($ch); if (curl_errno($ch) !== 0) { $send_res = false; } curl_close($ch); return $send_res; } }
|
FAQ
70 字符按 1 条收费,超 70 字,按 65 /条,多条收费。(通道行业标准,部分通道 67 字符单条)
为了避免各种原因的帐号盗用情况,造成贵公司短信被滥用,所以我们的系统有ip验证功能,只发送您这边认可的ip地址提交的短信。
发送内容未按系统模板或备案的模板下发;或程序编码格式和接口不一致。
参考