中国移动MM7API用户手册.docx

上传人:b****5 文档编号:7558722 上传时间:2023-01-25 格式:DOCX 页数:17 大小:24.16KB
下载 相关 举报
中国移动MM7API用户手册.docx_第1页
第1页 / 共17页
中国移动MM7API用户手册.docx_第2页
第2页 / 共17页
中国移动MM7API用户手册.docx_第3页
第3页 / 共17页
中国移动MM7API用户手册.docx_第4页
第4页 / 共17页
中国移动MM7API用户手册.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

中国移动MM7API用户手册.docx

《中国移动MM7API用户手册.docx》由会员分享,可在线阅读,更多相关《中国移动MM7API用户手册.docx(17页珍藏版)》请在冰豆网上搜索。

中国移动MM7API用户手册.docx

中国移动MM7API用户手册

中国移动MM7API用户手册

版本:

 

中国移动集团公司

 

修改记录

文件编号

版本号

拟制人/

修改人

拟制/修改日期

更改理由

主要更改内容

(写要点即可)

胡冬梅

修改、整理

胡冬梅

增加内容

增加安装说明

胡冬梅

增加内容

增加状态码等说明

胡冬梅

增加内容

增加获取API版本信息、API返回码说明等

 

1.概述

该文档说明了SP如何使用中国移动集团公司的MM7API程序与彩信中心进行对接,实现MM7接口的通讯,开发增值业务应用。

该MM7API是使用纯Java开发的,使用的JDK的版本为。

所以使用该API进行开发时,要求使用的JDK版本必须是以上版本。

该API所使用的通讯承载协议是HTTP/。

缩略词:

MM:

MultimediaMessage(多媒体消息)

MMS:

MultimediaMessageService(多媒体消息服务)

MMSC:

MultimediaMessageServiceCenter(多媒体消息服务中心)

VAS:

ValueAddedService(增值业务)

SP:

ServiceProvider(业务提供商)

HTTP:

HypertextTransferProtocol(超文本传输协议)

2.概念

企业代码

企业代码是企业身份的标识,网络中地址翻译、计费、结算等均以企业代码为依据。

企业代码的数据需要在MMSC和BOSS系统中进行配置。

企业代码以数字表示,共6位,从“8XY000”至“8XY999”,其中“XY”为各移动分公司代码。

彩信全网业务的SP企业代码为8XY001-8XY999。

(目前短信全网业务的企业代码为9XY001-9XY500,WAP全网业务的企业代码为9XY501-9XY999。

)彩信地方业务的SP企业代码由各地方移动公司按照业务许可的顺序依次分配制定,“XY”具体分配情况见相关表格。

服务代码

服务代码是:

用户使用彩信的发送、上传等上行类业务时,需要输入的接收方号码;或SP在根据用户的点播请求在向用户发送、下载等下行类业务时,用户终端中显示的发送方的号码。

服务代码的数据需要在MMSC上进行配置,用于路由的查找和状态报告的返回。

服务代码以数字表示。

全国业务的服务代码长度统一为4位,即“1000”-“9999”;本地业务服务代码长度统一为5位,即“01000”-“09999”。

以下号码或号段暂不分配:

13XX(XX=00-99)、20XX(XX=01-99)、168X(X=0-9)、186X(X=0-9)、1258/1259、172X(X=0-9)、6XXX、7XXX。

上述代码的分配和使用情况均可以在上查询。

如果SP已经开展了短信等业务,原则上彩信的服务代码依照SP原有的服务代码进行分配,以保证用户的使用习惯。

目前全网业务的服务代码,由集团公司统一分配。

业务代码

业务代码表示业务类别,并且区分不同业务的信息服务费。

业务代码的数据需要在MMSC和BOSS系统中进行配置。

业务代码用数字表示,并且不能使用000。

为便于进行业务统计和分析,业务代码尽量按照不同的业务分类如下:

互联网点播类:

以1开头

WAP点播类:

以2开头

短信点播类:

以3开头

STK点播类:

以4开头

彩信点播类:

以0开头

业务代码在遵循原则的前提下其余内容由SP自己制定。

上行业务的业务代码规范

上行业务的业务代码为三位,其构成如下:

第1位:

0、7、9开头的业务代码保留,其他代码由彩信SP自行编排。

第2~3位:

由彩信SP自行编排

特例:

如果用户直接给四位服务代码发送上行彩信,系统会默认加上业务代码“0”,该业务代码默认开通,仅用于上行彩信到服务代码。

下行业务的业务代码规范

下行业务的业务代码为六位,其构成如下:

第1位:

功能标识位,目前有如下两种选择:

●1,代表一般下行业务

●7,代表用于“先机时代”项目中手机内置并参与渠道分成的业务

●6,代表用于集团客户应用的业务(免费)

其他数字目前保留。

第2位:

彩信业务一级分类,具体如下面表格:

第3位:

彩信业务二级分类,具体如下面表格:

一级分类及标识代码

二级分类及标识代码

新闻天气

(1)

天气预报

(1)

热点快讯

(2)

社会新闻(3)

体育新闻(4)

娱乐新闻(5)

财经新闻(6)

综合新闻(0)

游戏娱乐

(2)

聊天交友

(1)

笑话幽默

(2)

彩信游戏(3)

影音视线(4)

互动有奖(5)

五花八门(0)

时尚生活(3)

时尚有约

(1)

车迷世界

(2)

文化教育(3)

情感画廊(4)

爱情家庭(5)

两性健康(6)

证券财经(7)

位置服务(8)

五花八门(0)

卡通动漫(4)

欧美

(1)

日本

(2)

韩国(3)

港台(4)

本地原创(5)

五花八门(0)

彩信铃声(5)

明星专辑

(1)

精品影视

(2)

流行音乐(3)

古典音乐(4)

卡拉OK(5)

特殊音效(6)

五花八门(0)

彩图动画(6)

人物剪影

(1)

动物一族

(2)

美丽心情(3)

温馨祝福(4)

电影名画(5)

体育纵横(6)

大千世界(7)

3D动画(8)

五花八门(0)

彩信DIY(7)

贺卡类

(1)

形象类

(2)

文字类(3)

五花八门(0)

特色用途(0)

免费客服

(1)

优惠套餐

(2)

第4位:

业务模式位,各个模式及其数字标识如下:

●1:

按条点播

●2:

按条定制

●3:

包月定制

●4:

包月点播

第5~6位:

由彩信SP自行编排

操作指令码

操作指令码是指用户通过短信点播或定制彩信业务时,在短信的信息体内输入的代码,或用户上行发送彩信时,在彩信消息体内的文本信息中输入的代码。

操作指令码用于标识对彩信的处理方式。

此代码出现在短信或彩信的消息体内,由SP自行处理,彩信中心不负责处理该代码。

在短信中输入的操作指令码应严格区分用户是点播、定制短信业务还是彩信业务。

如果用户通过短信点播或定制彩信业务,操作指令码应以CX开头。

如:

用户在短信或彩信文本信息体内输入“CXXW”发送至8888,就是定制新浪提供的彩信图片新闻业务。

下行业务

由SP主动发起的业务。

这里主要指SP向MMSC发起的业务。

上行业务

SP被动接收的业务。

这里主要指从MMSC那里接收业务。

递送报告

报告是接收方(终端)对接收到消息的处理方式信息。

递送报告指MMSC在获取这个报告后把这个信息发送给发送方(SP)。

接收方对消息的处理可能是接收或者拒绝等。

处理流程如下:

●SP发送消息(通过MMSC)给终端,并且要求递送报告;

●终端接收到消息后做相应处理(接收或拒绝);

●MMSC把终端对消息的处理信息(递送报告)发送给SP。

3.安装方法

这里主要介绍一下如何将MM7API运用到VASP自己开发的程序中以及在配置文件中需要注意修改的地方。

MM7API的使用

在VASP用Java开发自己程序时,只要将中国移动集团公司提供的和lib下的所有的Jar文件加入到classpath中即可。

配置文件的设置

配置文件需要根据SP情况进行修改。

xmlversion=""?

>

MM7Configxmlns:

vasp="">

1

zxme

zxme

0

c:

\vas_log

1

100

120

200

UTF-8

1

/mm7

true

80

50

10000

5

MM7Config>

一些地方需要进行修改,下面一一说明:

1

表示VASP作为服务端接收消息时是否进行鉴权或进行什么样的鉴权,0表示不鉴权,1表示进行基本鉴权,2表示进行摘要鉴权。

zxme

zxme

表示彩信中心对VASP进行鉴权时的用户名和密码,同时也是VASP对接入的彩信中心进行鉴权时用户名和密码,是双向的,要VASP和MMSC双方进行约定。

c:

\vas_log

表示日志存放的路径,在Windows操作系统下和Linux下是不一样的,要注意进行修改。

1

表示MMSC网关的序号,需要从MMSC处得到。

/mm7

分别表示MMSC网关的URL地址和IP(或主机名),也需要MMSC处得到。

这里也可以填成ip:

port。

例如:

不填端口号使用默认端口号80。

表示当VASP用应用程序方式进行接收消息时的监听地址和端口号。

以上为这个配置文件中主要需要注意修改的地方,当然其他的内容也可以进行修改,如1可以根据需要进行修改,0表示不产生日志;1表示产生错误日志;3表示产生信息日志;6表示产生完整信息日志。

10000

表示设置发送的超时时间,到发送超过这个时间,则自动进行重新发送。

5

表示设置重发的次数,建议在10次以下,一般用3-5次即可。

4.开发方法

这里主要介绍从SP接收MMSC发过来的DeliverReq开始,到SP发送SubmitReq到MMSC的整个流程,SP所需要做的工作。

VASP接收传送请求(上行业务)

VASP接收可以有两种方式:

●如果SP的增值应用是一个普通应用程序,可以使用方式1,即接收代理会自动打开一个监听端口,启动一个监听线程来接收来自MMSC的多媒体消息;

●如果SP的增值应用是一个Web应用,则可以使用方式2,即接收代理作为一个Servlet运行,并自动处理从HttpRequest中搜索数据,并解码成多媒体消息。

方式1:

普通应用程序中的用法

publicclassMyReceiverextendsMM7Receiver

{

config/”);

config/”);GetMMSRelayServerID()) ;

GetMMSRelayServerID()) ;

初始化VASP

初始化VASP使用的是MM7Config类,该类定义了有关本VASP和对应的MMSC的配置信息。

系统在初始化时,必须对该对象进行定义,它将用于通信类的控制。

MM7Configmm7Config=newMM7Config("./config/");

其中为配置文件,其格式如下:

xmlversion=""?

>

MM7Configxmlns:

vasp="">

--鉴权方式,1为基本鉴权,2为摘要鉴权,0为不使用鉴权-->

1

--设置用户名,必须为被授权的用户(4位)-->

1111

--设置VASP的密码(6位)-->

—设置允许的最大消息的大小(以字节为单位),目前最大支持128K-->

100000

--设置日志路径-->

c:

\vas_log

--设置日志级别,8个级别(0)Nolog

(1)Severe,

(2)Warning,(3)Info,(4)Config,(5)Fine,(6)Finer,(7)Finest-->

1

--设置指定用于对消息编码的字符集(缺省值为UTF-8)-->

UTF-8

--MMSC网关的URL地址-->

/mm7

--MMSC网关的IP或主机名列表-->

—MMSC网关的序号→

910010

--是否启用SSL加密,false:

不加密,true:

SSL加密-->

1

--应用程序方式的监听IP地址-->

--应用程序方式的监听端口-->

80

--日志文件的最大产生数量,单位为个,缺省值为100,取值范围为:

1至9999。

-->

100

--日志记录的产生时间间隔,单位为分,缺省值为60,取值范围为:

1至1440-->

10

--日志文件大小的最大限制,单位为K,缺省值为500K,最大值为10000K。

-->

1000

MM7Config>

 

2.创建MM7消息发送接口:

创建发送接口使用的是MM7Sender类,其中已经封装了和MMSC连接的通讯机制,使用时只要创建它的一个带MM7Config参数的实例即可。

MM7Sendermm7Sender=newMM7Sender(mm7Config);

创建待发送消息

创建待发送消息使用的类均是由MM7Message继承得到的。

主要有MM7SubmitReq、MM7CancelReq、MM7ReplaceReq等类,具体设置方法将分别进行介绍。

创建提交增值业务的多媒体消息(MM7SubmitReq)

1.创建消息对象

MM7SubmitReqsubmitReq=newMM7SubmitReq();

2.设置消息属性

("关联标识");

/*设置对的标识,必备*/

("SP代码") ;建消息对象

MM7CancelReqcancelReq=newMM7CancelReq();

2.设置消息属性

("关联标识");/*

对的标识,必备*/

("SP代码");/*设置SP代码,可选*/

("服务代码");/*设置服务代码,可选*/

("MM始发方地址");/*设置MM始发方地址,可选*/

("待取消的消息的标识符");/*设置待取消的消息的标识符,必备*/

创建替换多媒体消息(MM7ReplaceReq)

1.创建消息对象

MM7ReplaceReqreplaceReq=newMM7ReplaceReq();

2.设置消息属性

("关联标识");

/*设置对的标识,必备*/

("SP代码");/*设置SP代码,可选*/

("服务代码");/*设置服务代码,可选*/

("被当前消息所替换的消息的标识符");/*被当前消息

所替换的消息的标识符,必备*/

("业务代码");/*设置业务代码,可选*/

("提交MM的日期和时间");/*设置提交MM的时间和

日期(时间戳),格式如2004-02-09T10:

21:

07,可选*/

("最早理想时间");/*设置将MM传送给接收

方的最早理想时间(绝对或相对时间),可选*/

("需要读取报告的请求");/*设置通过请求传送一个读

取报告进行确认(boolean值,true为需要,false为不需要),可

选*/

("VASP是否允许修改内容");/*设置VASP是否允许

修改内容(boolean值,默认为真),可选*/

("多媒体消息内容");/*设置多媒体消息的内容,可选,注意当要

设置时,一定要设置其ContentType。

*/

("是否可重新分发");/*设置VASP是否可重新分发

MM的内容(boolean值,true为可以,false为不可以),可选*/

创建消息内容体

每个消息内容体就是一个MMContent实例,可以添加多个消息内容体,但是所有消息内容体大小之和不能超过MMSC允许大小(目前最大支持128K)。

MMContentcontent=newMMContent();

/**设置附件的类型,若不包含SMIL格式的文件,则设置类型为.MULTIPART_MIXED,若包含SMIL格式的文件,则设置类型为.MULTIPART_RELATED*/*************************************

.MULTIPART_MIXED);

/**添加类型为Gif的附件一*/

MMContentsub1=("f:

\\");

("");TEXT);;

publicclassVaspSendTest{

publicstaticvoidmain(String[]args){

MM7Configmm7Config=newMM7Config("./config/");

mm7Config.setConnConfigName("./config/");

MM7Sendermm7Sender=newMM7Sender(mm7Config);

MM7SubmitReqsubmit=newMM7SubmitReq();

("");

("");

("1234");

("123");

("测试");

MMContentcontent=newMMContent();

.MULTIPART_MIXED);

MMContentsub1=("f:

\\");

("");

(sub1);

MMContentsub2=("ThisisaTest2!

");

("");

.TEXT);

(sub2);

(content);

MM7RSResres=(submit);

"="+()+

";="+());

}

}

VASP接收传送消息以及发送提交消息实例

举一个实例说明VASP构建MM7SubmitReq,发送给MMSC,并得到返回消息,通过StatusCode判断,本次发送是否成功,若成功,得到MessageID,以便以后希望取消或替换该消息时用。

publicclassMyReceiverextendsMM7Receiver

{

/config/”);

/config/”);TEXT);

(sub2);

/**将附件进行设置*/

("多媒体消息的内容");/*可选,也可以从MM7DeliverReq中获得多

媒体消息的内容,());*/

/*发送MM7SubmitReq消息,正确返回MM7SubmitRes消息,错误返回MM7RSError消息,

其它消息与此类似*/

MM7RSResres=(submitReq);

/*可以根据StatusCode来判断本次发送是否成功,若成功能得到MessageID等信息。

StatusCode可能得到的值,具体可见本文中的请求状态码说明。

*/

if()==MM7SubmitRessubmitRes=(MM7SubmitRes)res;

());

submitRes.getMessageID());

}

}

publicMM7VASPResdoDeliver(MM7DeliverReqrequest)

{

/*接收从MMSC发过来的传送消息,以便取出其中的部分值构造提交消息或得到一些有用

信息,如MMSC的标识符等*/

deliverReq=request;

收到手机”+()

+“提交的消息,标题为:

”+());

"MMSC的标识符为:

"+request.GetMMSRelayServerID()) ;

config/”);

/config/”);getMMSRelayServerID()) ;

getMMSRelayServerID()) ;

conf/”);

config/”);getMMSRelayServerID()) ;

getMMSRelayServerID()) ;

;

publicclassVaspSendTest{

publicstaticvoidmain(String[]args){

MM7Configmm7Config=newMM7Config("../config/");

/config/”);

MM7Sendermm7Sender=newMM7Sender(mm7Config);

MM7CancelReqcancelReq=newMM7CancelReq();

("关联标识");

;

publicclassVaspSendTest{

publicstaticvoidmain(String[]args){

MM7Configmm7Config=newMM7Config("./config/");

config/”);

MM7Sendermm7Sender=newMM7Sender(mm7Config);

MM7ReplaceReqreplace=newMM7ReplaceReq();

("关联标识");

发过程中需用的一些Status解释

关于VASP接收到消息后设置返回响应(Res)的状态码及状态报告的解释

当VASP收到MMSC发送过来的DeliverReq、DeliverReportReq、ReadReplyReq时,可以经过判断后,返回给MMSC一个状态码和状态描述,可以返回的StatusCode和StatusText分别如下:

1000:

成功;

1001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1