分享

自定义发送短信

 小马哥技术屋 2018-01-11
  这里用的是豪庭短信平台,如果是自定义短信的话,发送短信之后,需要对方审核,审核通过以后方可发送成功。
public function sendMessage($phone, $content){
    header("Content-Type:text/html;charset=utf-8");
    //$apikey = "a7af3ec3f876e3800c4ff517cf6ef67a"; //修改为您的apikey(https://www.)登录官网后获取
    $ch = curl_init();
    /* 设置验证方式 */
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded','charset=utf-8'));
    /* 设置返回结果为流 */
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    /* 设置超时时间*/
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    
    /* 设置通信方式 */
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    // 发送短信
    $data=array('action'=>'send','userid'=>'userid(这个是企业id)','account'=>'cloudant','password'=>'12345678','mobile'=>$phone,'content'=>"【签名】".$content,'sendTime'=>'','extno'=>'');
    $json_data = $this->send($ch,$data);
    var_dump($json_data);
   // $array = json_decode($json_data,true);
    //var_dump($array);
    curl_close($ch);//关闭URL请求
}
  public function send($ch,$data){
      curl_setopt ($ch, CURLOPT_URL, 'http://114.55.37.182:8888/sms.aspx');
      curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
      $result = curl_exec($ch);
      return $result;
  }


  说明:
    如果是多人发送,可以用逗号隔开

文档如下:

接口说明:客户接口部分提供http url方式的接口,根据客户需求可以提供相应接口。

第一章  发送接口

1.1 请求地址

请求地址是客户接口程序调用时请求的url地址,采用的是http post 接口,地址是

http://客户端地址/sms.aspx 对应UTF-8

http://客户端地址/smsGBK.aspx 对应GB2312

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户   

1.2参数说明

http://客户端地址/sms.aspx

http://客户端地址/smsGBK.aspx

 

参数名称

含义

说明

userid

企业id

企业ID

account

发送用户账号

用户账号,由系统管理员

password

发送账号密码

用户账号对应的密码

mobile

全部被叫号码

发信发送的目的号码.多个号码之间用半角逗号隔开

content

发送内容

短信的内容,内容需要UTF-8编码

sendTime

定时发送时间

为空表示立即发送,定时发送格式2010-10-24 09:08:10

action

发送任务命令

设置为固定的:send

extno

扩展子号

请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多10位数。

例如:

action=send&userid=12&account=账号&password=密码&mobile=15023239810,13527576163&content=内容&sendTime=&extno=

1.3返回值

在接收到客户端发送的http请求后,返回以xml的方式返回处理结果。格式为:

 

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<returnstatus>status</returnstatus> ---------- 返回状态值:成功返回Success 失败返回:Faild

<message>message</message> ---------- 返回信息:见下表

<remainpoint> remainpoint</remainpoint> ---------- 返回余额

 

<taskID>taskID</taskID>  -----------  返回本次任务的序列ID

<successCounts>successCounts</successCounts> --成功短信数:当成功后返回提交成功短信数

</returnsms>

 

返回信息提示

说明

ok

提交成功

用户名或密码不能为空

提交的用户名或密码为空

发送内容包含sql注入字符

包含sql注入字符

用户名或密码错误

表示用户名或密码错误

短信号码不能为空

提交的被叫号码为空

短信内容不能为空

发送内容为空

包含非法字符:

表示检查到不允许发送的非法字符

对不起,您当前要发送的量大于您当前余额

当支付方式为预付费是,检查到账户余额不足

其他错误

其他数据库操作方面的错误

 

第二章 余额及已发送量查询接口

2.1 请求地址

请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是

http://客户端地址/sms.aspx

http://客户端地址/smsGBK.aspx

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户   

2.2参数说明

参数名称

含义

说明

userid

企业id

企业ID

account

用户账号

用户账号,由系统管理员

password

账号密码

用户账号对应的密码

action

任务名称

设置为固定的:overage

例如:

action=overage&userid=12&account=账号&password=密码

2.3返回值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<returnstatus>status</returnstatus>-------返回状态值:成功返回Sucess (注意:此处是Sucess,和其它接口返回的Success不同)失败返回:Faild

<message>message</message>--------------返回信息提示:见下表

<payinfo>payinfo</payinfo>--------------返回支付方式  后付费,预付费

<overage>overage</overage>-------------返回余额

<sendTotal>sendTotal</sendTotal>----返回总点数  当支付方式为预付费是返回总充值点数

</returnsms>

 

返回信息提示

说明

返回空

查询成功

将返回相应的支付方式、账户使用条数、总充值点数

用户名或密码不能为空

提交的用户名或密码为空

用户名或密码错误

表示用户名或密码错误

 

 

第三章 非法关键词查询

3.1 请求地址

请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是

http://客户端地址/sms.aspx

http://客户端地址/smsGBK.aspx

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户   

3.2参数说明

参数名称

含义

说明

userid

企业id

企业ID

account

用户账号

用户账号,由系统管理员

password

账号密码

用户账号对应的密码

action

任务名称

设置为固定的:checkkeyword

content

检测发送内容

需要发送的内容

例如:

action=checkkeyword&userid=12&account=账号&password=密码&content=内容

3.3返回值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<message>message</message>--------------返回信息提示:见下表

</returnsms>

 

返回信息提示

说明

用户名或密码不能为空

提交的用户名或密码为空

用户名或密码错误

表示用户名或密码错误

包含非法字符

检查出来包含非法关键词

没有包含屏蔽词

未检查出非法关键词

 

 

 

第四章 状态报告接口

4.1 请求地址

请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是

http://客户端地址/statusApi.aspx

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户   

注意:相同的状态报告,只能获取一次。

4.2参数说明

参数名称

含义

说明

userid

企业id

企业ID

account

用户账号

用户账号,由系统管理员

password

账号密码

用户账号对应的密码

statusNum

每次取得号码数

必须为数字,默认4000,可不填

action

任务名称

设置为固定的:query

例如:

action=query&userid=12&account=账号&password=密码

4.3返回值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<statusbox>

<mobile>15023239810</mobile>-------------对应的手机号码

<taskid>1212</taskid>-------------同一批任务ID

<status>10</status>---------状态报告----10:发送成功,20:发送失败

<receivetime>2011-12-02 22:12:11</receivetime>-------------接收时间

<errorcode>DELIVRD</errorcode>-上级网关返回值,不同网关返回值不同,仅作为参考

<extno>01</extno>--子号,即自定义扩展号

</statusbox>

<statusbox>

<mobile>15023239811</mobile>

<taskid>1212</taskid>

<status>20</status>

<receivetime>2011-12-02 22:12:11</receivetime>

<errorcode>2</errorcode>

<extno></extno>

</statusbox>

</returnsms>

4.4错误返回值——状态报告请求错误返回格式及对应值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<errorstatus>

<error>1</error>-------------错误码

<remark>用户名或密码不能为空</remark>-------------错误描述

</errorstatus>

</returnsms>

1:用户名或密码不能为空

2:用户名或密码错误

3:该用户不允许查看状态报告

4:参数不正确

 

 

 

 

 

 

 

第五章 上行接口

5.1 请求地址

请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是

http://客户端地址/callApi.aspx

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户   

注意:相同的上行回复,只能获取一次。

 

5.2参数说明

参数名称

含义

说明

userid

企业id

企业ID

account

用户账号

用户账号,由系统管理员

password

账号密码

用户账号对应的密码

action

任务名称

设置为固定的:query

例如:

action=query&userid=12&account=账号&password=密码

5.3返回值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<callbox>

<mobile>15023239810</mobile>-------------对应的手机号码

<taskid>1212</taskid>-------------同一批任务ID

<content>你好,我不需要</content>---------上行内容

<receivetime>2011-12-02 22:12:11</receivetime>-------------接收时间

<extno>01</extno>----子号,即自定义扩展号

</callbox>

<callbox>

<mobile>15023239811</mobile>

<taskid>1212</taskid>

<content>你好,本次活动路线是怎么的</content>

<receivetime>2011-12-02 22:12:11</receivetime>

<extno>01</extno>

</callbox>

</returnsms>

5.4错误返回值——回复请求错误返回格式及对应值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<errorstatus>

<error>1</error>-------------错误码

<remark>用户名或密码不能为空</remark>-------------错误描述

</errorstatus>

</returnsms>

1:用户名或密码不能为空

2:用户名或密码错误

3:该用户不允许查看状态报告

4:参数不正确

 

 

 

第六章 密码修改接口

6.1 请求地址

请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是

http://客户端地址/sms.aspx

http://客户端地址/smsGBK.aspx

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户   

 

6.2参数说明

参数名称

含义

说明

userid

企业id

企业ID

account

用户账号

用户账号,由系统管理员

password

账号密码

用户账号对应的密码

action

任务名称

设置为固定的:changespwd

newpwd

新密码

 

renewpwd

确认密码

确认密码是将新密码再次输入

例如:

action= changespwd&userid=12&account=账号&password=密码&newpwd=新密码&renewpwd=新密码

6.3返回值

<?xml version="1.0" encoding="utf-8" ?>

<returnsms>

<returnstatus>status</returnstatus>-------返回状态值:成功返回Success失败返回:Faild

<message>message</message>--------------返回信息提示:见下表

< checkCounts > </ checkCounts >--------------预留字段

</returnsms>

 

返回信息提示

说明

密码修改成功

密码修改成功

用户名或密码不能为空

提交的用户名或密码为空

用户名或密码错误

表示用户名或密码错误

其他

对应中文错误描述

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多