【Delphi】京东 短信发送控件 SMS_JD_Component(含源代码、帮助、演示程序)

8 篇文章 2 订阅
5 篇文章 0 订阅

京东短信发送需要进行 RSA 签名验证,对于delphi 开发者,这个就比较麻烦,这样就需要封装一个控件。

短信控件;

  1. 实现调用京东短信通知API,发送短信的功能。
  2. 具体参考官方文档:https://comm.jd.com/frontView/apiArticle?r=1

控件名称:TSMS_JD_Component
控件属性:

编号名称类型说明
1AppID字符串应用Id,由平台分配。
2AccountCode字符串账户编码,由平台分配。
3AppSecret字符串应用密钥,由平台分配,即:RSA公钥。
4UserID字符串开发者账户体系中的主key,由平台分配。

京东智联云发送短信功能相对单一,目前提供的只有发送短信功能,其它的都需要在平台完成。

发送短信的方法:

 function SendSms(revPhoneNumbers, smsSignId,smsTemplateID: String; var resultCode, msg: String; smsTemplateParamJSON: String='') : Boolean; 

在这里插入图片描述
注意事项:

(1)短信模板,是指,用户收到短信后,在手机上看到的,除短信签名外的所有文字。

(2)短信字数如何计费?短信字数=签名+短信文案+退订信息,前述3部分内容都包括在内,计空格字符数<=70,按一条短信计费,70 <计空格字符数 <140,按一条短信计费,以此类推,模板内容最多900字符。但建议尽量简短。

(3)营销短信模板,一般包含“促销文案+活动/商品/店铺/优惠券的移动端原始链接(链接前后必须分别加空格)+退订信息”,短信模板示例:您关注的商品限时抢购中!库存有限,戳 https://item.m.jd.com/product/66950033226.html 购买,回复td退订

(4)短信内容支持包含中文、英文、数字、一般标点符号,建议使用逗号、句号、感叹号等普通标点。因为特殊符号和格式在部分型号的手机上会变成乱码,所以不支持添加-~#*+“”ヾ▽ノ^&√※→●★等特殊符号,不支持回车换行等格式。

(5)短信模板中只允许有1个长链接;建议使用移动端原始链接,非移动端原始链接可以下发,但是无法抓取到链接产出数据;链接前和链接后必须要有空格,但除链接前后的位置外,其它地方不能有空格。

(6)营销短信末尾必须添加退订信息:“回复TD退订”。无退订信息会被拦截导致下发失败。

(7)不支持发送贷款/借款/中奖/抽奖/金融理财/房产推广/诱导加微信等内容的短信;禁止使用涉政、涉黄、涉赌、涉毒等违法的文字;也请不要使用涉嫌虚假宣传,如底价、超低价、第一、最低等违反广告法的绝对性用词。

(8)短信内容不支持使用短信签名专用符号【】[],会被运营商判定为双签名导致发送失败。

(9)除普通短信外,还支持下发带变量的短信。变量短信是指,实际发送短信时,用户希望自定义变化的内容,固定格式如:{name}、{content}等,中间字母应代表变量属性。

演示程序:
在这里插入图片描述

短信控件下载:SMS_JD_Component

使用中发现任何问题联系:QQ 910731685

短信收发控件使用说明: Build 20040606(Beta 1)使用时不能将控件直接放在窗体上,需要定义并自己创建,具体使用方法参看示例程序控件只提供dcu文件。控件从SPComm继承,并且增加了短信收发功能,对于SPComm的相关属性和事件不在此进行说明,下面只介绍与短信相关的属性、方法和事件。Delphi 7下、wavecom 设备下调试通过。开发计划:1.解决直接放置在窗体上使用的问题。2.提供dll、OCX,供vb,vc等程序使用。3.提供源码(暂不提供,请不要联系索要)计划只是计划,看看有没有时间,比竟还有工作...^_^一、属性1.AutoDeleteMsg:Boolean 自动删除短信如果设置为True,则在读取短信时自动删除该短信,收到新短信时读取后也自动删除。二、方法1.WriteCommDataAT(AT:String);发送AT命令,立即执行2.PushCommand(AT:String;ATType:Integer);将命令压入命令队列,由控件在设备空闲时自动发出ATType备用,可写任意整数3.SendSMS(PhoneNO:String;Msg:String): Integer;立即发送短信命令PhoneNO:手机号码Msg:短信内容4.PushSMS(SMSID:Integer;SMSPhoneNO,SMSMsg:String;SMSSendTime:TDatetime)将短信压入待发短信队列,牙控件在设备空闲时自动发出SMSID:短信序列号,在控件的OnSMSSendOKEvent事件中将返回发送成功的SMSID,建议使用数据库中的ID字段进行标志PhoneNO:手机号码Msg:短信内容SMSSendTime:发送时间,备用,为定时发送而设5.SetOpenProcess(Value:Boolean);启动/停止命令执行,包括发送短信进程6.InitSMS(CenterNO:String);初始化短信设备,设置为PDU格式,并且初始化短信中心CenterN:短信中心号码,不带加号,如:86130101665007.GetCommandQueueCount: Integer;返回命令队列中待发命令个数8.GetSendQueueCount: Integer;返回命令队列中待发短信个数三、事件1.OnSMSNewEvent(PhoneNO,Msg,MsgTime:String);收到短信事件PhoneNO:手机号码Msg:短信内容MsgTime:收到时间2.OnSMSSendOKEvent(ID:Integer);短信发送成功事件ID:发送成功短信索引,为在PushSMS中所设的SMSID作者保留所有权力。共享版在发送短信前会加上adsg@tom.com的信息! adsg http://www.tinsoftware.com adsg@Tom.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海纳老吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值