本篇文章给大家谈谈短信开发接口SDK,以及短信平台api接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享短信开发接口SDK的知识,其中也会对短信平台api接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
SDK是一款软件还是插件!~或者是其他什么?
SDK一般指软件开发工具包。
软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
扩展资料:
SDK的隐私风险
2019年11月,上海市消费者权益保护委员会委托第三方公司对一些手机软件中的SDK插件进行了专门的测试,却发现一些SDK暗藏玄机。它们会读部设备的IMEI、IMSI、运营商信息、电话号码、短信记录 、通讯录、应用安装列表和传感器信息。
这些APP里的SDK来读取用户的隐私信息只是第一步,读取完成后,还会悄悄地将数据传送到指定的服务器存储起来。
北京招彩旺旺信息技术有限公司的SDK,甚至涉嫌通过菜谱、家长帮、动态壁纸等多款软件,窃取用户更加隐私的信息。因为SDK能够收集用户的短信,以及应用安装信息,一旦用户有网络交易的验证码被获取,极有可能造成严重的经济损失。
通用免认证的短信接口,每天单个号码100条以上
下面介绍一下moduyun平台的短信php接口。链接:www.moduyun.com
// Works well with php5.3 and php5.6.
namespace Moduyun\Sms;
require_once('SmsSenderUtil.php');
class SmsSingleSender {
var $url;
var $accesskey;
var $secretkey;
var $util;
function __construct($accesskey, $secretkey) {
$this-url = "https://live.moduyun.com/sms/v1/sendsinglesms";
$this-accesskey = $accesskey;
$this-secretkey = $secretkey;
$this-util = new SmsSenderUtil();
}
/**
* 普通单发,明确指定内容,如果有多个签名,请在内容中以【】的方式添加到信息内容中,否则系统将使用默认签名
* @param int $type 短信类型,0 为普通短信,1 营销短信
* @param string $nationCode 国家码,如 86 为中国
* @param string $phoneNumber 不带国家码的手机号
* @param string $msg 信息内容,必须与申请的模板格式一致,否则将返回错误
* @param string $extend 扩展码,可填空串
* @param string $ext 服务端原样返回的参数,可填空串
* @return string json string { "result": xxxxx, "errmsg": "xxxxxx" ... },被省略的内容参见协议文档
*/
function send($type, $nationCode, $phoneNumber, $msg, $extend = "", $ext = "") {
/*
请求包体
{
"tel": {
"nationcode": "86",
"mobile": "13788888888"
},
"type": 0,
"msg": "你的验证码是1234",
"sig": "fdba654e05bc0d15796713a1a1a2318c",
"time": 1479888540,
"extend": "",
"ext": ""
}
应答包体
{
"result": 0,
"errmsg": "OK",
"ext": "",
"sid": "xxxxxxx",
"fee": 1
}
*/
$random = $this-util-getRandom();
$curTime = time();
$wholeUrl = $this-url . "?accesskey=" . $this-accesskey . "random=" . $random;
// 按照协议组织 post 包体
$data = new \stdClass();
$tel = new \stdClass();
$tel-nationcode = "".$nationCode;
$tel-mobile = "".$phoneNumber;
$data-tel = $tel;
$data-type = (int)$type;
$data-msg = $msg;
$data-sig = hash("sha256",
"secretkey=".$this-secretkey."random=".$random."time=".$curTime."mobile=".$phoneNumber, FALSE);
$data-time = $curTime;
$data-extend = $extend;
$data-ext = $ext;
return $this-util-sendCurlPost($wholeUrl, $data);
}
/**
* 指定模板单发
* @param string $nationCode 国家码,如 86 为中国
* @param string $phoneNumber 不带国家码的手机号
* @param int $templId 模板 id
* @param array $params 模板参数列表,如模板 {1}...{2}...{3},那么需要带三个参数
* @param string $sign 签名,如果填空串,系统会使用默认签名
* @param string $extend 扩展码,可填空串
* @param string $ext 服务端原样返回的参数,可填空串
* @return string json string { "result": xxxxx, "errmsg": "xxxxxx" ... },被省略的内容参见协议文档
*/
function sendWithParam($nationCode, $phoneNumber, $templId = 0, $params, $sign = "", $extend = "", $ext = "") {
/*
请求包体
{
"tel": {
"nationcode": "86",
"mobile": "13788888888"
},
"sign": "Moduyun",
"tpl_id": 19,
"params": [
"验证码",
"1234",
"4"
],
"sig": "fdba654e05bc0d15796713a1a1a2318c",
"time": 1479888540,
"extend": "",
"ext": ""
}
应答包体
{
"result": 0,
"errmsg": "OK",
"ext": "",
"sid": "xxxxxxx",
"fee": 1
}
*/
$random = $this-util-getRandom();
$curTime = time();
$wholeUrl = $this-url . "?sdkaccesskey=" . $this-accesskey . "random=" . $random;
// 按照协议组织 post 包体
$data = new \stdClass();
$tel = new \stdClass();
$tel-nationcode = "".$nationCode;
$tel-mobile = "".$phoneNumber;
$data-tel = $tel;
$data-sig = $this-util-calculateSigForTempl($this-secretkey, $random, $curTime, $phoneNumber);
$data-tpl_id = $templId;
$data-params = $params;
$data-sign = $sign;
$data-time = $curTime;
$data-extend = $extend;
$data-ext = $ext;
return $this-util-sendCurlPost($wholeUrl, $data);
}
}
class SmsMultiSender {
var $url;
var $accesskey;
var $secretkey;
var $util;
function __construct($accesskey, $secretkey) {
$this-url = "https://live.moduyun.com/sms/v1/sendsinglesms";
$this-accesskey = $accesskey;
$this-secretkey = $secretkey;
$this-util = new SmsSenderUtil();
}
/**
* 普通群发,明确指定内容,如果有多个签名,请在内容中以【】的方式添加到信息内容中,否则系统将使用默认签名
* 【注意】海外短信无群发功能
* @param int $type 短信类型,0 为普通短信,1 营销短信
* @param string $nationCode 国家码,如 86 为中国
* @param string $phoneNumbers 不带国家码的手机号列表
* @param string $msg 信息内容,必须与申请的模板格式一致,否则将返回错误
* @param string $extend 扩展码,可填空串
* @param string $ext 服务端原样返回的参数,可填空串
* @return string json string { "result": xxxxx, "errmsg": "xxxxxx" ... },被省略的内容参见协议文档
*/
function send($type, $nationCode, $phoneNumbers, $msg, $extend = "", $ext = "") {
/*
请求包体
{
"tel": [
{
"nationcode": "86",
"mobile": "13788888888"
},
{
"nationcode": "86",
"mobile": "13788888889"
}
],
"type": 0,
"msg": "你的验证码是1234",
"sig": "fdba654e05bc0d15796713a1a1a2318c",
"time": 1479888540,
"extend": "",
"ext": ""
}
应答包体
{
"result": 0,
"errmsg": "OK",
"ext": "",
"detail": [
{
"result": 0,
"errmsg": "OK",
"mobile": "13788888888",
"nationcode": "86",
"sid": "xxxxxxx",
"fee": 1
},
{
"result": 0,
"errmsg": "OK",
"mobile": "13788888889",
"nationcode": "86",
"sid": "xxxxxxx",
"fee": 1
}
]
}
*/
$random = $this-util-getRandom();
$curTime = time();
$wholeUrl = $this-url . "?accesskey=" . $this-accesskey . "random=" . $random;
$data = new \stdClass();
$data-tel = $this-util-phoneNumbersToArray($nationCode, $phoneNumbers);
$data-type = $type;
$data-msg = $msg;
$data-sig = $this-util-calculateSig($this-secretkey, $random, $curTime, $phoneNumbers);
$data-time = $curTime;
$data-extend = $extend;
$data-ext = $ext;
return $this-util-sendCurlPost($wholeUrl, $data);
}
/**
* 指定模板群发
* 【注意】海外短信无群发功能
* @param string $nationCode 国家码,如 86 为中国
* @param array $phoneNumbers 不带国家码的手机号列表
* @param int $templId 模板 id
* @param array $params 模板参数列表,如模板 {1}...{2}...{3},那么需要带三个参数
* @param string $sign 签名,如果填空串,系统会使用默认签名
* @param string $extend 扩展码,可填空串
* @param string $ext 服务端原样返回的参数,可填空串
* @return string json string { "result": xxxxx, "errmsg": "xxxxxx" ... },被省略的内容参见协议文档
*/
function sendWithParam($nationCode, $phoneNumbers, $templId, $params, $sign = "", $extend ="", $ext = "") {
/*
请求包体
{
"tel": [
{
"nationcode": "86",
"mobile": "13788888888"
},
{
"nationcode": "86",
"mobile": "13788888889"
}
],
"sign": "Moduyun",
"tpl_id": 19,
"params": [
"验证码",
"1234",
"4"
],
"sig": "fdba654e05bc0d15796713a1a1a2318c",
"time": 1479888540,
"extend": "",
"ext": ""
}
应答包体
{
"result": 0,
"errmsg": "OK",
"ext": "",
"detail": [
{
"result": 0,
"errmsg": "OK",
"mobile": "13788888888",
"nationcode": "86",
"sid": "xxxxxxx",
"fee": 1
},
{
"result": 0,
"errmsg": "OK",
"mobile": "13788888889",
"nationcode": "86",
"sid": "xxxxxxx",
"fee": 1
}
]
}
*/
$random = $this-util-getRandom();
$curTime = time();
$wholeUrl = $this-url . "?accesskey=" . $this-accesskey . "random=" . $random;
$data = new \stdClass();
$data-tel = $this-util-phoneNumbersToArray($nationCode, $phoneNumbers);
$data-sign = $sign;
$data-tpl_id = $templId;
$data-params = $params;
$data-sig = $this-util-calculateSigForTemplAndPhoneNumbers(
$this-secretkey, $random, $curTime, $phoneNumbers);
$data-time = $curTime;
$data-extend = $extend;
$data-ext = $ext;
return $this-util-sendCurlPost($wholeUrl, $data);
}
}
更多,欢迎关注云服务-moduyun平台
官网:https://www.moduyun.com/
短信接口调用的时候报错
sp.RAM_PERMISSION_DENY RAM权限DENY 当提示RAM权限不足时,就需要给当前使用的AK对应子账号进行授权:AliyunDysmsFullAccess(权限名称)。具体权限授权详见:https://help.aliyun.com/document_detail/55764.html?spm=5176.product44282.6.548.bKZJL2
isv.OUT_OF_SERVICE 业务停机 请先查看账户余额,若余额大于零,则请通过创建工单联系工程师处理
isv.PRODUCT_UN_SUBSCRIPT 未开通云通信产品的阿里云客户 未开通云通信产品的阿里云客户(该AK所属的账号尚未开通云通信的服务,包括短信、语音、流量等服务)注:阿里云短信服务包含:1、消息服务 2、云通信短信服务 3、云市场短信接口,账号和短信接口不可混用。当出现此类提示报错需要检查当前AK是否已经开通阿里云云通信短信服务,如已开通消息服务,则参照消息服务文档调用接口。
isv.PRODUCT_UNSUBSCRIBE 产品未开通 产品未订购(该AK所属的账号尚未开通当前接口的产品,如仅开通了短信服务的用户调用语音接口。),检查AK对应账号是否已开通调用接口对应的服务。短信服务开通链接:https://www.aliyun.com/product/sms
isv.ACCOUNT_NOT_EXISTS 账户不存在 请确认使用的账号是否与申请的账号一致
isv.ACCOUNT_ABNORMAL 账户异常 请确认使用的账号是否与申请的账号一致
isv.SMS_TEMPLATE_ILLEGAL 短信模板不合法 TemplateCode参数请传入审核通过的模板ID,模板见:见:https://dysms.console.aliyun.com/dysms.htm#/template
isv.SMS_SIGNATURE_ILLEGAL 短信签名不合法 SignName请传入审核通过的签名内容,签名见:https://dysms.console.aliyun.com/dysms.htm#/sign
isv.INVALID_PARAMETERS 参数异常 对照文档,检查参数格式。例:短信查询接口SendDate日期格式yyyyMMdd,错误:2017-01-01正确:20170101
isp.SYSTEM_ERROR isp.SYSTEM_ERROR 请重试接口调用,如仍存在此情况请创建工单反馈工程师查看
isv.MOBILE_NUMBER_ILLEGAL 非法手机号 PhoneNumbers参数请传入11位国内号段的手机号码
isv.MOBILE_COUNT_OVER_LIMIT 手机号码数量超过限制 短信接收号码,支持以英文逗号分隔的形式进行批量调用,批量上限为1000个手机号码,PhoneNumbers参数单次调用不传入过多接收号码
isv.TEMPLATE_MISSING_PARAMETERS 模板缺少变量 TemplateParam中需要以json格式字符串给使用的模板中出现的所有变量进行赋值。例:模板为:您好${name},验证码${code} TemplateParam={“name”:”Tom”,”code”:”123”}
isv.BUSINESS_LIMIT_CONTROL 业务限流 将短信发送频率限制在正常的业务流控范围内,默认流控:短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,支持1条/分钟,5条/小时 ,累计10条/天。
isv.INVALID_JSON_PARAM JSON参数不合法,只接受字符串值 TemplateParam入参以Json格式字符串形式传入。例:正确{“code”:”123”}
isv.BLACK_KEY_CONTROL_LIMIT 黑名单管控 黑名单管控是指变量内容含有限制发送的内容,变量不支持透传url,同时检查通过变量是否透传了一些敏感信息触发关键字
isv.PARAM_LENGTH_LIMIT 参数超出长度限制 单个变量长度限制在20字符内。
isv.PARAM_NOT_SUPPORT_URL 不支持URL 变量不支持透传url,同时检查通过变量是否透传了一些敏感信息触发关键字
isv.AMOUNT_NOT_ENOUGH 账户余额不足 转入金额不足以发送当前信息,确保余额足够发送当前短信
isv.TEMPLATE_PARAMS_ILLEGAL 模板变量里包含非法关键字 变量不支持透传url,同时检查通过变量是否透传了一些敏感信息触发关键字
SignatureDoesNotMatch Specified signature is not matched with our calculation. Signature加密错误,如为SDK调用,则需要注意accessKeyId和accessKeySecret字符串赋值正确无误;如自行加密的Signature,则需要检查加密逻辑,对照文档:https://help.aliyun.com/document_detail/56189.html
InvalidTimeStamp.Expired Specified time stamp or date value is expired. 时间戳错误,发出请求的时间和服务器接收到请求的时间不在15分钟内。经常出现该错误的原因是时区原因造成的,目前网关使用的时间是GMT时间
SignatureNonceUsed Specified signature nonce was used already. 唯一随机数重复,SignatureNonce为唯一随机数,用于防止网络重放攻击。不同请求间要使用不同的随机数值。
InvalidVersion Specified parameter Version is not valid. 版本号错误,需要确认接口的版本号,如云通信短信、语音、流量服务的Version=2017-05-25
InvalidAction.NotFound Specified api is not found, please check your url and method 接口名错误,需要确认接口地址和接口名,如云通信短信服务短信发送:dysmsapi.aliyuncs.com,接口名Action=SendSms
如何推广和改善自己的微信小程序?
1、为小程序开发的产品定位
有的用户开发小程序的目的只是为了服务于广大消费者,但是有的商家却是为了从中获取收益,不同的目的自然产品的定位也不同,大家需要根据自己的产品和行业找准自己产品的定位,找准了定位开发起来也能事半功倍。
2、做好线下推广
小程序需要线下的推广,只有通过线下的推广才能够让大家知晓这个小程序的存在,大家可以为小程序定位,基于地理位置让附近的用户看到,通过“附近小程序”的功能让大家能够搜索到,也可以使用比较传统的方法美也就是发传单和举办一些活动的方式,让大家可以通过扫描二维码进入,并且成为你的小程序粉丝。
3、寻找第三方开发公司合作
虽然小程序开发的费用没有APP费用高,它的构建系统也没有APP复杂,但是一般情况下公司和商户都还不具备小程序开发的能力,所以大家就需要寻找专业的第三方开发公司合作,通过他们专业的技能来为自己打造一个专属的小程序,并且找第三方开发公司合作比自己组建开发团队的费用更低。
4、开发过程中注重用户体验
大家可能在使用一款小程序的时候会发现,现在小程序暂时还没有信息发送的功能,但是却已经有了客服等交互功能,如果大家想要打造一个更好的小程序,在开发的过程中就一定要注重用户的体验度,让用户在使用小程序的过程中真正感受到小程序区别于原生App的方便快捷。
5、从公众号积累的影响力入手
大多数企业在开发小程序之前的都有了自己的公众号,我们可以利用公众号进行运营来推广小程序,再用小程序获取用户进入到订阅号展开二次转化,这样一来为企业的公众号积累了粉丝,二来也为大家所开发的小程序实现了变现的目的,同时做好小程序的服务还能够确保源源不断的流量,获得更多的用户
有比较好的短信群发平台吗
选择短信平台请注意以下几点:
1、具备群发平台和SDK接口,平台必须操作简单,能看到发送记录和成功纪录,最好是网页版本,方便随时随地管理发送短信,SDK接口算公司软实力的一种,如果您需要做定制功能,就是必要条件了。
2、价格合理,正规的短信平台每条短信价格一般在3-6分钱之间,看发送量的大小,量越大越便宜。服务公司都有自己的报价套餐供客户选择和参考,如果低于3分,那告诉你,基本不可能,服务商也是有成本的
3、到达率好:好的通道提供商有优质的资源通道,即运营商的正规106通道,主要有10690(三网)、10698/10668(移动)、10655(联通)、10659(电信)等,此种开头的通道到达率高达99%左右,大部分支持回复;短信验证码可多条提交,免审,基本上5秒到达。且有发送回执,发送失败的短信正规公司都是不计费的,短信额一般又返给客户的账户上。
4、通道稳定,好通道和不好的通道相比还有一个非常大的差异,差的发送通道经常在某个敏感的时间段内无法使用通道,具体表现在发送慢、无法送达等,或无法送达到某个敏感地区,好的通道提供商不会受此限制。
5、售后服务完善,由于工信部的严格管控,四大类或内容敏感的短信发送受到限制,当公司发送短信出问题,可以联系客服人员或技术支持人员或售后客服协助解决
请问现在还能使用飞信SDK吗 如果要是做个免费的短信通知平台 该怎么做?
您好,您可以到开发者站点创建网站后就可以申请API的K值和secret key,地址为http://i2.feixin.10086.cn/open/site/sitecreate.
飞信的接口地址为:http://i.feixin.10086.cn/open/
关于短信开发接口SDK和短信平台api接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
短信开发接口SDK的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于短信平台api接口、短信开发接口SDK的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~