利用电信能力开放平台轻松开发短信应用
中国电信在最近开放了其能力平台,现在这个项目正处于beta1的状态,利用能力平台,开发者可以轻松的通过统一的API调用电信提供的多种能力,包括语音呼叫(多方通话)、短信、IVR、GPSOne定位等多种能力,并且将这些能力整合成自己的特色应用,通过电信的MM平台向所有中国电信的3G用户推广,销售,并从中获取收益。相对于iphone和android的平台,电信的能力开放平台更加接近运营商的核心业务,合理利用可以创造更加独特的应用。
本文用一个短信应用作为例子来看看这一切是多么的简单。
第一步:用户注册成为能力开放平台AP;
第二步:用户登录能力开放平台;
第三步:购买短信能力接口;(beta期间免费哟)
第四步:调用能力开放平台认证鉴权接口,获得认证码;
第五步:获得认证码以后,调用短信发送接口。
接口描述
认证鉴权接口 :
AuthRequestValue 格式如下:
TimeStamp + “$” + APID+ “$” + APUserAccount + “$” + FunID + “$” + Authenticator
其中Authenticator的生成算法如下:
Authenticator = Base64(SHA1 (TimeStamp + “$” + APID+ “$” + APUserAccount + “$” + FunID + “$” + APKEY))
其中, APKEY是能力开放平台颁发给该AP的密钥。
应答消息
AuthResponseValue格式如下:
Result + “$”+ TransactionID + “$”+ Token+ “$” + ErrorDescription+ “$” + TimeStamp
短信发送接口:
其中SendMsgRequestValue格式如下:
Token+ “$” + Phone + “$” + Msg + “$” + From
应答消息
SendMsgResponseValue格式:
Result
应用接入
接入流程简述
一个应用接入到能力开放平台,意味着以下两个方面:
(1)、该应用遵循能力开放平台APP接入规范,可以从能力开放平获取用户的ApKey
(2)、该应用符合能力开放平台API接入规范,可以调用能力开放平提供的丰富的API接口
一个应用要接入到能力开放平台,需要经过以下三个步骤:
(1).通过能力开放平台申请AP账号
(2).调用认证鉴权接口获得认证码
(3).使用获得的认证码来调用API
开发实例
C#的例子
public void SendMsg() { //1.调用能力管控认证鉴权接口,获取Token string authResult = AMCPForAP.Auth(AuthInterfaceURL, APID, FuncID, APUserID, APKey); string[] authResults = authResult.Split(’$’); int result = Int32.Parse(authResults[0]); if (result == 0) { //验证码 string token = authResults[2]; //接收号码 string num1 = "13888888888"; //消息内容 string msg = "hello"; //发送电话号码 string from = ""; //发送消息 this.Send(token, num1, msg, from); } //2.如果用户不存在,调用注册接口注册 else if (result == -10020) { string[] registerResults = AMCPForAP.APUserRegister(Int32.Parse(APID), APUserID, "02888888888", APKey, "http://localhost/InterfaceForAP/InterfaceForAP.asmx").Split(’$’); int registerResult = Int32.Parse(registerResults[0]); if (registerResult != 0) { return; } //3.再次调用能力管控认证鉴权接口,获取Token authResult = AMCPForAP.Auth(AuthInterfaceURL, APID, FuncID, APUserID, APKey); authResults = authResult.Split(’$’); result = Int32.Parse(authResults[0]); if (result == 0) { //验证码 string token = authResults[2]; //接收号码 string num1 = this.txtPhoneNumber.Text.Trim(); //消息内容 string msg = this.txtMsg.Text.Trim(); //发送电话号码 string from = ""; //发送消息 this.Send(token, num1, msg, from); } else { return; } } else { return; } } private void Send(string token, string num1, string msg, string from) { //生成请求字符串 string sendMsgRequest = "http://118.123.249.4/ims/ghsendim.php?SendMsgRequest=" + token + "$" + num1 + "$" + PSOCryptography.ConvertStringToBase64String(msg) + "$" + from; this.TextBox1.Text = sendMsgRequest; //发送短信 string sendResult = AMCPForAP.GetPageFromURL(sendMsgRequest); if (!sendResult.IndexOf("200") > 0) { //发送失败 return; } }
常见问题
1.什么是AP?
答:应用服务提供商。
2.什么是Token?
由能力控制平台生成的,AP调用能力时必须出示的凭证。
3.注册成为能力开放平台用户有什么资质要求吗?
答:只要您有固定的手机号和提供个人身份证号码即可。
4.正式环境介绍
答:在正式环境中,开发者操作的都是真实的数据。所进行的操作会对真实的交易数据产生影响,应用在线上测试以及上线运行中状态才可以访问正式环境,其调用次数会受到限制。
利好消息
如果你正在使用天翼的手机,如果你想要开发电信的3G业务,赶紧加入吧,
能力开放平台的地址:http://www.ctopen.cn/ 赶紧注册,beta期间多数能力是免费的。
如果你有兴趣写关于能力开放平台的Blog,请跟我联系,有机会获得免费长话的大礼包哟