提交发送接口

功能说明:用于提交发送短信的常规方法

请求地址: http://api.51welink.com/EncryptionSubmit/SendSms.ashx
https://api.51welink.com/EncryptionSubmit/SendSms.ashx

参数说明:

参数名 参数类型 是否必传 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
ExtendNo string N 企业代码,不超过15位数字,超出会被截断,数字串
Random Long Y 随机数,大于等于1,小于等于9223372036854775807
ProductId int Y 产品编码
PhoneNos string Y 接收号码间用英文半角逗号“,”隔开,触发产品一次只能提交一个,其他产品一次不能超过10万个号码
Content string Y 短信内容:不超过4000字符
SendTime datetime N 短信定时时间,格式:yyyy-MM-dd HH:mm:ss
OutId string N 用户自定义参数,长度≤32,字符串格式

AccessKey加密说明:

AccessKey根据公式sha(AccountId={账户名称}&PhoneNos={第一个手机号码}&Password={md5(密码原文+SMmsEncryptKey)}&Random={随机数}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,第一个手机号码(PhoneNos):13699999999,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,随机数(Random):6203922,时间戳(Timestamp):1532928860。

则MD5加密后的密码(password)为:

MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&PhoneNos=13699999999&Password=B54B89712EB997BE99114478E3673E3F&Random=6203922&Timestamp=1532928860)="6ba256e4cf24dd386cfa8f6835df7b41e8d6f5c1ccdc1a1062646a05133e0f51"

  • 传参示例:

    									

    {

    AccountId:"yanfa001",

    AccessKey:" 6ba256e4cf24dd386cfa8f6835df7b41e8d6f5c1ccdc1a1062646a05133e0f51",

    Timestamp:"1532928860",

    Random:"6203922",

    ExtendNo: "",

    ProductId: "1011618",

    PhoneNos: "13699999999",

    Content:"短信内容【微网通联】",

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值,返回succ标识提交成功
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
MsgId long 信息批次号
SplitCount byte 单条短信内容拆分条数
  • 返回值示例:

    									

    {

    "Result":"succ",

    "Reason":"提交成功",

    "MsgId": 1906051002570082261,

    "SplitCount":1

    }

个性化短信发送

功能说明:用于提交个性化短信

请求地址: http://api.51welink.com/EncryptionSubmit/SendMultiSms.ashx
https://api.51welink.com/EncryptionSubmit/SendMultiSms.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
ExtendNo string N 企业代码,不超过15位数字,超出会被截断,数字串
Random int Y 随机数,大于等于1,小于等于9223372036854775807
ProductId int Y 产品编码
OutId string N 用户自定义参数,长度≤32,字符串格式
TempParams string Y 模板变量,见下方说明
TemplateSms string Y 模板,见下方说明

AccessKey加密说明:

AccessKey根据公式sha(AccountId={账户名称}&Password={md5(密码原文+SMmsEncryptKey)}&Random={随机数}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,随机数(Random):6203922,时间戳(Timestamp):1532928860,则MD5加密后的密码(password)为:MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&Password=B54B89712EB997BE99114478E3673E3F&Random=6203922&Timestamp=1532928860)="e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137"

  • TempParams参数说明

    结构说明:

    									

    <ISMV> /*结构头标识*/

    <VU>

    <VT><V>13810252940</V></VT> /*此处必须为手机号码,不能是其他内容*/

    <VT><V>P1</V></VT> /*第一个参数名称,会作为信息内容显示*/

    <VT><V>P2</V></VT> /*第二个参数名称,会作为信息内容显示*/

    <VT><V>P3</V></VT> /*第三个参数名称,会作为信息内容显示*/

    <VT><V>PN</V></VT> /*第N个参数名称,会作为信息内容显示,N,短信变量数量,根据实际需求定义*/

    </VU>

    <VU>

    <VT><V>13810252940</V></VT> /*此处必须为手机号码,不能是其他内容*/

    <VT><V>P1</V></VT> /*第一个参数名称,会作为信息内容显示*/

    <VT><V>P2</V></VT> /*第二个参数名称,会作为信息内容显示*/

    <VT><V>P3</V></VT> /*第三个参数名称,会作为信息内容显示*/

    <VT><V>PN</V></VT> /*第N个参数名称,会作为信息内容显示,N,短信变量数量,根据实际需求定义*/

    </VU>

    </ISMV> /*结构尾标识*/

以上结构中:

如果要发送至多个号码则需要多个<VU>单元,上述的结构示例中表示信息要发送到2个手机号码上。

实际参数示例:

							

<ISMV><VU><VT><V>13963330881</V></VT><VT><V>A1</V></VT><VT><V>B2</V></VT><VT><V>C3</V></VT></VU><VU><VT><V>13863320432</V></VT><VT><V>A1</V></VT><VT><V>B2</V></VT><VT><V>C3</V></VT></VU></ISMV>

TemplateSms参数说明

结构说明:

{##}P1的内容{##}P2的内容{##}P3的内容……{##}PN的内容
其中【{##}】的个数要和短信变量参数中的参数的个数和顺序对应。
【{##}】相当于各参数的占位符
实际参数示例:{##}提交{##}个性{##}信息

  • 传参示例

    									

    {

    "ExtendNo":"8899",

    "OutId":"",

    "ProductId":"1010888",

    "TemplateSms":"个性短信测试{##}【微网】",

    "TempParams":"<ISMV><VU><VT><V>18954426057</V></VT><VT><V>anbaili</V></VT></VU></ISMV>",

    "TimeStamp":1532928860,

    "AccessKey":"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    "AccountId":"yanfa001",

    "Random":6203922

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
MsgId string 信息批次号
  • 返回值示例:

    									

    {

    "State":"succ",

    "MsgId":"072317322747d1f",

    "MsgState":"成功"

    }

模板发送接口

功能说明:用于提交模板短信

请求地址: http://api.51welink.com/EncryptionSubmit/SendTemplateSms.ashx
https://api.51welink.com/EncryptionSubmit/SendTemplateSms.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
ExtendNo string N 企业代码,不超过15位数字,超出会被截断,数字串
Random long Y 随机数,大于等于1,小于等于9223372036854775807
ProductId int Y 产品编码
TempCode int Y 审核通过的模板 ID
PhoneNos string Y 接收号码间用英文半角逗号“,”隔开,触发产品一次只能提交一个,其他产品一次不能超过10万个号码
TempParams JSON格式 N 模板参数(单个参数长度不超过30字符)示例:["参数1","参数2"]
SendTime datetime N 短信定时时间,格式:yyyy-MM-dd HH:mm:ss
OutId string N 用户自定义参数,长度≤32,字符串格式

加密说明:

AccessKey根据公式sha(AccountId={账户名称}&PhoneNos={第一个手机号码}&Password={md5(密码原文+SMmsEncryptKey)}&Random={随机数}& TempCode={模板Id}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,第一个手机号码(PhoneNos)=13699999999,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,随机数(Random):6203922,模板Id(TempCode):412220,时间戳(Timestamp):1532928860,则MD5加密后的密码(password)为:

MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&PhoneNos=13699999999&Password=B54B89712EB997BE99114478E3673E3F&Random=6203922&TempCode=412220&Timestamp=1532928860)="027d09845c4d6dad73411a9a5783f9224f7363cecf05818e832ceccc55cf6648"

  • 传参示例

    如已报备模板:尊贵的会员:{1},您于{2}在{3}消费了{4}元,谢谢您的惠顾【星巴克】

    									

    {

    AccountId:"yanfa001",

    TempCode:412220,

    AccessKey:"027d09845c4d6dad73411a9a5783f9224f7363cecf05818e832ceccc55cf6648",

    Timestamp:"1532928860",

    Random:"6203922",

    ExtendNo:"",

    ProductId:"1012812",

    PhoneNos:"13699999999",

    TempParams:["姚磊","2019-07-24 12:00:00","万达广场店","103.87"]

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
MsgId long 信息批次号
SplitCount byte 单条短信内容拆分条数
  • 返回值示例:

    									

    {

    "Result":"succ",

    "Reason":"提交成功",

    "MsgId":1906061056110000277

    "SplitCount":1

    }

拉取短信状态

功能说明:用于查询状态报告

请求地址: http://api.51welink.com/EncryptionQuery/GetReport.ashx
https://api.51welink.com/EncryptionQuery/GetReport.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
Random int Y 随机数,大于0
OutId string N 发送短信时用户自定义的key
ReportTime string N 状态报告接收时间,格式YYYY-MM-DD,(如果填写空字符串,默认无时间限制,即从最早的状态报告开始取,否则获取指定日的报告)

加密说明:

同个性化短信加密说明

  • 传参示例

    									

    {

    "OutId":"",

    "TimeStamp":1532928860,

    "AccessKey":"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    "AccountId":"yanfa001",

    "Random":6203922,

    "ReportTime":"2019-06-05"

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见《Json加密接口返回状态码说明》文档
ReportInfos List<ReportInfo> ReportInfo类型集合

ReportInfo说明:

字段名 字段类型 描述
MsgID string 信息编号
PhoneNos string 手机号码
SendTime datetime 发送时间
ReportDesc string 供应商状态码描述
ReportCode string 供应商状态码(1是成功,0是失败),标识是否送达至用户手机终端
ReportTime datetime 状态报告时间
SpNo string 长号码
ExtendNo string 扩展号
OutId string 客户传入的Key
SendCode string 供应商发送状态码(1是成功,0是失败),标识此条信息是否送达至运营商网关
SendDesc string 供应商发送状态码说明
SplitCount int 长短信短信拆分条数,普通短信默认1
MsgNo int 长短信条数序号
AccountId string 客户账号
SourceCode string 网关状态码,同ReportCode
SourceDesc string 网关状态码描述,如成功DELIVRD等
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "ReportInfos": [

    {

    "MsgID":"1906051540450647601",

    "PhoneNos": "13212345678",

    "SendTime": "2019-06-05 15:38:54",

    "ReportDesc": "成功",

    "ReportCode": "DELIVRD",

    "ReportTime": "2019-06-05 15:38:54",

    "SpNo": "10698888987",

    "ExtendNo": "987",

    "OutId": "131231231",

    "SendCode": "1",

    "SendDesc": "0",

    "SplitCount": "1",

    "MsgNo": "1",

    "AccountId": "wd20180921",

    "SourceCode": "1",

    "SourceDesc": "DELIVRD"

    },

    {

    "MsgID":"1906051540450647602",

    "PhoneNos": "13212345672",

    "SendTime": "2019-06-05 15:38:54",

    "ReportDesc": "空号|停机",

    "ReportCode": "LM0001",

    "ReportTime": "2019-06-05 15:38:54",

    "SpNo": "10698888987",

    "ExtendNo": "987",

    "OutId": "131231231",

    "SendCode": "1",

    "SendDesc": "0",

    "SplitCount": "1",

    "MsgNo": "1",

    "AccountId": "wd20180921",

    "SourceCode": "0",

    "SourceDesc": "MK:0115"

    }

    ]

    }

供应商状态码说明:

供应商状态码ReportCode 描述ReportDesc
DELIVRD 成功
LM0001 空号|停机
LM0002 关机|无法接通
LM0003 内容|敏感关键词拦截
LM0004 黑名单|屏蔽
LM0005 地区屏蔽
LM0006 签名未报备
LM0007 流量限制
LM0008 网关异常|无法连接
LM0009 签名拦截
LM0010 同号码流控
LM0011 网关拦截
LM0012 手机内存满|超有效期
LM0013 同内容流控
LM0014 其它异常

拉取短信上行

功能说明:用于查询上行信息

请求地址: http://api.51welink.com/EncryptionQuery/GetMo.ashx
https://api.51welink.com/EncryptionQuery/GetMo.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
Random int Y 随机数,大于0

加密说明:

同个性化短信的加密说明

  • 传参示例

    									

    {

    "TimeStamp":1532928860,

    "AccessKey":"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    "AccountId":"yanfa001",

    "Random":6203922

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
MoInfos List<MoInfo> MoInfo类型集合
IsFull bool 取的信息条数是否符合配置的信息条数

MoInfo返回值说明:

字段名 字段类型 描述
MsgID string 信息编号
PhoneNos string 手机号码
SpNo string 长号码
MoContent string 上行内容
MoTime datetime 上行时间
ExtendNo string 扩展号
Province string 手机号归属省份
City string 手机号归属城市
OutId string 发送短信的自定义key
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "IsFull": true,

    "MoInfos": [

    {

    "MsgID": "123123123",

    "SpNo": "106900006666",

    "PhoneNos": "18512345678",

    "MoContent": "这是上行信息",

    "MoTime": "2019-06-05 15:49:58",

    "ExtendNo": "6666",

    "Province": "北京",

    "City": "北京",

    "OutId": "12312312"

    }

    ]

    }

视频短信发送

功能说明:用于提交视频短信

请求地址: http://api.51welink.com/EncryptionSubmit/SendVideoSms.ashx
https://api.51welink.com/EncryptionSubmit/SendVideoSms.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
ExtendNo string N 企业代码,不超过15位数字,超出会被截断,数字串
Random Long Y 随机数,大于等于1,小于等于9223372036854775807
ProductId int Y 产品编码
TempCode int Y 审核通过的模板 ID
PhoneNos string Y 接收号码间用英文半角逗号“,”隔开,触发产品一次只能提交一个,其他产品一次不能超过10万个号码
SendTime datetime N 短信定时时间,格式:yyyy-MM-dd HH:mm:ss
OutId string N 用户自定义参数,长度≤32,字符串格式

加密说明:

AccessKey根据公式sha256(AccountId={账户名称}&PhoneNos={第一个手机号码}&Password={md5(密码原文+SMmsEncryptKey)}&Random={随机数}& TempCode={模板Id}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,第一个手机号码(PhoneNos)=13699999999,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,随机数(Random):123456,模板Id(TempCode):412239,时间戳(Timestamp):123654978,则MD5加密后的密码(password)为:MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&PhoneNos=13699999999&Password=B54B89712EB997BE99114478E3673E3F&Random=123456&TempCode=412239&Timestamp=123654978)="21e3aa7f9913bad93acef94b501f80949a7782a83693a64a922e23d86124def7"

  • 传参示例

    如已报备视频短信模板: 412239

    									

    {

    AccountId:"yanfa001",

    TempCode:412239,

    AccessKey:"21e3aa7f9913bad93acef94b501f80949a7782a83693a64a922e23d86124def7",

    Timestamp:"123654978",

    Random:"123456",

    ExtendNo:"",

    ProductId:"2012883",

    PhoneNos:"13699999999"

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
MsgId long 信息批次号
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "提交成功",

    "MsgId": 1907311938430000377

    }

视频短信模板报备

功能说明:用于报备视频短信模板

请求地址: http://api.51welink.com/EncryptionQuery/AddVideoTemplate.ashx
https://api.51welink.com/EncryptionQuery/AddVideoTemplate.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
Random int Y 随机数,大于0
VideoSmsContents Object Y 报备的内容,必须在2M以内,文件个数在1-6个。
TempTitle string Y 模板名称(长度不超过20字符)
Callback string N 审核结果异步推送至该地址 http://callback
Remark string N 模板备注,比如申请原因,使用场景等(长度不超过60字符)

VideoSmsContents参数说明:

参数名 参数类型 值是否必填 参数描述
Filename string Y 文件名称(带有扩展名,支持文本[txt],图片[gif,jpg,bmp,jpe,jpeg,png],视频[rm,avi,3gp,mp4],音频[mid,midi,mp2,mp3,amr,mp3,wma,arm]。

注意,文件扩展名须与实际文件类型扩展名相同。某些格式音频视频在特定手机上可能不受支持

Content string Y 读取文件流并进行Base64编码。注意文本使用UTF-8编码。

加密说明:

加密说明:AccessKey根据公式sha256(AccountId={账户名称}&Password={md5(密码原文+SMmsEncryptKey)}&Random={随机数}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,随机数(Random):6203922,时间戳(Timestamp):1532928860,则MD5加密后的密码(password)为:MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&Password=B54B89712EB997BE99114478E3673E3F&Random=6203922&Timestamp=1532928860)="e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137"

  • 传参示例

    									

    {

    AccountId:"yanfa001",

    AccessKey:"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    Timestamp:" 1532928860",

    Random:" 6203922",

    VideoSmsContents:[

    {

    Filename:"1.txt",

    Content:"Base64(Encoding.UTF8.GetBytes(“中文”))"

    },

    {

    Filename:"2.jpg",

    Content:"Base64(File.ReadAllBytes("2.jpg"))"

    },

    {

    Filename:"3.mp4",

    Content:" Base64(File.ReadAllBytes("3.mp4"))"

    }

    ],

    Callback: "http://xxx.xxx.com/template",

    TempTitle: "视频短信模板",

    Remark:"星巴克会员消费通知2019-01-01添加"

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
TempCode int 模板编号
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "TempCode": 412226

    }

添加短信模板

功能说明:用于添加短信模板

请求地址: http://api.51welink.com/EncryptionQuery/AddTemplate.ashx
https://api.51welink.com/EncryptionQuery/AddTemplate.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
Random int Y 随机数,大于0
Content string Y 模板内容不超过500字符,内容必须带签名,在内容开始或结束位置;
示例:【微网通联】您的验证码是123456.,请于3分钟内填写;
模板创建为:【微网通联】您的验证码是{1},请于{2} 分钟内填写;
TempTitle string Y 模板名称(长度不超过20字符)
Callback string N 审核结果异步推送至该地址 http://callback
Remark string N 模板备注,比如申请原因,使用场景等(长度不超过60字符)

加密说明:

加密说明:AccessKey根据公式sha(AccountId={账户名称}&Password={md5(密码原文+SMmsEncryptKey)}&Random={随机数}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,随机数(Random):6203922,时间戳(Timestamp):1532928860,则MD5加密后的密码(password)为:MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&Password=B54B89712EB997BE99114478E3673E3F&Random=6203922&Timestamp=1532928860)="e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137"

  • 传参示例

    									

    {

    AccountId:"yanfa001",

    AccessKey:"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    Timestamp:"1532928860",

    Random:"6203922",

    Content:"尊贵的会员:{1},您于{2}在{3}消费了{4}元,谢谢您的惠顾【星巴克】",

    Callback:"http://xxx.xxx.com/template",

    TempTitle:"消费通知模板",

    Remark:"星巴克会员消费通知2019-01-01添加"

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
TempCode int 模板编号
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "TempCode": 412226

    }

查询短信(视频短信)模板

功能说明:用于查询短信(视频短信)模板

请求地址: http://api.51welink.com/EncryptionQuery/GetTemplate.ashx
https://api.51welink.com/EncryptionQuery/GetTemplate.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
TempCode int Y 模板Id标识
Random int Y 随机数,大于0

加密说明:

AccessKey根据公式sha256(AccountId={账户名称}&Password={md5(密码原文+SMmsEncryptKey)}&TempCode ={模板Id}&Random={随机数}&Timestamp={unix时间戳精确到秒})生成。AccessKey串中的参数名称注意大小写和参数顺序,随机数是long类型,数值范围在1 至9223372036854775807之间。

譬如:账户(AccountId):yanfa001,密码(Password):yanfa001,固定的加密key:SMmsEncryptKey,模板Id(TempCode): 412122,随机数(Random):6203922,时间戳(Timestamp):1532928860,则MD5加密后的密码(password)为:

MD5("yanfa001SMmsEncryptKey")="B54B89712EB997BE99114478E3673E3F",必须为大写。

则凭证(AccessKey)为:

sha256(AccountId=yanfa001&Password=B54B89712EB997BE99114478E3673E3F&TempCode=412122&Random=6203922&Timestamp=1532928860)="4c51ce38d87a4b6c333afccba751821552a38e7229f6263b3249448ed6636c03"

  • 传参示例

    									

    {

    AccountId:"yanfa001",

    AccessKey:"4c51ce38d87a4b6c333afccba751821552a38e7229f6263b3249448ed6636c03",

    Timestamp:"1532928860",

    Random:"6203922",

    TempCode:412122

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档 错误码-返回值枚举部分
TempCode int 模板Id标识
TempTitle string 模板标题(视频短信为短信标题,模板短信为模板名称)
Content string 模板内容(视频短信为空,模板短信为模板内容)
TempStatus int 当前状态,1:未审核,2:有效,3:无效。
TempDesc string 审批信息,供应商驳回原因说明
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "TempCode": 412225,

    "TempStatus": 1,

    "TempDesc": "",

    "TempTitle": "",

    "Content": "尊贵的会员:{1},您于{2}在{3}消费了{4}元,谢谢您的惠顾【星巴克】"

    }

删除短信模板

功能说明:用于删除短信模板

请求地址: http://api.51welink.com/EncryptionQuery/DelTemplate.ashx
https://api.51welink.com/EncryptionQuery/DelTemplate.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
TempCode int Y 模板Id标识
Random int Y 随机数,大于0

加密说明:

同添加短信模板加密方式

  • 传参示例

    									

    {

    "TimeStamp":1532928860,

    "AccessKey":"a48a5803c5e3965cbcd3c42e739c558b8d9815c640addd057ecd87d2555268a7",

    "AccountId":"yanfa001",

    "Random":12345,

    "TempCode":412122

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
Content string 模板内容
TempStatus int 删除前的状态,1:未审核,2:有效,3:无效。
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "Content": "尊贵的会员:*{V1:.{1,30}}*,您于*{V2:.{1,30}}*在*{V3:.{1,30}}*消费了*{V4:.{1,30}}*元,谢谢您的惠顾【星巴克】",

    "TempStatus": 2

    }

模板审核结果推送

回调推送说明:

功能说明:只给客户模板报备时传递了回调地址参数的模板进行审核结果推送

推送方式:只支持POST

数据格式式:JSON

推送的参数说明:

参数名 参数类型 参数描述
TempCode int 模板ID
TempStatus int 审核结果
0:已通过
1:待审核,
2:已拒绝
Content string 模板内容
TempDesc string 审核说明,审核状态为“无效”时才有值

回调推送响应结果说明:

如果返回json数据 {"result":"ok"}则表示回调推送成功,否则认为是回调推送失败

查询账号余量

功能说明:用于查询余量

请求地址: http://api.51welink.com/EncryptionQuery/GetRemain.ashx
https://api.51welink.com/EncryptionQuery/GetRemain.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
ProductId int Y 产品编号
Random int Y 随机数,大于0

加密说明:

同个性化短信加密说明

  • 传参示例

    									

    {

    "TimeStamp":1532928860,

    "AccessKey":"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    "AccountId":"yanfa001",

    "Random":6203922,

    "ProductId":1012812

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
Remain int 余量
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "Remain": 1004640454

    }

查询发送计费

功能说明:用于查询计费量

请求地址: http://api.51welink.com/EncryptionQuery/GetCharge.ashx
https://api.51welink.com/EncryptionQuery/GetCharge.ashx

参数说明:

参数名 参数类型 值是否必填 参数描述
AccountId string Y 提交账户
AccessKey string Y 加密后的key,加密说明见下方
Timestamp long Y Unix时间戳,精确到秒,不能含有小数及L
ProductId string N 产品编号,不填代表查询所有产品数据
Random long Y 随机数,大于0
BeginDate Date Y 查询开始时间,格式:2019-06-24
EndDate Date Y 查询结束时间,格式:2019-06-30

加密说明:

同个性化短信加密说明

  • 传参示例

    									

    {

    "TimeStamp":1532928860,

    "AccessKey":"e2e0c1c377356545688cf25658fc9bbaf590d7d23e030513717c22ad8f16a137",

    "AccountId":"yanfa001",

    "Random":6203922,

    "ProductId":"1012812",

    "BeginDate":"2019-06-24",

    "EndDate":"2019-06-30"

    }

返回值字段说明:

字段名 字段类型 描述
Result string 返回状态值
Reason string 返回状态描述,参见文档错误码-返回值枚举部分
ChargeInfos List<ChargeInfo> ChargeInfo类型集合

ChargeInfo返回值说明:

字段名 字段类型 描述
AccountId string 账号Id
ProductId int 产品Id
Date date 日期
TotalCount int 号码数量
TotalCharge int 计费数量
  • 返回值示例:

    									

    {

    "Result": "succ",

    "Reason": "成功",

    "ChargeInfos": [

    {

    "AccountId": "wd20180921",

    "ProdutcId": 1010888,

    "Date": "2019-06-21",

    "TotalCount": 1,

    "TotalCharge": 0

    }

    ]

    }

SDK文档

SDK 名称 SDK 文档
Java SDK 短信 Java SDK 文档
PHP SDK 短信 PHP SDK 文档

错误码-返回值

状态码 描述
succ 成功,表示提交成功
101 提交参数不可为空,或参数格式错误
102 时间格式不正确,正确格式为yyyy-MM-dd HH:mm:ss
104 暂不支持该请求方式,只支持GET和POST
105 登录凭证校验失败
106 与服务器时间差异超过 10 分钟
107 模板长度超过限制
108 模板内容无签名
109 模板变量数量超过限制
110 模板参数格式不正确
111 模板名称长度超过限制
112 模板备注长度超过限制
113 指定的模板不存在
114 指定的模板未审核通过
115 参数与模板无法匹配
116 模板已删除或不存在
117 模板添加失败
118 模板回调地址格式不正确
119 时间范围不正确
1000 尚未成功启动请检查日志,供应商内部错误,请联系供应商
1001 提交参数错误!
1002 未成功加载号段模块,供应商内部错误,请联系供应商
1003 超过最大内容长度,内容长度:%d,短信提交时,提交的内容长度大于4000
1004 未成功加载账户模块,供应商内部错误,请联系供应商
1005 未成功加载私有关键字模块,供应商内部错误,请联系供应商
1006 未成功加载扩展产品模块,供应商内部错误,请联系供应商
1007 错误的信息类型:消息类型
1008 超过最大并发提交用户数%d
1009 号码为空或超过最大提交号码个数%d,最大10w个手机号码
1010 信息内容为空或超过最大信息字节长度:%d,内容长度:%d
1011 超过最大企业号码长度:%d,或企业号码不包含:%s
1012 超过最大企业号码长度:%d或%d企业号码不可扩展
1013 账号密码不正确或账号状态异常,帐号:%s,状态:%d
1014 账户提交方式不正确或Ip受限
1015 系统登录名检测不正确或IP受限
1016 产品不存在或未开启:%d,供应商内部错误,请联系供应商
1017 提交信息类型与产品信息类型不符合
1018 提交失败:超过产品发送时段(%s-%s)
1019 提交彩信必须有标题
1020 提交短信不可超过%d个字,消息长度:%d
1021 提交彩信不可超过%dK
1022 计费数为0,供应商内部错误,请联系供应商
1023 无效计费条数,号码不规则
1025 Account:%s 余额不足或计费异常(异常码:%d)
1026 提交至调度中心失败,供应商内部错误,请联系供应商
1028 提交号码未达到产品要求数量,或账户%s无对应的产品%d(异常码:%d)
1029 扩展产品%d不可提交多个号码
1031 提交时间[%s]+%d天>定时发送时间[%s]>提交时间[%s] 规则不成立
1032 自由签名的产品%d,签名格式不正确
1033 产品%d的正则签名%s配置有误
1034 错误的内容长度,ErrorCode:%d
1035 强制签名的产品%d,签名格式不正确
1036 企业代码不正确,账号上企业码:%s,用户提交的企业码:%s
1037 未成功加载账户强制签名报备模块,供应商内部错误,请联系供应商
1038 产品%d要求强制签名,账号%s,企业代码%s,签名 %s 未报备
1039 未成功加载白名单模块,供应商内部错误,请联系供应商
1040 消息编号生成失败,供应商内部错误,请联系供应商
1041 未成功加载账户内容模版模块,供应商内部错误,请联系供应商
1042 内容不符合模版,供应商内部错误,请联系供应商
1043 未成功加载账户安全登录模块,供应商内部错误,请联系供应商
1044 未成功加载计费模块,供应商内部错误,请联系供应商
1045 未成功加载组合关键字模块,供应商内部错误,请联系供应商
1046 未成功加载账户平台资源模版模块,供应商内部错误,请联系供应商
1047 信息内容不可为空
1048 该信息未成功报备,请审核通过再提交发送,accId=%d,templateID=%d
1049 超过最大企业号码长度:%d,且账号不支持超长扩展,企业接入号:%s
1050 账号密码不正确或账号状态异常,账号:%d,CommitIP:%d
1051 提交短信不可超过%d个字,提交消息长度:%d
1052 无效计费条数,号码不规则
1053 产品%d的正则签名%s配置有误
1054 企业代码不正确,用户提交的企业码:%s
2001 变量文件格式不正确
2002 模版文件格式不正确
2003 提交队列失败,供应商内部错误,请联系供应商
-99 异常,供应商内部错误,请联系供应商

常见问题

  • 提交返回“提交参数不可为空,或参数格式错误”

    可能由以下原因导致:

    1) 请求URL时未传递参数或者body。

    2) 请求Body参数中,缺少必传参数项,如AccountId、AccessKey、Random、PhoneNos、TimeStamp、ProductId、Content。

    3) 请求头类型Content Type未与请求数据格式相对应,如json格式参数没有使用application/json,使用了application/x-www-form-urlencoded。如字符串&符号拼接参数方式没有使用application/x-www-form-urlencoded类型,使用了其他类型。

  • 提交返回“登录凭证校验失败”

    可能由以下原因导致:

    1) MD5加密后的字符串不是32位大写。

    2) MD5加密串AccessKey中没有包含固定key:SMmsEncryptKey。

    3) 加密串AccessKey中的参数值拼写不正确,包括未按照要求大小写。

    4) 时间戳Timestamp没有精确到秒或者超过10分钟。

    5) 请求body中的Random值与AccessKey串中的Random值不一致。

    6) 请求body中的Timestamp值与AccessKey串中的Timestamp值不一致。

    7) 请求body中的AccountId值与AccessKey串中的AccountId值不一致。

    8) AccessKey串中的手机号码与PhoneNos参数中的第一个号码不一致。

    9) AccessKey串中各个参数的顺序不符合示例要求。

    10) Random值为0、负数或者0开头的数字串。