77范文网 - 专业文章范例文档资料分享平台

WebService - 接口说明

来源:网络收集 时间:2020-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

WebService 接口说明

一、接口定义

a) SendMessage 批量发送短信方法 (不支持同一userID的多线程调用) i. public SendState SendMessage(string UserId, string Password, string Msg, string

Destnumbers) ii. 参数说明: 参数 UserId Password Msg Destnumbers 描 述 用户Id(平台识别的用户号码), 49字节以内。 密码, 99字节以内 短信内容, 159字节以内 目标号码,用分号(;)分隔,在一万条以内。 iii. 返回值

public class SendState { public int state; public string WrongNumbers; public string YDGroupId; // 发送到移动的短信的批次号 public string LTGroupId; // 发送到联通的短信的批次号 }

state 0: success

2: 失败需要重发 4: 内容不合法 5: 身份验证错误 6: 服务器错误 8: 短信数超过可用数

12: 该用户不允许使用子用户ID 13: 错误的号码格式

WrongNumbers 为错误的目标号码,用分号分隔,目前只是按移动和联通进行过滤。即不属于联通或移动的号码会被放入这里。 YDGroupId, LTGroupId 发送的短信所属的批次号,用于以后查询短信的发送状态。

b) SendMessageWithSub 发送短信时带有子号码 (不支持同一userID的多线程调用) i. public SendState SendMessageWithSub(string UserId, string SubId, string

Password, string Msg, string Destnumbers) ii. 参数说明 参数 UserId SubId 描 述 用户Id(平台识别的用户号码),49字节以内。 子用户号码 (14位 以内), 14字节以内 Password Msg Destnumbers iii. 返回值

同SendMesseage

密码, 90字节以内 短信内容,159字节以内 目标号码,用分号(;)分隔,一万条以内

c) QueryFailedMessage 查询失败短信 i. public MessageStateResponse QueryFailedMessage(string UserId, string Password,

int groupId) ii. 参数说明 参数 UserId Password groupId 描 述 用户Id(平台识别的用户号码) ,49字节以内。 密码,99字节以内。 发送的短信所属的批次号

iii. 返回值

public class MessageStateResponse { public int state; // 0 表示正常, 5表示身份验证错

// 10: 没有找到相应的GroupId

public string subuserid;

public int totalCount; // 总数 public string content; // 短信内容 public MessageState[] MsgState; // 具体消息的状态, 这里仅包含失败短信的状态 }

public class MessageState { public string DestNumber; // 目标号码 public int state; // -1 表示失败 public string SendTime; // 发送时间 }

d) QueryMessageState 查询短信的发送状态 i. public MessageStateResponse QueryMessageState(string UserId, string Password,

int groupId) ii. 参数说明 参数 UserId Password groupId 描 述 用户Id(平台识别的用户号码) ,49字节以内。 密码,99字节以内。 发送的短信所属的批次号

iii. 返回值

public class MessageStateResponse {

public int state; // 0 表示正常, 5表示身份验证错 // 10: 没有找到相应的GroupId public string subuserid; public int totalCount; // 总数 public string content; // 短信内容 public MessageState[] MsgState; // 具体消息的状态,这里包含失败和成功。 }

public class MessageState { public string DestNumber; // 目标号码 public int state; // -1 表示失败 1表示成功的 (这里实际的成功需要根据计费方式判断,有实时性) public string SendTime; // 发送时间 }

e) QueryUserState 查询用户短信余量 i. public UserState QueryUserState(string UserId, string Password) ii. 参数说明 参数 UserId Password 描 述 用户Id(平台识别的用户号码) ,49字节以内。 密码,99字节以内。 iii. 返回值

public class UserState { public int state; //执行状态 0 为成功 public int total; //用户短信发送总额 public int dailyTotal; // 当天发送总额 public int remained; // 总的余额 public int todayRemained; // 今天的余额 }

二、查询短信状态和发送短信的关系

a) 发送短信后返回的批次号的意义 i. 系统提供批量发送短信的能力,由于,确认短信的接收状态有一定的延迟性,

所以先返回批次号,查询时使用该号码确认需要查询的短信所属的批次。 ii. 由于有两个手机短信运营商,移动和联通,对短信的处理有所不同,因此在发

送前,将对号码进行分类。相同运营商一次发送的短信所属的批次将是一样的。如果号码中包含两种类型,那么将得到两个批次号。

b) 如何使用批次号查询 i. 可以通过批次号一批短信(不管是联通还是移动),所以查询时直接发送批次

号即可。 ii. 查询状态的延迟性。确认手机接收情况有一定的延迟性,比如手机用户暂时关

机。每次查询只能得到当前已知的返回状态。 如果需要获取全部的失败短信

状态,又需要尽可能快的重发失败短信,则需要多次查询。建议查询的时间安排为2,4,8,12,24,48

iii. QueryMessageState 和 QueryFailedMessage 差别:

1. QueryMessageState同时返回当前已知的成功和失败的短信状态(以属性

标示)

2. QueryFailedMessage只返回失败的短信状态(当前已知的)

三、通过Web方式被动接收上行消息

a) 使用被动方式接收上行消息时,需要提供一个可以处理消息的url。 b) 被动方式的提交格式: i. 服务器端将向该Url使用POST方式提交数据,其包含的字段为:

1. userId 用户ID

2. passwd 接收端密码,可以用来屏蔽非法访问。该密码不是用户密码,

需要跟管理员协商确定。接收端可以忽略该字段。但在防止黑客攻击时,比较有用。

3. messages 上行的短信。使用UrlEncode方式Encode过,处理前需要解码

(Decode)。

每条短信内字段间以 “\\t” (制表符) 分隔, 每条短信以 “\\n” 结尾(换行符) 短信中字段意义按顺序如下: 字段 UserId 子用户ID 来源手机号码 接收时间 短信内容 描 述 上行短信的目标用户ID 客户自定义子用户ID。如果不是使用客户定义子用户发送的短信,该字段为空。 短信来源的手机号码 服务器端接收到短信的时间 上行短信的内容。

c) 接收方的返回值 i. 接收方只需要在接收处理成功时返回字符串SUCCESS即可(必须大写)。发

送方将会把发送过的短信置为已读而不会重复发送。 四、Url

五、常见问题或者错误

a) 使用SendMessage和SendMessageWithSub时,目标号码应该用分号分隔。

b) 使用SendMessageWithSub 时应该用代理商ID 作为UserId, 然后在subUserId里

填充用户自己的子用户ID。 不可以为30-49的代理商在系统中建立子用户。将会被过滤。

c) Delphi中需要使用UTFString做调用参数。

d) 在接收上行短信时,返回的不是大写的SUCCESS,导致上行的短信重复发送。 e) 处理message字段内数据前,需要对整个字段内容进行解码。

f) 使用多线程,同一帐号使用多线程调用SendMessage 或者 SendMessageWithSub,

会发生冲突,发送效率反而降低,甚至给服务器造成额外负担。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库WebService - 接口说明在线全文阅读。

WebService - 接口说明.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1002584.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: