广东电信短信接入API使用手册(JAVA接口)

合集下载

java短信接口开发实例

java短信接口开发实例

java短信接口开发实例
1. 我们可以使用Java的短信接口来实现发送短信的功能。

首先,我们需要选择一个合适的短信接口供应商,注册并获得相应的API密钥。

2. 使用Java的网络编程库,如Apache HttpClient,以便与短信接口供应商的API进行通信。

3. 创建一个Java类来处理短信的发送功能。

该类应该包含发送短信的方法,并且传入必要的参数,例如手机号码、短信内容等。

4. 在短信发送方法中,使用HttpClient发送HTTP POST请求到短信接口供应商的API地址,并传递必要的参数,如API密钥、手机号码、短信内容等。

5. 解析短信接口供应商返回的响应,判断短信是否发送成功。

6. 如果短信发送成功,则返回相应的提示信息给调用者。

7. 如果短信发送失败,根据短信接口供应商的返回错误码,返回相应的错误提示信息给调用者。

8. 在应用程序的其他部分,根据需要调用短信接口类的发送方法来发送短信。

9. 可以使用日志记录工具,如Log4j,在发送短信的方法中添加日志记录,以便跟踪短信发送的过程和结果。

10. 另外,也可以实现其他功能,如查询短信发送状态、接收短信回执等,以满足业务需求。

中国电信智能短信-技术规范 v2

中国电信智能短信-技术规范 v2

中国电信短信助手技术规范 中国电信短信助手技术规范 试行中国电信集团公司 个人客户事业部内 部 修 改 记 录版本号 V1.0 V2.0 V2.1 日期 2008-10-28 2008-11-28 2009-4-8 地点 广州 广州 广州 作者 魏青 魏青 魏青 描述 根据相关规范及技术 要求编写 按照组网方案中不包 含 MSP GW 进行修改 按照新的产品名称 “短 信助手”进行修改中国电信短信助手技术规范目 录1 2 3 4 文档说明............................................................................................................................ 1 文档说明 编制依据............................................................................................................................ 1 编制依据 缩略语 ............................................................................................................................... 1 功能要求............................................................................................................................ 2 功能要求 4.1 4.1.1 4.1.2 4.2 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.5 4.6 5 6 7 组网结构 .........................................................................................................................2 省平台架构.................................................................................................................2 全国组网架构 .............................................................................................................3 功能结构 .........................................................................................................................3 各网元的功能要求 ..........................................................................................................4 MSP ............................................................................................................................4 SMSC .........................................................................................................................5 SMGW .......................................................................................................................5 ISMP ...........................................................................................................................5 操作维护 .........................................................................................................................6 系统配置.....................................................................................................................6 日志管理.....................................................................................................................6 故障管理.....................................................................................................................6 性能管理.....................................................................................................................7 统计功能.....................................................................................................................8 网管接口 .........................................................................................................................8 接口要求 .........................................................................................................................8计费要求............................................................................................................................ 9 计费要求 系统的操作维护要求........................................................................................................ 10 系统的操作维护要求 软硬件要求 ...................................................................................................................... 10 7.1 7.1.1 7.1.2 7.1.3 7.2 7.3 7.4 7.4.1 7.4.2 软件要求 .......................................................................................................................10 基本要求...................................................................................................................10 操作系统要求 ...........................................................................................................11 应用软件要求 ...........................................................................................................11 硬件要求 .......................................................................................................................12 性能指标 .......................................................................................................................12 可靠性要求 ...................................................................................................................12 稳定性 ......................................................................................................................12 备份和恢复...............................................................................................................138设备安全要求 .................................................................................................................. 13 8.1 8.2 8.3 物理安全 .......................................................................................................................13 网络安全 .......................................................................................................................13 系统安全 .......................................................................................................................13-i-中国电信短信助手技术规范9对相关网元的要求 ........................................................................................................... 14 9.1 9.2 对 ISMP 要求.................................................................................................................14 对短信中心的要求 ........................................................................................................15- ii -中国电信短信助手技术规范1文档说明 本文对中国电信短信助手 原智能短信 的技术范畴提出规定,原则上由中国电信集团公司内部和厂商共同使用,用于短信助手业务开展、招标选项、工程 建设、运行维护及设备开发方面,同时为集团公司和省公司提供技术依据 2 编制依据 下列标准所包含的条文通过在本标准引用而构成本标准的条文 在标准出版 时,所示版本均为有效 所有标准都会被修订,使用本标准的各方应探讨,使用 下列标准最新版本的可能性 3 缩略语 缩略语 3G BSS CDR HLR 英文解释 3rd Generation Business Support System Charging Data Record Home Location Register Integrated Service Management PlatformMobile Station中文解释 第三代 移动通信业务支撑系统 计费数据记录 归属位置寄存器ISMP MS MO MT MSC MSP综合业务管理平台 移动台 终端发起 终端终止 移动交换中心 消息智能平台Mobile Originate Mobile Terminate Mobile Switch Center Message Smart Platform Short Message Gateway Short Message Peer toSMGW SMPP1短信网关 短消息点对点通信协议中国电信短信助手技术规范Peer Protocol SMS SMSC VLR WAP Short Message Service Short Message Service Center Visit Location Register Wireless Application Protocol 短消息服务 短消息中心 拜访位置寄存器 无线应用协议4功能要求4.1 组网结构 4.1.1 省平台架构图 4-1 消息智能平台省内消息智能平台 MSP 网络示意图 MSP 以省为单位进行建设,简称 MSP) ,提供短信助手业务省内的所有短信中心共用一套 MSP 系统,MSP 平台需要和 SMSC、ISMP、第三方业 务平台以及综合网关等系统互连 MSP 采用省集中建设方式,便于省内用户信息的统一 省内业务量需要进行扩容时可以对该 MSP 集群进行内部设备及处理能力扩容, 尽量保持 MSP 作为省内 的唯一短信助手业务处理网元 同时各省 MSP 之间采用网状组网结构互联,实现异地查询消息、业务消息以2中国电信短信助手技术规范及状态报告的转发 4.1.2 全国组网架构 跨区域的 MSP 之间采用网状组网结构互联,各省 MSP 连接到 CN2 进行互联, 实现异地查询消息、业务消息以及状态报告的转发 MSP 系统 同一省分的 SMSC 共用一套MSP2MSP1MSP3SMSC1 SMSC2 SMSC1SMSC1SMSC2图 4-2 省际消息智能平台 MSP 互联组网图 4.2 功能结构图 4-3 MSP 功能结构示意图 MSP 平台采用模块化结构,由业务实现模块、业务管理模块、用户管理模块、 路由转发、网管功能模块组成3具有良好的灵活性、可操作性和可扩展性中国电信短信助手技术规范业务实现模块包含接入层、业务逻辑控制单元、业务处理单元,主要负责处 理各种协议消息的编解码,需要支持 SMPP 扩展协议、SMGP 协议、ISMAP 协议、 HTTP 协议及 SNMP 协议 同时,需要完成业务逻辑解析及组合处理、业务调度优先级的管理以及具体业务的实现 业务管理模块,主要负责对各种具体业务的管理、配置、维护等系统相关信 息的设置,如外部网元的连接配置,业务功能的控制属性等,以及业务的订购、 鉴权、计费、优先权设置等业务参数的配置和维护 用户管理模块,主要负责存储用户的业务定制数据,负责用户签约信息、用 户配置、群组、业务设置及用户个人设置信息的管理 路由转发模块主要负责消息路由的查询和转发功能 4.3 各网元的功能要求 各网元的功能要求 4.3.1 MSP MSP 是整个业务系统的核心部分,按照集团统一规划,分省建设的原则实施, 基本功能如下 WEB 以及客服等方式在归属省 MSP 进行业务设 提供给用户通过 SMS、 置和业务数据维护的渠道; 接收来自 ISMP 的用户订购关系数据同步; 存储本 MSP 归属用户短信助手业务的订购信息和业务数据; 把用户的简要签约信息同步到用户归属的 SMSC 中; 提供部分短信助手业务的具体实现; 负责根据业务优先级,控制业务消息的逻辑处理和转发顺序; MSP 负责向被叫归属的 SMSC 发送完成业务处理后 对于本地被叫用户, 的消息; 开通全网服务的情况下,对于异地被叫用户,MSP 间负责到异地被叫用 户归属的 MSP 查询简要签约信息; MSP 负责将业务消息投递到被叫归属地 MSP; 对于异地被叫业务, 接收 方 MSP 负责向发起方 MSP 投递该消息的状态报告; MSP 负责完成新旧消息 ID 的对应,并且向 SMSC 投递原始消息的状态4中国电信短信助手技术规范报告; MSP 对短信签名、短信自动回复等修改了原短信内容的业务,完成业务 处理后的消息,可以送到信息检查系统进行鉴权; MSP 不区分用户计费类型 预付或后付 和计费方式 包月或按次计费) , 消息处理前向 ISMP 发起实时计费查询,根据 ISMP 反馈的计费结果决 定消息处理流程; MSP 可产生原始话单, 并提供 FTP 文件接口, 主动将话单传递给 ISMP, 或供 ISMP 定时采集话单; 实现各省分 MSP 之间的互联互通,MSP 负责按号段完成消息路由前转 4.3.2 SMSC SMSC 是基础的短消息业务提供部件,针对短信助手业务的基本功能如下 保存 MSP 同步来的用户业务订购信息; 根据用户业务订购信息及触发条件决定是否触发业务请求到 MSP ; 对 MSP 设置完短信助手业务的消息,SMSC 负责下发至用户终端; 4.3.3 SMGW 短信网关提供用户短信方式查询、设置业务的通道; 4.3.4 ISMP ISMP 作为短信助手业务的管理网元,实现的管理功能主要包括用户管理、业 务管理、CP/SP 管理等 业务开放初期,短信助手业务以自营业务为主,随着业 务功能的增多,以后考虑逐步放开业务,允许第三方接入,提供新的短信助手业 务内容和新业务逻辑 理功能,具体如下 完成用户订购关系的统一管理 ISMP 提供短信助手业务的订购关系数据 库, 形成统一的移动增值业务订购关系管理, 并将订购关系同步给 MSP 实现短信助手业务生命周期的管理 ISMP 将短信助手业务作为一种移动 增值业务进行统一管理,包括新业务申请、测试、发布、变更、撤销、 删除等一系列流程管理 提供短信助手业务功能费计费、批价功能,包括包月、单次计费两种计5所以初期 ISMP 主要侧重于用户管理、业务管理等基本管中国电信短信助手技术规范费模式4.4 操作维护 4.4.1 系统配置 提供系统的配置管理包括 系统资源的配置,包括网络负载,最大并发连接 数量,系统性能参数,系统硬件资源等 数据库和相关模块,包括环境变量,启动/停止描述,定时任务,系统告警 阀值等 4.4.2 日志管理 日志管理 提供操作日志、运行日志、用户日志,记录至少包含以下内容在内的信息 操作日志 系统管理员、维护员、操作员的登录、操作指令、密码更改、权限更改等日 志; 系统配置变更日志; 系统定时启动命令日志; 运行日志 告警信息; 系统日常运行信息; 用户日志 开销户日志; 登录 Portal 用户的业务使用情况日志; 4.4.3 故障管理 故障告警 当 MSP 系统在运行过程中软件或者硬件发生故障时,MSP 的网管系统能够进 行告警,指示故障的严重程度,并在界面上显示出故障的内容 故障的严重程度可以分为如下 4 个级别 紧急告警6系统已经有不正常的情况发生,并且无法继续运行;重要告警系统已经有不正常的情况发生,必须经过恢复,系统才可以继续运行;警示告警系统已经有不正常的情况发生,但不需要恢复,系统仍然可继续运行;一般告警提示性告警,系统仍然正常故障的内容至少包括故障的序列号;故障产生的时间;故障的严重级别;故障产生的源;故障产生的原因故障记录对于需要系统操作员手工恢复的故障,系统必须保存这些故障直到系统操作员手工恢复此故障为止;经过恢复的故障和一些不需要恢复的故障可以备份到后备存储器上,但是这些故障信息必须保存一段时间该时长可以设置,比如1个月),供系统操作员查询记录的内容包括告警ID、告警类型、告警级别、告警类别、告警发生节点号、告警标题、可能原因、告警修复建议和告警定位信息 故障恢复系统的故障恢复有两种手段一是系统自动恢复;二是系统操作员手工进行恢复在故障恢复之后,系统应该记录故障恢复时间系统自动恢复故障的典型例子是主备用系统中的主机停机,备机应该自动启动并接管主机的所有工作操作员手工恢复的典型例子是系统某条链路故障,操作员必须检查网络情况,确认网络情况正常后恢复此故障通常故障设备或异常功能恢复正常时,会告警提示,提示故障已经恢复正常4.4.4性能管理MSP应提供实时性能统计或周期性性能统计,并根据需要生成报表系统的性能统计数据包括CPU占用率、内存占用率、磁盘占用率和从启动到现在的运行时间4.4.5统计功能MSP应提供统计分析功能,统计项包括设备性能统计、业务性能统计、用户统计、业务统计、故障统计等,统计周期应可以配置,统计结果应可以生成报表输出4.5网管接口MSP与网管系统之间接口采用SNMP协议4.6接口要求接口要求MSP和其他网元的接口关系MSP与其它网元间主要接口如图所示,具体描述说明如下SM1MSP与短信中心之间的接口,承载用户的简要签约信息同步消息及智能业务消息的传递,该接口基于SMPP3.4协议扩展,具体请参见《中国电信移动智能短信业务接口规范》;SM3MSP与第三方平台之间的接口,承载第三方提供的智能业务消息,具体请参见《中国电信移动智能短信业务接口规范》;SM4MSP与信息检查系统之间的接口,承载MSP修改短信内容后的消息传递到网安进行鉴权的功能接口,与目前短信中心与信息检查系统间接口保持一致;SM5MSP与ISMP之间的接口,一方面承载来自ISMP的用户订购退订同步消息,另一方面通过与ISMP之间的接口完成预付费、后付费用户业务功能费的计费、批价功能,具体请参见《中国电信移动智能短信业务接口规范》;SM6MSP与SMGW间接口,提供用户短信方式查询、设置业务的接口,采用标准SMGP协议;具体请参见《中国电信移动智能短信业务接口规范》;SM7MSP与综合网管系统间接口,具体请参见《中国电信移动智能短信业务接口规范》5计费要求“短信助手”业务的费用由基本通信费、业务功能费和信息费组成基本通信费用户在正常发送短消息时,占用网络资源所支付的费用,基本通信费计费方式与现有短信计费方式一致,以短信中心产生的详单为计费的依据业务功能费用户使用“短信助手”业务的功能费用,由ISMP按照子业务进行计费,以ISMP产生详单为计费依据有以下两种方式包月方式,按月收取业务功能费;按条计费,使用时按实际触发业务的短信条数进行计费采用实时的消息计费方式处理当MSP根据用户业务策略选择需要触发的业务后,根据要触发的业务将计费消息发送给ISMP进行计费ISMP根据接收到的鉴权消息进行鉴权批价后,返回鉴权应答消息来指导MSP进行业务发送针对按次计费用户,当MSP某个业务发送失败时,MSP需要触发该业务的业务回滚消息给ISMP进行补款操作信息费因提供信息资源而收取的费用,一般是提供信息的第三方(如CP/SP)委托电信运营商收取的费用暂不收取6系统的操作维护要求MSP应提供如下操作维护功能图形用户界面MSP系统应该提供图形化的用户界面,管理维护人员能够通过图形用户界面完成日常必须的操作维护工作监控机制MSP系统能够监控自身各个模块的运行情况,当模块出现异常的时候,能够尝试恢复系统并产生相应的告警日志和报表MSP系统通过日志记录不同时间系统发生的各种事件日志分为操作日志、运行日志、用户日志系统能够根据日志自动生成报表供MSP的管理维护人员使用故障告警MSP在内部产生故障的时候支持本地声、光告警故障分为通用告警和特定告警通用告警指系统冷启动、热启动、连接建立、连接失败时发送的告警特定告警由厂家自行定义,但应符合告警格式规范7软硬件要求7.1软件要求7.1.1基本要求MSP采用的各种软件应支持如下要求系统平台必须遵循开放性、安全可靠性、先进性、高效性、易用性、可维护性和可扩展性等原则系统设计必须基于业界开放式标准,包括各种网络协议、硬件接口、数据库接口等,以保证系统的生命力,保护投资,体现良好的扩展性和互操作能力系统应提供维护管理和实时监控功能,简化系统的使用和维护系统设计时应充分考虑扩展性对于软硬件平台和应用软件,能够以多种方式,支持系统的扩展,包括业务功能的增加,系统升级以及系统容量和规模的扩大等可以根据运营的需求支持双机热备和异地容灾,以满足高可靠性的要求7.1.2操作系统要求支持虚拟内存管理,支持多用户、多任务、多进程和多线程;支持完全对称多处理器SMP);支持群集cluster应用;操作系统应至少达到C2级的安全标准;操作系统应遵循X/open XPG4、 POSIX 1003.1等国际或工业标准;支持在线诊断和软硬件的自动错误记录,在电源故障或其它紧急情况可提供自保护和自恢复;支持GB18030中文大字符集国家标准7.1.3应用软件要求MSP的应用软件应满足以下要求系统具有良好的灵活性、可操作性和可扩展性,并遵循接口规范要求;为了向客户提供灵活多样的服务,快速适应新业务的开展,应用软件的设计应采用灵活的结构,应采用面向对象、中间件等技术;符合前述应用层次和总体架构要求,按规范要求提供通信适配插件和移动化插件;整个应用软件系统应能够连续7×24小时不间断工作;具有较高的自动化程度,如自动任务调度、自动故障告警、自动任务恢复等;具有完整的操作权限管理功能和完善的系统安全机制,能够对操作员的操作有详细的记录;应能为系统管理员提供多种发现系统故障和非法登录的手段;应采用简洁、直观、友好的图形化界面不同时期软件版本应能向下兼容,软件版本易于升级,且在升级的过程中不影响系统的性能与运行7.2硬件要求主机的处理能力要求满足的所有业务应用和一定用户规模的需求,系统设计时应考虑30%的性能冗余;内存容量的配置要考虑到主机正常运行状态下的内存利用率不应大于70%,保证系统在业务高峰时仍具有较强的抗冲击能力;主机应支持1000Mb/s高速连接接入中国电信业务网络;主机的硬盘、网络接口、网络连接及电源均应考虑足够的冗余;主机系统设备应具有适当的扩充能力;平均故障发生间隔大于90天,平均故障修复时间小于2小时;支持电源、I/O设备、存储设备的热插拔,以及双CPU、双网卡及硬盘镜像备份,以满足高可靠性和高可用性的要求;系统设计可以支持异地容灾和链路备份;系统支持Cluster方式或主/备方式部署7.3性能指标保证系统7*24小时不间断工作;在正常运行的条件下,消息丢失率不超过0.01%;本地单结点单业务处理速率不能低于100条/秒;系统最大支持连接短信中心个数50个;系统单节点最大支持业务使用用户数500万7.4可靠性要求7.4.1稳定性系统应具备完善的检测功能并及时告警;系统应具备自动或手动恢复措施,以便在发生错误时能够快速地恢复正常运行;平均故障发生间隔大于90天,平均故障修复时间小于2小时7.4.2备份和恢复系统应有良好的备份和恢复策略系统支持脱机备份系统数据和业务数据可联机备份、联机恢复,恢复的数据必须保持其完整性和一致性系统支持每次配置信息修改后的自动备份,并至少保存最近3次的历史配置信息在系统失效情况下,利用备份记录可恢复系统,恢复时间应小于2小时设备安全要求安全问题分布在不同的层次和不同的方面,要保证整个系统的网络安全,不能单独的采用某种安全措施,必须综合各种安全措施7.5物理安全MSP物理系统的安全控制符合中国电信对业务系统的要求;7.6网络安全MSP满足防病毒,防网络攻击要求;MSP应满足中国电信对业务系统的网络安全要求;MSP通过专线或VPDN方式连接到业务引擎,从IP链路上保证数据传输的安全7.7系统安全MSP应具备访问权限的识别和控制功能,对系统管理员、维护员、操作员根据不同的应用需求提供多级密码系统应能自动实现下列控制防猜测口令功能,例如,系统登陆时需要输入验证码,或者当口令输入错误达到一定次数系统自动将帐号锁定并告警具有验证密码复杂度功能,密码复杂度应达到密码长度大于8位;密码是大小写字母、数字,以及特殊字符混合使用应当具有定期强制修改密码功能,强制用户每3个月进行一次密码更改工作系统应具有完善的日志功能,能够记录系统异常情况及其他安全事件审计日志应至少保存1年包括应用系统日志用户的创建、删除等操作用户登录和退出的日期和具体时间及IP地址等信息成功的和被拒绝的系统访问活动的记录成功的和被拒绝的管理操作记录用户操作记录数据库日志创建、修改和删除数据库用户的操作;创建、修改和删除任何数据库存储结构的操作;创建、修改和删除任何数据库对象的操作;创建、修改和删除表的操作;创建、修改和删除索引的操作;启用、关闭审计功能的操作;赋予、撤销某个账户数据库权限的操作;赋予和撤销某个角色或账户对于某个对象权限的行为;目录和数据库配置的变更;数据应该包括失败的连接;操作系统日志系统登录记录包括登录主机的IP地址、用户名、时间等;成功及失败的登陆事件;系统事件8对相关网元的要求8.1对ISMP要求详见《智能化短信与ISMP集成方案》。

短信平台接入网关说明书及常见问题解答

短信平台接入网关说明书及常见问题解答

短信平台接入网关说明书及常见问题解答一、网关介入说明1 网关接入运营商网关接入有2种方式,推荐专线接入安全可靠不易丢包。

如果是互联网推荐使用防火墙隔离出互联网DMZ区,保证安全。

1.1 专线接入专线接入:下图只做参考,各省可根据实际情况在保证网络安全前提下进行划分网络。

移动运营商如果提供MAS机可以和短信平台部署一个网段,MAS机可认为移动的前端网关服务器,它是为了方便移动管理和维护以及安全考虑提供一台MAS机。

注意:Mas机是部署在和短信平台同一个局域网内。

如果接入Mas机,由于全国MAS厂商很多,所以要主要短信平台和MAS机的连接方式,目前支持的方式:直接提供MAS机的ip,端口配置在短信平台的网关参数配置中。

如果是提供相关的api、接口或者数据库连接方式,目前不支持这几种方式,这几个方式出问题了不是很好管理,出现问题不好解决。

如果Mas是这样连接的话,请直接采用网关直连的方式。

如果是只提供ip和端口就可以了,就相当于mas机就是移动的短信业务平台,就很好管理了,就算有问题也只有网络方面的1.2 互联网接入互联网接入:下图只做参考,各省可根据实际情况在保证网络安全前提下进行划分网络。

移动运营商如果提供MAS机可以和短信平台部署一个网段,MAS机可认为移动的前端网关服务器,它是为了方便移动管理和维护以及安全考虑提供一台MAS机。

2 网关参数2.1 移动参数短信平台支持移动CMPP2、CMPP3.0协议,需要运营商提供参数如下:特服号码:12379,短信平台必填项企业代码:移动运营商提供企业id,短信平台必填项网关地址:移动运营商提供网关服务器ip地址,短信平台必填项网关端口:移动运营商提供网关服务器端口号,短信平台必填项登录名称:移动运营商提供登录网关用户名,短信平台必填项登录密码:移动运营商提供登录网关密码,短信平台必填项业务代码:移动运营商提供业务类型,没有提供则为空2.2 电信参数短信平台支持电信SMGP3.0和ISAG协议,SMGP协议需要运营商提供参数如下:特服号码:12379,短信平台必填项企业代码:电信运营商提供企业id,短信平台必填项网关地址:电信运营商提供网关服务器ip地址,短信平台必填项网关端口:电信运营商提供网关服务器端口号,短信平台必填项登录名称:电信运营商提供登录网关用户名,短信平台必填项登录密码:电信运营商提供登录网关密码,短信平台必填项业务代码:电信运营商提供业务代码,没有提供则为空ISAG协议需要运营商提供参数如下:特服号码:12379,短信平台必填项企业代码:电信运营商提供企业id,短信平台必填项网关地址:电信运营商提供网关服务器访问地址“http://网关IP:网关端口”,短信平台必填项登录名称:电信运营商提供登录网关用户名,短信平台必填项登录密码:电信运营商提供登录网关密码,短信平台必填项服务代码:电信运营商提供服务代码,没有提供则为空产品代码:电信运营商提供产品代码,没有提供则为空回调地址:默认填写http://短信平台IP:8080/asp/sms/SmsWebService,短信平台必填项2.3 联通参数短信平台支持联通SGIP1.2协议,需要运营商提供参数如下:特服号码:12379,短信平台必填项企业代码:联通运营商提供企业id,短信平台必填项网关地址:联通运营商提供网关服务器ip地址,短信平台必填项网关端口:联通运营商提供网关服务器端口号,短信平台必填项登录名称:联通运营商提供登录网关用户名,短信平台必填项登录密码:联通运营商提供登录网关密码,短信平台必填项本地端口:短信平台自身提供,默认8801,短信平台必填项业务代码:联通电信运营商提供业务代码,没有提供则为空源节点ID:联通电信运营商提供源节点ID,没有默认填写02.4 配置参数短信平台支持5种协议,根据运营商提供的协议短信平台选择对应的协议,然后再进行每个协议的详细参数配置,参数配置完成点击“保存”按钮,在点击“停止”按钮,最后点击“启动”按钮,刷新当前页面查看状态指示灯是否为绿色,绿色代表短信平台与网关服务器联通。

广州电信短信宽乐通讯webservice接口规范文档v2

广州电信短信宽乐通讯webservice接口规范文档v2

中国电信宽乐通信--短信业务接口规范(修订版 2.0)广州电信分公司增值业务部1概述 (3)1.1接口原则 (3)1.2目标 (3)1.3接口的调用方式 (3)1.4帐号申请 (4)1.5总述 (4)1.6接口定义说明 (6)1.6.1注册接口 (7)1.6.2SendSMS短信相关接口 (9)1.6.3第三方服务器需要实现通用回调函数 (11)2加密规则 (14)3通用失败码 (14)1、概述本文档主要描述了广州电信宽乐通信接口平台对第三方合作商开放业务能力的WebService接口和使用规范。

经运营商分配给使用账号后,第三方合作商能够使用宽乐通信业务平台的通信服务资源,主要有点击拨号、短信收发、多方会议、网络传真功能等服务。

1.1接口原则第三方软件商在进行开发,使用相关接口时,须遵循以下原则:严格按照接口规范文档中所定义的规范格式,进行数据处理对于新增通信服务,将由广州电信制定标准接口,并更新接口协议,通知第三方各软件合作商;1.2目标宽乐通信与第三方软件商接口功能达到如下目标:接口简单便于操作,并能够兼容接口以后扩充;提供对外的开放性,能够具备接入认证功能,保证系统的安全性;接口标准对外可靠和高效;提供解决故障的手段和流程机制,由于面向客户提供的服务将由传统方式中的运营商一种角色,转变成软件合作商和运营商多个角色,因此须提供高效的机制,能够定位故障和解决。

1.3接口的调用方式实现方式:调用Web Service服务,遵循标准的soap协议。

第三方软件产品与宽乐通信业务平台互为客户端和服务端。

第三方软件产品按照各操作规范和文档格式进行数据填充,主动调用宽乐通信业务平台提供的相关Web Service服务。

平台根据应用请求注册的回调处理地址,异步返回回调处理。

1.4帐号申请凡需使用广州电信宽乐通信相关通信资源的的第三方合作商,需至广州电信申请相应的宽乐通信帐号。

该宽乐通信帐号具备相应的业务使用能力。

JAVA调用第三方短信平台接口发送短信

JAVA调用第三方短信平台接口发送短信

JAVA调⽤第三⽅短信平台接⼝发送短信做了⼏个调⽤三⽅短信平台发送短信的例⼦,⼤部分需要携带参数,向指定URL发送请求回顾对接第⼀个平台时痛苦的乱码经历,这⾥放⼀份代码,算是个模版,再⽤到的时候过来copy⼀下就OK。

在进⼊主题之前,考虑⼀个编码的问题:1、unicode,utf8,gbk,gb2312之类的指的到底是什么?为什么需要它们?简单来说,计算机只能识别0和1组成的⼆进制,所以为了显⽰某⼀个字符,必须指定字符与⼆进制表⽰的对应关系。

各种各样的字符会组合成⼀个集合,集合被称为字符表,给字符表⾥的字符编上⼀个数字,也就是字符集合到⼀个整数集合的映射,这个整数集合叫做字符集,⽽按照字符⼆进制表⽰标准进⾏的实现叫做编码,我们需要它们的结合来让屏幕显⽰出我们看得懂的内容。

编码其实就是⼀种映射关系,将字节表⽰的值映射到字符集中的符号。

unicode是⼀种字符集,涵盖了世界上所有的字符,utf8是⼀种⽤于unicode的编码⽅式gb2312是国内针对 ASCII 扩展的字符集,通常我们把编码⽅案也叫做gb2312。

GBK是对gb2312做的扩展。

也就是说,gbk,gb2312和 utf8 不是⼀个派系的。

2、程序运⾏时,处于内存中的字符串是不是也具有指定的编码?如果没有,为什么有时候在获取字节数组时还要指定编码⽅式?这⾥我看了⼀些⽂章,有了⾃⼰的理解,但是不知道理解的是否正确,先不列出来了Get请求getResponse 内将数据写⼊请求的⽅式组织数据时对content进⾏URL编码正确设置content-type 头//调⽤处捕获异常处理发送失败的情况,所以代码内不合预期的情况都是直接抛Exceptionpublic void send(String to, String content) throws Exception {//username,password,content,to...参数的⾮空及格式判断String apiRspStr = getResponse(to,content); //构建请求,获取响应String result = resolve(apiRspStr); //解析响应数据(kv,json,html...),//成功时返回代码,失败时返回错误消息if(!"0".equals(result)) { //"0" 需要按平台⽂档替换throw new Exception("消息发送失败:" + result);}}private String getResponse(String to, String content) throws Exception {URLConnection con = null;OutputStreamWriter out = null;BufferedReader br = null;String sendSmsData;try {sendSmsData = organizationData(to,content);("请求参数为:" + sendSmsData);} catch (Exception e) {log.error("组织请求数据时出现错误", e);throw e;}try {URL requestUrl = new URL(getUrl());con = requestUrl.openConnection();con.setDoOutput(true);con.setRequestProperty("Pragma", "no-cache");con.setRequestProperty("Cache-Control", "no-cache");con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=gb2312"); // 按短信平台的要求设置 charset的值out = new OutputStreamWriter(con.getOutputStream());out.write(sendSmsData);out.flush();out.close();br = new BufferedReader(new InputStreamReader(con.getInputStream()));String line = "";StringBuffer buf = new StringBuffer();while ( (line = br.readLine()) != null ) {buf.append(line);}String responseStr = buf.toString();("响应数据:" + responseStr);return responseStr;} catch (IOException e) {e.printStackTrace();log.error("获取响应失败", e);throw e;} finally {try {if(out != null) {out.close();}}catch(Exception e) {}try {if(br != null) {br.close();}}catch(Exception e) {}}}private String organizationData(String to, String content) throws Exception {StringBuilder sendBuilder = new StringBuilder();sendBuilder.append("username=");//⽤户登录名sendBuilder.append(getUserName());sendBuilder.append("&password=");//密码需要按平台要求处理;sendBuilder.append(hashpwd());sendBuilder.append("&mobiles=");//接收⼿机号,限定不允许sendBuilder.append(to);sendBuilder.append("&content=");sendBuilder.append(URLEncoder.encode(content, "GB2312"));return sendBuilder.toString();}// resolve⽅法依赖于短信平台返回结果的标准,这⾥提供的内容脱离平台就没有意义//⽰例代码内发送成功result为0,发送失败会返回各种含义的数字,description是中⽂描述private String resolve(String rspStr) throws Exception { //rspStr: result=0&description=%B7%A2%CB%CD%B3%C9%B9%A6&faillist= String[] resultArray = rspStr.split("&");Map kv = new HashMap();for(String array : resultArray) {String[] elementArray = array.split("=");if(elementArray.length == 2) {kv.put(elementArray[0], elementArray[1]);}}if(kv.isEmpty()) {log.error("rspStr: " + rspStr);throw new Exception("解析返回数据时未得到结果");}String result = "";if("0".equals(kv.get("result").toString())) {result = "0";return result;}result = URLDecoder.decode(kv.get("description").toString(),"gb2312") ;return result;}Post请求短信内容要⽤URL编码写⼊请求体的数据以 List<NameValuePair> 形式组织public void sendSmsPost(MsgData msgData){String respContent;//响应报⽂CloseableHttpClient httpClient = null;try{httpClient = HttpClients.createDefault(); //创建连接对象HttpPost httpPost = new HttpPost(smsUrl); //创建post对象Map params = new HashMap(); //构建请求参数String phone = msgData.getMsgTo(); //接收⼿机号String text = msgData.getContent(); //发送内容String gbkText = URLEncoder.encode(msgData.getContent().trim(), "GBK");System.out.println("短信内容GBK:" + gbkText);params.put("username",username);//登录⽤户名params.put("password",password);//登录⽤户密码params.put("to",phone); //消息接收⼿机号码params.put("text",gbkText);List<NameValuePair> postParams = getParams(params);httpPost.setHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk"); httpPost.setEntity(new UrlEncodedFormEntity(postParams));//发送http请求,获取返回结果HttpResponse httpResponse = httpClient.execute(httpPost);if(httpResponse.getStatusLine().getStatusCode() == 200){//解析数据respContent = EntityUtils.toString(httpResponse.getEntity());System.out.println("响应数据:" + respContent);}else {//请求失败}}catch (Exception e){e.printStackTrace();}finally {try {if(httpClient != null){httpClient.close();}}catch (Exception e2){e2.printStackTrace();}}}/*** 参数解析* @param map* @return*/public static List<NameValuePair> getParams(Map<String, String> map){List<NameValuePair> params = new ArrayList<NameValuePair>();Set<Map.Entry<String, String>> entrySet = map.entrySet();for (Map.Entry<String, String> e : entrySet) {String name = e.getKey();String value = e.getValue();NameValuePair pair = new BasicNameValuePair(name, value);params.add(pair);}return params;}。

消息邮件java接口使用说明

消息邮件java接口使用说明

消息邮件java接口使用说明在进行接口调用前,需要得到一个接口操作类的实例,即DmailHandle的实例,通过DmailHandleFactory.getInstance(CharSet charset),(也可以调用DmailHandleFactory.getInstance() ,此时使用默认的编码格式GB18030);多个接口调用时可以使用同一个实例。

以下接口需要用到dm.jar1. 用户验证1.1接口public Session login(String ip, int port,Stringusername,String password);1.2接口使用示例//得到操作接口实例DmailHandle handel = DmailHandleFactory.getInstance();//调用验证接口Session session = handle.login(String ip, int port,Stringusername,String password); //关闭连接,释放资源handel. loginOut (session);1.3 参数说明1.4返回值说明验证成功:返回验证后的连接(session)验证失败:返回 null2. 接收eh文件2.1接口public Message dmailRecv(Session session,int type,StringsavePath, Vector<String> ehFileNames);2.2接口使用示例:DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login(String ip, int port,Stringusername,String password);//调用接收eh文件接口Vector<String> ehFileNames = new Vector<String>();handel.dmailRecv(session, 2, "temp/recv", ehFileNames);handel. loginOut (session);2.3 方法参数说明2.4返回值说明kd.dmail.bean.Messagemessage.getCode() 返回1,则表示接收成功,否则为接收失败,如果接收失败,则通过message.getErrorMsg()会得到失败信息3. 接收eh文件对应的附件3.1接口public Message recvDmailAttach(Session session,String ehFileName,Vector<String> attachNames,String savePath);3.2接口使用示例DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login(String ip, int port,Stringusername,String password);Vector<String> v = new Vector<String>();v.add("abc2.txt");Message message = handel.recvDmailAttach(session, "gw2.eh",v);handel.loginOut (session);3.3参数说明3.4返回值说明kd.dmail.bean.Messagemessage.getCode() 返回1,则表示接收成功,否则为接收失败,如果接收失败,则通过message.getErrorMsg()会得到失败信息4. 发送邮件4.1接口public Message sendDmail(Session session,String ehFilePath,Vector<String> attachFilePaths); 4.2接口使用示例DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login("192.168.200.163",DmailHandleFactory.DEFAULT_PORT,"国调1.自动化", "zdh,zdh");Vector<String> attachFilePaths = new Vector<String>();attachFilePaths.add("D:\\project\\workspace\\dmailclient\\temp\\recvd\\gw2\\attach\\abc3.txt");String ehFilePath ="D:\\project\\workspace\\dmailclient\\temp\\recvd\\gw2\\gw3.eh";Message message = handel.sendDmail(session, ehFilePath,attachFilePaths);handel.loginOut (session);4.3参数说明4.4返回值说明kd.dmail.bean.Messagemessage.getCode() 返回1,则表示接收成功,否则为接收失败,如果接收失败,则通过message.getErrorMsg()会得到失败信息5.删除邮件5.1接口public Message delDmail(Session session,String ehFileName);5.2接口使用示例DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login("192.168.200.163",DmailHandleFactory.DEFAULT_PORT,"国调1.自动化", "zdh,zdh");String ehFile = "gw3.eh";Message message = handel.delDmail(session, ehFile);handel. loginOut (session);5.3参数说明5.4返回值说明kd.dmail.bean.Messagemessage.getCode() 返回1,则表示接收成功,否则为接收失败,如果接收失败,则通过message.getErrorMsg()会得到失败信息6. 阅读邮件6.1接口public Message readDmail(Session session,String ehFileName);6.2接口使用示例DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login("192.168.200.163",DmailHandleFactory.DEFAULT_PORT,"国调1.自动化", "zdh,zdh");String ehFilePath = "gw2.eh";Message message = handel.readDmail(session, ehFilePath);handel. loginOut (session);6.3参数说明6.4返回值说明kd.dmail.bean.Messagemessage.getCode() 返回1,则表示接收成功,否则为接收失败,如果接收失败,则通过message.getErrorMsg()会得到失败信息7. 判断邮件是否发送成功7.1接口public boolean isMailSent(Session session, String ehFileName,String sendAddr,StringBuilder errorMsg);7.2接口使用示例DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login("192.168.200.163",DmailHandleFactory.DEFAULT_PORT,"国调1.自动化", "zdh,zdh");String ehFilePath = "gw2.eh";boolean isSent = handle.isMailSent(session, "gw2.eh ","国调1.自动化", errorMsg);handel. loginOut (session);7.3 参数说明7.4boolean 类型邮件是否发送成功8. 判断邮件是否接收到8.1 接口public boolean isMailRecvd(Session session,String ehFileName,StringBuilder errorMsg);8.2 接口使用示例DmailHandle handel = DmailHandleFactory.getInstance();Session session = handle.login("192.168.200.163",DmailHandleFactory.DEFAULT_PORT,"国调1.自动化", "zdh,zdh");boolean isRecvd = handle.isMailRecvd(session,"DMail_20140226_145841.eh", errorMsg);8.3 参数说明8.4booleantrue 收到false 未收到9. 生成eh文件解析eh文件9.1 接口public Dmail buildEhFile(Dmail mail,String savePath,StringBuildererrorMsg);9.2 接口使用示例String savepath = "C:\\Users\\DEll\\Desktop\\邮件";DmailHandle handle = DmailHandleFactory.getInstance();StringBuilder errorMsg = new StringBuilder();Dmail dmail = handle.dmailParse(mail, savepath, errorMsg);9.3参数说明9.4String返回生成的eh文件名10. 解析eh文件10.1 接口public Dmail dmailParse(String filePath,StringBuilder errorMsg);10.2 接口使用示例String ehFilePath = "C:\\Users\\DEll\\Desktop\\邮件\\DMail_20140227_145841.eh";DmailHandle handle = DmailHandleFactory.getInstance();StringBuilder errorMsg = new StringBuilder();Dmail dmail = handle.dmailParse(ehFilePath, errorMsg); 10.3参数说明10.4kd.dmail.bean.Dmail返回解析后的信息,封装在Dmail实例中11. 获取日志11.1 接口public Message getLogFile(Session session, int year, int month, int day, String savePath, Vector<String> logFileNames) 11.2 接口使用示例DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port,username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}Vector<String> logFileNames = new Vector<String>();Message message = handle.getLogFile(session, 2014, 2, 27, "C:\\Users\\DEll\\Desktop\\dmail\\log", logFileNames); 11.3 参数说明kd.dmail.bean.Messagemessage.getCode() 返回1,则表示接收成功,否则为接收失败,如果接收失败,则通过message.getErrorMsg()会得到失败信息12. 退出12.1接口public void loginOut(Session session) ;11.2接口使用示例(见以上接口使用示例)12.3参数说明12.4返回值说明void13. 接口使用示例13.1.示例说明国调1向国调2发送邮件,国调2接收邮件并且进行邮件的接收eh,接收附件,阅读邮件,删除邮件操作import kd.dmail.bean.Message;import kd.dmail.handle.DmailHandle;import kd.dmail.handle.DmailHandleFactory;import kd.dmail.socket.Session;public class DmailSend {// 国调2 ip地址private String ip = "192.168.200.163";// 服务端端口号private int port = 5677;// 国调1用户名private String username = "国调1.自动化";// 国调1登录密码private String password = "zdh,zdh";/*** 发送邮件*/public void sendMail() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port,username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}Message message = null;if(session!=null) {Vector<String> attachFilePaths = newVector<String>();//附件路径attachFilePaths.add("C:\\Users\\DEll\\Desktop\\邮件\\附件\\classpath");//eh文件路径String ehFilePath = "C:\\Users\\DEll\\Desktop\\邮件\\DMail_20140227_145841.eh";//会根据eh文件中的地址的描述发送到指定地点message = handle.sendDmail(session, ehFilePath, attachFilePaths);handle.loginOut(session);}if(message.getCode()==1 ) {System.out.println("发送成功!");//doSomething}else {System.out.println(message.getErrorMsg());//doSomething}}/*** 检查邮件是否发送成功*/public void checkSent() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port,username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();StringBuilder errorMsg = new StringBuilder();boolean flag = handle.isMailSent(session,"DMail_20140227_145841.eh", "国调2.自动化", errorMsg);if(flag) {System.out.println("发送成功");}else {System.out.println("发送失败"+errorMsg.toString());}}/*** 获取日志*/public void getLog() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port,username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}Vector<String> logFileNames = new Vector<String>();Message message = handle.getLogFile(session, 2014, 2, 27, "C:\\Users\\DEll\\Desktop\\dmail\\log", logFileNames);if(message.getCode()==1) {System.out.println("日志接收成功");}else { //日志获取失败System.out.println(message.getErrorMsg());}}public static void main(String[] args) {// new DmailSend().sendMail();new DmailSend().checkSent();}}13.4.国调2端的操作示例package kd.dmail.example;import java.io.IOException;import .UnknownHostException; import java.util.Vector;import kd.dmail.bean.Dmail;import kd.dmail.bean.Message;import kd.dmail.handle.DmailHandle; import kd.dmail.handle.DmailHandleFactory; import kd.dmail.socket.Session;public class DmailRecv {// 国调2 ip地址private String ip = "192.168.200.164";// 服务端端口号private int port = 5677;// 国调1用户名private String username = "国调2.自动化";// 国调1登录密码private String password = "zdh,zdh";/*** 检查是否收到*/public void checkRecv() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port, username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}String ehFile = "DMail_20140227_145841.eh";StringBuilder errorMsg = new StringBuilder();boolean recvSuccess = handle.isMailRecvd(session, ehFile, errorMsg);if(recvSuccess) {System.out.println("邮件已收到");}else {System.out.println("错误信息:"+errorMsg);}}/*** 接收eh文件*/public void recvEh() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port, username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}Message message = null;//存储接收到的邮件名Vector<String> ehFileNames = null;if (session != null) {ehFileNames = new Vector<String>();// 第二个参数为接收到的eh文件在本地的存放路径message = handle.dmailRecv(session, 2,"C:\\Users\\DEll\\Desktop\\邮件\\mail",ehFileNames);handle.loginOut(session);}// 接收成功if (message.getCode()==1) {System.out.println("eh文件接收成功!");// doSomething..System.out.println("第一个邮件名:"+ehFileNames.get(0));} else {System.out.println("接收失败");// doSomething..System.out.println("错误信息--"+message.getErrorMsg());}}/*** 接收eh文件对应的附件* 该邮件必须是已读邮件,否则会有EOFException*/// 接收成功if (message.getCode()==1) {System.out.println("附件接收成功!");// doSomething..} else {System.out.println("接收失败");// doSomething..System.out.println("错误信息:"+message.getErrorMsg());}}/*** 阅读邮件*/public void readMail() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port,username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}String ehFile = "DMail_20140227_145841.eh";Message message = null;//判断是否通过验证if(session!=null) {message = handle.readDmail(session, ehFile);handle. loginOut (session);}// 接收成功if (message.getCode()==1) {System.out.println("阅读邮件成功!");// doSomething..} else {System.out.println("阅读失败");// doSomething..System.out.println("错误信息:"+message.getErrorMsg());}}/*** 删除邮件*/public void delMail() {DmailHandle handle = DmailHandleFactory.getInstance();Session session = null;try {session = handle.login(ip, port,username, password);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}String ehFile = "DMail_20140227_145841.eh";Message message = null;if(session!=null) {message = handle.delDmail(session, ehFile);handle. loginOut (session);}if(message.getCode()==1) {System.out.println("删除成功");}else {System.out.println("删除失败!");System.out.println("错误信息:"+message.getErrorMsg());}handle.loginOut(session);}public void dmailParse() {String ehFilePath = "C:\\Users\\DEll\\Desktop\\邮件\\DMail_20140227_145841.eh";DmailHandle handle = DmailHandleFactory.getInstance();StringBuilder errorMsg = new StringBuilder();Dmail dmail = handle.dmailParse(ehFilePath, errorMsg);//eh文件名System.out.println(dmail.getMailName());System.out.println(dmail.getTitle());System.out.println(dmail.getSendTime());System.out.println(dmail.getContent());System.out.println(dmail.getTransferType());//得到第一个附件名System.out.println(dmail.getFiles()[0]);//第一个接收地址System.out.println(dmail.getRecvAddrs()[0]);}public static void main(String[] args) {// new DmailRecv().checkRecv();// new DmailRecv().dmailParse();// new DmailRecv().recvEh();// new DmailRecv().readMail();// new DmailRecv().recvAttach();new DmailRecv().delMail();}}。

技术预研报告

技术预研报告

haiyamaill.Of.System目录0.1 文档目的.......................................................................................................................0.2 文档范围.......................................................................................................................0.3 读者对象与职责............................................................................................................0.4 参考文档.......................................................................................................................0.5 术语与缩写解释............................................................................................................错误!未定义书签。

33333提前发现并解决开辟过程中将会遇到的技术障碍描述海雅缤纷 mall 开辟设计前的技术难点与需求难点。

项目经理或者技术负责人识别项目中的技术难题,指定技术预研人员攻克该问题电信短信网关相关文献《广东电信短信接入API 使用手册(C#接口).pdf 》《广东电信短信接入API 使用手册(JAVA 接口).pdf 》今匡助开辟人员更好地进行需求开辟、系统设计和程序设计。

广州首易信息技术有限公司API接口使用手册说明书

广州首易信息技术有限公司API接口使用手册说明书

广州首易移动业务A P I (W e b S e r v i c e)使用手册广州首易信息技术有限公司2012年1月目录一、引言 (4)1.1 编写目的 (4)1.2 背景说明 (4)1.3 术语定义 (4)二、概述 (5)2.1 接口功能 (5)2.2 接口组成 (5)三、接口介绍 (6)3.1 网络结构 (6)3.2 运行环境 (6)3.3连接方式 (6)3.4 WebService地址 (6)3.5 WSDL描述文件 (7)四、API函数说明 (7)4.1短信部分 (7)4.1.1 Sms_Send函数 (7)4.1.2 Sms_GetRecv函数 (8)4.1.3 Sms_GetReport函数 (9)4.1.4 Sms_GetSign函数 (10)4.1.5 Sms_GetBalance函数 (10)4.2彩信部分 (11)4.2.1 Mms_UpFile函数 (11)4.2.2 Mms_GetFileStatus函数 (12)4.2.3 Mms_Send函数 (13)4.2.4 Mms_GetRecv函数 (14)4.2.5 Mms_GetReport函数 (15)4.3批量任务部分 (16)4.3.1 Task_UpFile函数 (16)4.3.2 Task_DelFile函数 (17)4.3.3 Task_SmsSend函数 (18)4.3.4 Task_GetSmsStatus函数 (19)4.3.5 Task_SmsStop函数 (20)4.3.6 Task_SmsStart函数 (20)4.3.7 Task_MmsSend函数 (21)4.3.8 Task_GetMmsStatus函数 (22)4.3.9 Task_MmsStop函数 (23)4.3.10 Task_MmsStart函数 (24)五、附件 (24)5.1错误代码汇总表 (24)5.2短信/彩信状态码汇总表 (27)5.3批量任务短信/彩信状态码汇总表 (27)一、引言1.1 编写目的广州首易的移动商务平台提供了强大的移动业务接入机制,现支持短信、彩信的全国应用。

(实施)MASAPI接口说明(JAVA)

(实施)MASAPI接口说明(JAVA)

infoX-MASAPI接口说明(JA VA) 目录目录1 总体说明....................................................................................................................................... 1-11.1 JA VA接口概述............................................................................................................................................. 1-21.2 读者范围...................................................................................................................................................... 1-21.3 相关约定...................................................................................................................................................... 1-22 API说明 ....................................................................................................................................... 2-12.1 API概述 ....................................................................................................................................................... 2-22.2 基本数据类型介绍...................................................................................................................................... 2-32.3 数据结构详细描述...................................................................................................................................... 2-32.4 接口介绍...................................................................................................................................................... 2-72.4.1 DBSMProxy ......................................................................................................................................... 2-72.4.2 initConn ............................................................................................................................................... 2-72.4.3 initConn ............................................................................................................................................... 2-82.4.4 initConn ............................................................................................................................................... 2-92.4.5 sendSm ................................................................................................................................................. 2-92.4.6 sendMultiSm ...................................................................................................................................... 2-102.4.7 getReceivedSms ................................................................................................................................. 2-112.4.8 querySmsResult ................................................................................................................................. 2-122.4.9 login ................................................................................................................................................... 2-122.4.10 isConnected ...................................................................................................................................... 2-132.4.11 logout ............................................................................................................................................... 2-132.4.12 destroy .............................................................................................................................................. 2-133 安装使用指导............................................................................................................................. 3-153.1 介绍安装JA VA SMS API ............................................................................................................................ 3-13.2 导入开发库.................................................................................................................................................. 3-13.3 方法调用...................................................................................................................................................... 3-14 示例代码....................................................................................................................................... 4-14.1 初始化连接对象并登录.............................................................................................................................. 4-24.2 发送短信...................................................................................................................................................... 4-24.3 查询短信发送情况...................................................................................................................................... 4-44.4 查询短信接收情况...................................................................................................................................... 4-4目录infoX-MAS API接口说明(JA V A)4.5 销毁连接或者退出登录.............................................................................................................................. 4-55 配置文件说明............................................................................................................................... 5-15.1 Apiconf.xml ................................................................................................................................................... 5-2infoX-MASAPI接口说明(JA VA) 表格目录表格目录表2-1 Java API的短信接口 .............................................................................................................................. 2-2表2-2 基本数据类型简介................................................................................................................................. 2-3表2-3 SmReceiveBean字段说明 ...................................................................................................................... 2-3表2-4 SmSendBean字段说明 ........................................................................................................................... 2-4表2-5 SmSendResultBean字段说明................................................................................................................. 2-6infoX-MASAPI接口说明(JA VA) 1 总体说明1 总体说明关于本章本章描述内容如下表所示。

中国电信短信接入数据库接口程序使用手册

中国电信短信接入数据库接口程序使用手册

中国电信短信接入D B接口程序使用手册中国电信股份有限公司广东互联网及增值业务运营中心2009年10月DB接口自带ACCESS数据库,可在本机架设。

同时可支持MS SQL SERVER、MYSQL等网络数据库,使用网络数据库时,需用户安装相应数据库驱动程序并进行参数配置。

关于DB接口的使用详细信息请查看《中国电信短信接入API使用手册(DB 接口)》。

启动程序,主界面如下:各参数说明如下:数据库类型:可支持SqlServer、Access、MySql三种数据库,分别对应的值为:SqlServer、Access、MySql数据库文件:当数据库为Access时需填入该参数数据库IP:当数据库为SqlServer或Mysql时需填入该参数数据库用户名:当数据库为SqlServer或Mysql时需填入该参数数据库密码:当数据库为SqlServer或Mysql时需填入该参数检测间隔:检测短信的时间间隔,单位为毫秒短信网关IP:SMGP网关地址为125.88.123.137短信网关端口:SMGP网关端口为3058短信网关登录名:根据实际情况填入短信网关登陆密码:根据实际情况填入短信发送方式:普通短信——短信将分割成每条70个字发送,手机收到多条短信;长短信——短信将分割成每条67个字发送,支持长短信的手机将收到一条短信。

主界面操作说明:程序启动时即开始检测短信,请检查各参数,若不正确可先点击停止按钮,在界面上修改好参数后点击开始按钮。

右边信息框会显示发送的部分信息以及收到状态报告和上行短信的部分信息,具体信息请自行读取数据库数据查看。

清空列表按钮可清空列表框的信息,导出列表可导出列表的信息到txt文本。

关闭主面板时程序会隐藏到任务栏通知区域,不退出程序。

点击主面板上的退出按钮可退出程序,或者右键点击任务栏通知区域的程序图标后选择退出菜单也可以退出程序。

广东电信宽乐通信短信接入API使用手册(C#接口)

广东电信宽乐通信短信接入API使用手册(C#接口)

Page 3 of 12
二、概述
客服热线 10000
2.1 接口功能
广东电信短信接入API是根据广东电信SMGP协议开发的,封装后的用户 开发接口。接口可降低用户接入开发的难度,提升接入效率。
接口主要功能包括: 支持MT短信的发送。 支持MO短信的接收。 支持短信回执的接收。
2.2 接口组成
广东电信短信接入API包括如下部分:
组成部分 各种语言包
数据库接口
功能说明 用于各种语言的API调用,支持目前主流的语言,如:C++, DotNet,Java,ASP,VB,PowerBuilder,Delphi等。 用于其他系统直接通过访问数据库来进行短信的收发。
Page 4 of 12
三、接口介绍
Page 7 of 12
3.4.3.2 SendSms
客服热线 10000
int[] SendSms(string srcTermID, string destTermID, string content, bool isNeedReport, out string[] msgID)
功能
发送指定的短信,它能自动分段发送,每段信息最大长度为 70 个字
客服热线 10000

返回接收队列中状态报告。(此接收队列为中心端主动向

客户端推送,取状态报告时只是从队列中获取,不占用资
源。请及时收取,断电、关机、接口断开后数据丢失)
入 smsReportList 返回状态报告列表 参
返0 回 -1
取状态报告成功,状态报告内容在 smsReportList 中 状态报告队列为空,取状态报告失败
3.4.3.3 SendLongSms

短讯接口API说明

短讯接口API说明

短讯接口API说明第一章概述短消息中心(SMC)和手机(MS)之间的联系,通过PLMN网,按照有关协议进行联系。

而扩展短消息实体(ESME)和短消息中心之间的联系,ETSI规范中另有相关规定,GSM 03.39 SMPP协议等。

ESME和SMSC之间通讯协议一般是TCPIP 协议,上层协议可以是SMPP或者其他扩展协议。

华为公司的M900 INtess-SMAX II 系统提供的SMPP协议,对GSM 03.39 SMPP协议中的某些局限进行功能上的扩展,支持SMPP协议定义的所有功能。

另外M900 INtess-SMAX II还提供了一套内部协议。

扩展短消息实体ESMEs(人工台、自动台、维测台等)可以直接和短消息中心按照SMPP或内部协议通讯,实现规范规定的有关服务。

ESMEs和SMSC之间的通讯直接通过内部或SMPP协议,是十分烦琐,而且有许多工作是公共的,所以在M900 INtess-SMAX II系统中提供了一些API函数,供扩展短消息实体直接使用,而不用ESMEs处理低层的TCPIP通信,和SMSC的握手等工作。

通过这些API函数,将SMPP 协议或内部协议以API函数的形式提供给ESMEs使用。

ESME,用户接口(SMEIDLL),SMSC之间的关系图如下:通过该接口可以用SMPP协议的格式和其他支持SMPP协议的SMSC进行通讯。

用户接口具有的功能有:1. 低层链路出现故障时,重连链路,提示上层。

2. 和SMSC的定时握手。

3. 提供实现SMPP和内部协议中定义的相关协议的API函数。

第二章函数说明短讯接口API可分为以下几类:(1)初始化与退出函数(2)短讯业务函数2.1 初始化与退出函数1. IFInitInterface【函数功能】初始化接口,和短讯中心建立连接,应用程序必须首先调用本函数。

【预置条件】smeidll.dll动态连接库必须在系统能够找到的目录下。

【函数原型】BOOL WINAPI IFInitInterface(DWORD dwCodeProtocol, DWORD dwDriverProtocol,LPCTSTR pDriverParam);【参数说明】dwCodeProtocol 类型:DWORD说明:和短讯中心连接的协议类型取值意义1 内部协议(保留)2 网关协议(保留)3 SMEI协议dwDriverProtocol 类型:DWORD说明:和短讯中心连接的网络协议取值意义1 TCP/IP协议2 COM协议(保留)3 X25协议(保留)PDriverParam 类型;LPCTSTR说明:网络协议参数。

java api 使用教程

java api 使用教程

java api 使用教程Java API是Java语言提供的应用程序接口(Application Programming Interface),可以用于开发各种类型的应用程序。

Java API提供了大量的类和方法,可以用于处理各种任务,例如文件操作、网络通信、图形界面、数据库访问等。

使用Java API之前,首先需要了解Java语言的基本语法和面向对象的编程概念。

Java语言是一种面向对象的编程语言,所有的代码都是以类的形式组织的。

在使用Java API时,通常需要创建对象并调用对象的方法来完成所需的功能。

Java API的官方文档提供了关于各个类和方法的详细说明,可以在Java官网上找到对应的文档。

使用Java API时,可以先阅读文档以了解所需类和方法的用法和参数,然后根据文档中的示例代码进行编程。

下面以文件操作为例,介绍如何使用Java API编写一个简单的文件复制程序。

首先,需要导入Java API中提供的文件操作相关的类。

可以使用import关键字导入java.io包下的相关类,例如File和FileInputStream。

```javaimport java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;```然后,可以创建一个新的类来实现文件复制功能。

可以在类中定义一个复制文件的方法,接收两个参数:源文件路径和目标文件路径。

```javapublic class FileCopy {public void copyFile(String sourcePath, String targetPath) throws IOException {File sourceFile = new File(sourcePath);File targetFile = new File(targetPath);FileInputStream inputStream = newFileInputStream(sourceFile);FileOutputStream outputStream = new FileOutputStream(targetFile);byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);}inputStream.close();outputStream.close();}}```在复制文件的方法中,首先创建源文件和目标文件的对象。

短信平台接口说明

短信平台接口说明

短信平台接口说明第1章 基本约定第1节基本术语:前台流水号:前台流水号就是发送短信上送的批次号,一般在私有字段里面。

后台流水号:后台流水号是当提交成功之后短信平台返回给前端的流水号,此流水号在短信的所有业务中都是唯一的。

(1)上送文件格式以一行为一条短信数据. (2)提交成功之后,返回报文的分隔符为”:”. (3)群发短信手机号码之间采用的分隔符为”,”. (4)私有字段的分隔符采用”$” (5)非明确说明的,分隔符都采用”|”.第2节基本原理及提交成功返回短信平台基本原理如下所示:提交成功有文件类和单条短信返回: (1) 单条短信单条短信返回的格式为:|respcode @@@0000| respmsg@@@发送成功| frountID@@@前台流水号| backofficeID@@@后台流水号|^其中前台流水号为发送时前台请求时上送的批次号,后台流水为短信平台后台的流水号.(2)文件请求文件格式的报文返回为:|respcode@@@0000|respmsg@@@发送成功|frountID@@@前台文件批次号| frontfilename@@@前台文件名| backofficeID@@@后台文件批次号|^其中后台文件序列号由短信平台生成.第3节TCP接口必须要传送报文头第一个为报文域长度,其中包含整个报文头的12字节。

第二个为流水号,可以传定值1第三个是路由号,传8十六进制例子表示如下:33 00 00 00 01 00 00 00 08 00 00 00 7c 39 39 3939 7c 7c 31 33 33 32 33 35 39 31 36 33 38 7c b6cc cf fb cf a2 b2 e2 ca d4 b7 a2 cb cd d0 c5 cfa2 7c 5e定义的结构体typedef struct{unsigned int uiPacketLength; //包长,包含包头长度的总长度unsigned int uiSequenceID; //标识包的唯一ID,由客户端填写unsigned int CommandID; //路由号,一般固定为8或与短信平台协商}MSG_HEADER_T;第2章WebService接口说明提供两个类型的方法给调用即:单条发送方法,群发SERVICEURL:http://指定IP地址:端口 / SMSWebService.asmxSERVICENAME: SMSWebService第1节单条发送方法短信串的具体内容如下:|短信发送交易码|私有字段|手机号码|发送信息|^其中短信交易码为9999.私有字段定义:短信类型$发送人(部门)$提交人$业务类型$提交时间$开始日期$开始时间$结束日期$结束时间$批次号$是否需要回执$其中,开始日期、开始时间、结束日期、结束时间不定义(置空)则立即发送例如:6$XD$3$20090907102700$20090907$102700$20090907$205959$0907123456$ 短信类型为6,7,其中6为信贷系统日间短信,7为信贷系统日终短信.业务类型为2,人工定制短信.例如:|tranCode@@@9999|SMSType@@@6|Department@@@XD|Sender@@@6221|Bussinesstype@@@1|Sendtime@@@20100514134500|Begindate@@@20100514|BeginTime@@@08 0101|Enddate@@@20100514|Endtime@@@205959|SerioNo@@@1253535|Isback@@@1|mobile@@@186********|content@@@信贷系统短信测试|^具体描述:/// <summary>/// 单条发送短信(标准版)/// </summary>/// <param name="content">短信串</param>/// <returns>返回-1:数据库操作失败;0:数据没更新:大于0:正确</returns> public int SendSMS(string content)第2节群发(一笔最大条数1000,TCP方式一次最多20)短信串的具体内容如下:|短信发送交易码|私有字段|手机号码串|发送信息|群发短信分隔符|^其中短信交易码为9996.私有字段定义:短信类型$发送人(部门)$提交人$业务类型$提交时间$开始日期$开始时间$结束日期$结束时间$批次号$是否需要回执$其中,开始日期、开始时间、结束日期、结束时间不定义(置空)则立即发送,分隔符为空,则默认”,”作为分割符.例如: 6$XD$3$20090907102700$20090907$102700$20090907$205959$0907123456$///<summary>///群发短信(标准版)分隔符是“,”///</summary>/// <param name="content">短信串</param>/// <returns>返回-1:数据库操作失败;0:数据没更新:大于0:正确</returns>public int SendMoreSMS(string content)第3章文件群发接口第1节通讯接口文件接口的目的是当客户端需要通过文件发送短信的时候,首先通过WebService或者TCP/IP告知短信平台要发送文件.文件传送采用FTP和TCP/IP 的方式.具体如下:1.WebService接口.短信串的具体内容如下:|短信发送交易码|私有字段|文件类型|文件名|^其中短信交易码为9995.私有字段定义:短信类型$发送人(部门)$提交人$业务类型$提交时间$开始日期$开始时间$结束日期$结束时间$批次号$是否需要回执$发送文件时,批次号为前台上送的文件批次号例如:|tranCode@@@9995|SMSType@@@6|Department@@@XD|Sender@@@6221|Bussinesst ype@@@1|Sendtime@@@20100514134500|Begindate@@@20100514|BeginTime@@@08 0101|Enddate@@@20100514|Endtime@@@205959|SerioNo@@@1253535|Isback@@@1 |Filetype@@@txt|Filename@@@temp.txt|^/// <summary>////// </summary>/// <param name="content">短信串</param>/// <returns>返回-1:数据库操作失败;0:数据没更新:大于0:正确</returns> public int SendMoreSMS(string content)返回报文:|respcode@@@0000|respmsg@@@发送成功|frountID@@@5|frontfilename@@@temp.txt|backofficeID@@@|^2.TCP/IP接口短信串的具体内容如下:|短信发送交易码|私有字段|文件类型|文件名|^其中短信交易码为9995.私有字段定义:短信类型$发送人(部门)$提交人$业务类型$提交时间$开始日期$开始时间$结束日期$结束时间$批次号$是否需要回执$发送文件时,批次号为上送的文件批次号如:00$HX$8001$0$20090907102700$20090907$102700$20090907$205959$090712 3456$1$第2节文件传输接口文件传输接口的方式有以下两种,其中一种为通过Socket传输文件流的方式,另外一种就是FTP方式,文件最大为20M.文件内部每条短信的定义如下:|序列号|手机号码|内容|^(1)SOCKET传输文件流的方式暂时不支持(2)FTP方式当短信平台收到发送文件类型的短信之后,通过FTP双方约定的目录获取文件,然后解析文件开始发送.第4章数据库的接口接口模式:采用数据库模式数据库版本:SQL SERVER 2000实现原理:直接把数据插入到短信数据库(call)的短信提交表(SMS_REQUEST),通过短信平台发出,提交之前需要先通过NextValue方式获取内部流水号。

广东电信短信接入API使用手册(JAVA接口)

广东电信短信接入API使用手册(JAVA接口)

中国电信股份有限公司广东互联网及增值业务运营中心2009年10月目 录一、引言 (3)1.1 编写目的 (3)1.2 背景说明 (3)1.3 术语定义 (3)二、概述 (4)2.1 接口功能 (4)2.2 接口组成 (4)三、接口介绍 (5)3.1 网络结构 (5)3.2 运行环境 (6)3.3连接方式 (6)3.4开发接口函数使用 (6)3.4.1 接口函数说明 (6)3.4.2 接口函数调用流程图 (6)3.4.3 SmsClient类 (7)3.4.3.1 Login (7)3.4.3.2 SendSms (8)3.4.3.3 SendLongSms (8)3.4.3.4 RecvSms (9)3.4.3.5 RecvSmsReport (9)3.4.3.6 Disconnect (10)四、部分SMGP常见错误代码及短信状态 (10)4.1常见错误代码含义,其它的请参考SMGP标准协议 (10)4.2常见短信状态定义,其它的请参考SMGP标准协议 (11)一、引言1.1 编写目的广东电信提供了强大的短信接入机制。

本手册用于指导客户利用广东电信提供的短信接口进行其他需要短信功能的新系统开发或原有系统的短信功能扩展。

本手册的阅读对象为需要采用广东电信短信接入API完成客户开发的设计人员与编码人员。

1.2 背景说明本手册适用于广东电信SMGP协议(V3.0.2)短信网关接入。

1.3 术语定义广东电信SMGP协议 全称“广东电信短消息网关协议SMGP”,本文特指其V3.0.2版本,集团客户需接入广东电信短信网关时,必须使用此协议进行程序开发,本文中简称“SMGP”或“SMGP协议”。

MT短信 通过短信接口发往手机终端的短信。

MO短信 从手机终端发往短信接口接收队列的短信。

短信回执 有时也称“状态报告”,对于MT 短信,手机终端收到后会返回短信回执给短信接口。

回执包含MT 短信是否成功提交到特定手机终端的信息。

广东电信定位能力平台接口说明书

广东电信定位能力平台接口说明书

广东电信定位能力平台接口说明书广东亿迅科技有限公司2010-03-31目录1、概述 (1)2、协议说明 (1)2.1安全部分 (1)2.2接口SOAP协议 (1)3、参数说明 (2)3.1单次定位请求参数 (2)3.2单次定位返回结果 (2)4、结果代码和错误代码 (2)4.1通用结果集 (2)4.2个别错误代码 (3)- i -1、概述定位接口为企业提供了二次开发接口,接口采用标准的WebService接口,开发非常便捷。

2、协议说明接口形式采用WebService(SOAP),安全认证部分采用标准的WSS (WebService Security)。

2.1 安全部分接口采用WSS来验证调用者的身份,验证方法如下:action:UsernameTokenpasswordType:PasswordDigest具体客户端的实现方式请参考所选用的技术框架说明书2.2 安全规则说明接口系统支持2类客户:1.网关类(ISAG)接入:提供无功能限制但有IP访问控制的接口。

2.物流e通客户:无IP访问限制,但仅能对属于本企业的用户进行定位。

2.3 接口SOAP协议positionService.wsdl具体协议的WSDL请双击打开附件,WSDL中带字段说明3、参数说明3.1 单次定位请求参数字段名称类型说明CallerInfo.CallerId 调用者标识按分配的ID填写Terminal.Number 号码被定位手机号Terminal.PosType 定位类型暂时只提供GPSone/GPS方式3.2 单次定位返回结果字段名称类型说明CallerInfo.CallerId 调用者标识按分配的ID填写Result. ReturnCode 返回码0表示成功,6开头的错误请查询后面的出错码附表PosInfo. PositionResult 定位的结果含义请参考后面的码表PosInfo.Number 被定位手机号被定位的手机号PosInfo.PosType 定位类型目前支持GPSonePosInfo.LocalTime 本地时间国内都是+8时区,格式yyyyMMddHHmiss PosInfo.Longitude 经度默认用D5格式,例如113.33305 titude 纬度默认用D5格式,例如23.14127 PosInfo.Radius 误差单位是米PosInfo.PosMethod 定位方法说明定位时所用的定位信号4、结果代码和错误代码4.1 通用结果集下表显示的是表示全部请求结果的通用结果集。

一信通短信接口文档

一信通短信接口文档

一信通企业信息服务平台接口手册目录一信通企业信息服务平台 (1)1.概述 (3)1.1编制目的 (3)1.2容概述 (3)1.3名称解释 (3)1.4参考文献 (3)2.短信 (4)2.1HTTP接口 (4)2.1.1消息协议 (4)2.1.2发送短信 (4)2.1.3回执接口 (5)2.1.4剩余短信条数查询 (6)2.1.5回复容接口 (7)2.2W EBSERVICE接口 (7)2.2.1消息协议 (7)2.2.2发送短信 (8)2.2.3回执接口 (9)2.2.4上行回复容查询接口 (9)2.2.5上行回复容确认接口 (10)2.2.6容审核 (11)修改历史1.概述1.1编制目的该接口文档手册编写在于描述易派企业信息服务平台UMS(以下简称UMS)具体的接口协议,供第三方系统能够顺利接入一信通短信网关。

1.2容概述本规主要讲了第三方系统接入短信通系统的协议要求,协议三大状态和协议指令的格式和响应信息。

1.3名称解释1.4参考文献2.短信2.1http接口2.1.1消息协议接口地址: guangdong.ums86.:8899/sms/Api/通过接口提交参数时, 参数容必须为GB2312 编码, 且经过url编码后的容。

例如:“您好”的url编码为“%C4%FA%BA%C3”接口返回的容是一些键值对的字符串集合,形式为:“k1=v1&k2=v2&k3=v3…”返回容中的键值显示为url编码形式, 经过url解码后的键值是GB2312编码的字符串。

例如:返回容“result=0&description=%B7%A2%CB%CD%B3%C9%B9%A6&faillist=”表示的实际容为“result=0&description=发送成功&faillist=”2.1.2发送短信功能描述:短信发送调用格式:对 guangdong.ums86.:8899/sms/Api/Send.do进行post返回格式: result=&description=错误描述&faillist=失败列表post参数说明:实际返回容为“result=0&description=发送成功”2.1.3回执接口功能描述:短信回执调用方式:ftp返回格式:文本文件ftp服务信息:返回文本文件格式:文件名:arrive_000139_25288_00f_6一行容:SPID=197258 MESSAGEID=910320f1 ID=2432901361 CALLMDN=2501 MDN= RESULT=0 DESC=DELIVRD ARRIVE_TIME=402Java解析这行的方法// 解析一行记录public static Properties parse(String line) {String parsePattern="([^=\t]+)=([^\t]*)";Matcher m = pile(parsePattern).matcher(line);Properties result = new Properties();while (m.find()) {String key = m.group(1).trim();String value = m.group(2).trim();result.put(key.toUpperCase(), value);}return result;}如果要获取取接受短信的则使用:String mdn= (String)result.get("MDN");即可其他字段类似方式2.1.4剩余短信条数查询功能描述:剩余短信条数查询接口调用格式:对guangdong.ums86.:8899/sms/Api/SearchNumber.do进行post返回格式: result=&description=错误描述&faillist=失败列表2.1.5回复容接口功能描述:将上行回复的容通过http协议进行post到企业方调用格式: url由企业方提供,然后对该url进行post,post的格式为xml,格式如下: <packet><reply><mdn></mdn><callmdn>111</callmdn><msg>回复容测试</msg><replytime>2012-01-01 00:00:00</replytime></reply></packet>返回格式:返回格式为xml,格式如下:<returncode>0</returncode>post参数说明:返回值:2.2Webservice接口2.2.1消息协议接口地址:guangdong.ums86.:8899/sms_hb/services/Sms?wsdl2.2.2发送短信功能描述:短信发送调用格式:利用webservice客户端进行http请求返回格式:SmsResponseSmsRequest请求参数说明:SmsResponse返回值:实际返回容为“result=0&description=发送成功”2.2.3回执接口功能描述:短信回执调用方式:利用webservice客户端进行http请求返回格式: ReportResponseReportRequest请求参数说明:ReportResponse返回值:实际返回容为“001,,0; 001,,0;001,,0;”2.2.4上行回复容查询接口功能描述:上行回复容查询调用方式:利用webservice客户端进行http请求返回格式: ReplyResponseReplyResponse返回值:2.2.5上行回复容确认接口功能描述:上行回复容查询调用方式:利用webservice客户端进行http请求返回格式: ReplyConfirmResponse ReplyConfirmRequestReplyConfirmResponse返回值:2.2.6容审核功能描述:短信发送调用格式:利用webservice客户端进行http请求返回格式:AuditingResponseAuditingRequest请求参数说明:AuditingResponse返回值:实际返回容为“result=0&description=短信容审核通过”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国电信股份有限公司
广东互联网及增值业务运营中心
2009年10月
目 录
一、引言 (3)
1.1 编写目的 (3)
1.2 背景说明 (3)
1.3 术语定义 (3)
二、概述 (4)
2.1 接口功能 (4)
2.2 接口组成 (4)
三、接口介绍 (5)
3.1 网络结构 (5)
3.2 运行环境 (6)
3.3连接方式 (6)
3.4开发接口函数使用 (6)
3.4.1 接口函数说明 (6)
3.4.2 接口函数调用流程图 (6)
3.4.3 SmsClient类 (7)
3.4.3.1 Login (7)
3.4.3.2 SendSms (8)
3.4.3.3 SendLongSms (8)
3.4.3.4 RecvSms (9)
3.4.3.5 RecvSmsReport (9)
3.4.3.6 Disconnect (10)
四、部分SMGP常见错误代码及短信状态 (10)
4.1常见错误代码含义,其它的请参考SMGP标准协议 (10)
4.2常见短信状态定义,其它的请参考SMGP标准协议 (11)
一、引言
1.1 编写目的
广东电信提供了强大的短信接入机制。

本手册用于指导客户利用广东电信提供的短信接口进行其他需要短信功能的新系统开发或原有系统的短信功能扩展。

本手册的阅读对象为需要采用广东电信短信接入API完成客户开发的设计人员与编码人员。

1.2 背景说明
本手册适用于广东电信SMGP协议(V3.0.2)短信网关接入。

1.3 术语定义
广东电信SMGP协议 全称“广东电信短消息网关协议SMGP”,本文特指其
V3.0.2版本,集团客户需接入广东电信短信网关时,必
须使用此协议进行程序开发,本文中简称“SMGP”或“SMGP
协议”。

MT短信 通过短信接口发往手机终端的短信。

MO短信 从手机终端发往短信接口接收队列的短信。

短信回执 有时也称“状态报告”,对于MT 短信,手机终端收到
后会返回短信回执给短信接口。

回执包含MT 短信是否
成功提交到特定手机终端的信息。

二、概述
2.1 接口功能
广东电信短信接入API是根据广东电信SMGP协议开发的,封装后的用户开发接口。

接口可降低用户接入开发的难度,提升接入效率。

接口主要功能包括:
支持MT短信的发送。

支持MO短信的接收。

支持短信回执的接收。

2.2 接口组成
广东电信短信接入API包括如下部分:
组成部分 功能说明
各种语言包 用于各种语言的API调用,支持目前主流的语言,如:C++,
DotNet,Java,ASP,VB,PowerBuilder,Delphi等。

数据库接口 用于其他系统直接通过访问数据库来进行短信的收发。

三、接口介绍
3.1 网络结构
网络结构说明:
1、行业短信网关接入模块:提供到各地短信中心的接入功能,同时与全国
行业应用平台实现互连;
2、行业短信平台业务处理模块:主要完成短信上行和下行的业务处理,短
信下发,无论是单发,还是群发,无论是单个用户,还是多个用户,都
采用下发任务机制实现。

3、行业短信网关置于电信机房,集团客户端可通过互联网或专线与其连接。

4、集团客户端的各类信息系统是通过向接口数据库进行数据读写操作,实
现短信上、下行。

3.2 运行环境
Java接口程序支持WINDOWS NT/XP/2003/VISTA/Linux/Unix等支持java虚拟机的操作系统。

3.3连接方式
互联网或专线,帐号、密码确认登录。

3.4开发接口函数使用
3.4.1 接口函数说明
Login初始化接口并与短信服务器连接
SendSms发送短信
Send Long Sms发送长短信
RecvSms 返回接收队列中短信
RecvSmsReport 返回接收队列中短信状态报告
Disconnect 释放资源,断开与服务器的连接
3.4.2 接口函数调用流程图
3.4.3 SmsClient类
短信发送、短信接收、回执接收类。

方法如下:
3.4.3.1 Login
int Login(String ipAddress, int port, String userName, String pwd, int timeout)
功能 连接SMGP服务器并登录
入参
ipAddress 服务器ip地址
port 端口号
userName 登录帐号
pwd 密码
timeout 连接或发送短消息时的等待超时时间(秒),建议值30
返回
0 初始化成功
-1 连接服务器失败
注意 初始化成功后,可以不断进行其它操作,如发送短消息,接收短消息等。

程序启动后,只需要初始化一次即可,没有必要每发送一条短信进行一
次连接。

接口自带心跳检测功能,当断线后会自动重连。

3.4.3.2 SendSms
int[] SendSms(String srcNo, String destNo,String content, boolean isNeedReport, StringBuilder msgID)
功能 发送指定的短信,它能自动分段发送,每段信息最大长度为
70个字
入参
srcTermID源号码
destTermID目标号码
content 需要发送的消息
isNeedReport是否需要回执报告,false为不需要,true为需要
msgID 服务器返回的msgID
返回
int数组,表示各分段短信返回的结果集合
0 发送成功
-1 发送失败
-2 未初始化
其他 请查看错误代码含义
3.4.3.3 SendLongSms
int[] SendLongSms(String srcNo, String destNo,String content, boolean
isNeedReport, StringBuilder msgID)
功能 发送长短信,它能自动分段发送,每段信息最大长度为67
个字,手机收到一条完整短信。

入参
srcTermID源号码
destTermID目标号码
content 需要发送的消息
isNeedReport是否需要回执报告,false为不需要,true为需要
msgID 服务器返回全部分段短信的msgID集合
返回
int数组,表示各分段短信返回的结果集合
0 发送成功
-1 发送失败
-2 未初始化
其他 请查看错误代码含义
3.4.3.4 RecvSms
int RecvSms(ArrayList<Sms> smsRecList)
功能 返回接收队列中短信。

(此接收队列为中心端主动向客户端
推送,取状态报告时只是从队列中获取,不占用资源。


及时收取,断电、关机、接口断开后数据丢失)
入参 smsRecList 返回短信息列表
返回
0 取回复短信成功,短信内容在smsRecList中
-1 短信队列为空,取短信失败
3.4.3.5 RecvSmsReport
int RecvSmsReport(ArrayList<Report> smsReportList)
功能 返回接收队列中状态报告。

(此接收队列为中心端主动
向客户端推送,取状态报告时只是从队列中获取,不占
用资源。

请及时收取,断电、关机、接口断开后数据丢
失)
入参 smsReportList 返回状态报告列表
返回
0 取状态报告成功,状态报告内容在smsReportList中
-1 状态报告队列为空,取状态报告失败
3.4.3.6 Disconnect
void Disconnect()
功能 断开与服务器之间的连接。

四、部分SMGP常见错误代码及短信状态
4.1常见错误代码含义,其它的请参考SMGP标准协议
编号 含义
0 成功
3 消息格式错
4 非法短消息长度
7 非法业务代码
8 系统忙
10 非法SP编号
15 非法计费号码
16 非法目标号码
20 连接短消息网关失败
客服热线 10000 Page 11 of 11 46 非法发送用户号码
4.2常见短信状态定义,其它的请参考SMGP标准协议 状态
含义 DELIVRD
短消息转发成功 EXPIRED
短消息超过有效期 DELETED
短消息已经被删除 UNDELIV
短消息是不可转发的 ACCEPTD
短消息已经被最终用户接收 UNKNOWN
未知短消息状态 REJECTD
短消息被拒绝。

相关文档
最新文档