短信开发接口SDK(短信平台api接口)

网友投稿 422 2023-03-05


本篇文章给大家谈谈短信开发接口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小时内删除侵权内容。

上一篇:入库接口测试用例图例说明(入库截止测试)
下一篇:详解servlet的url
相关文章

 发表评论

暂时没有评论,来抢沙发吧~