利用电信能力开放平台轻松开发短信应用

中国电信在最近开放了其能力平台,现在这个项目正处于beta1的状态,利用能力平台,开发者可以轻松的通过统一的API调用电信提供的多种能力,包括语音呼叫(多方通话)、短信、IVR、GPSOne定位等多种能力,并且将这些能力整合成自己的特色应用,通过电信的MM平台向所有中国电信的3G用户推广,销售,并从中获取收益。相对于iphone和android的平台,电信的能力开放平台更加接近运营商的核心业务,合理利用可以创造更加独特的应用。

本文用一个短信应用作为例子来看看这一切是多么的简单。

image

第一步:用户注册成为能力开放平台AP;
第二步:用户登录能力开放平台;
第三步:购买短信能力接口;(beta期间免费哟
第四步:调用能力开放平台认证鉴权接口,获得认证码;
第五步:获得认证码以后,调用短信发送接口。

接口描述

认证鉴权接口

image

AuthRequestValue 格式如下:

TimeStamp + “$” + APID+ “$” + APUserAccount + “$” + FunID + “$” + Authenticator

其中Authenticator的生成算法如下:

Authenticator = Base64(SHA1 (TimeStamp + “$” + APID+ “$” + APUserAccount + “$” + FunID + “$” + APKEY))

其中, APKEY是能力开放平台颁发给该AP的密钥。

应答消息

image

AuthResponseValue格式如下:

Result + “$”+ TransactionID + “$”+ Token+ “$” + ErrorDescription+ “$” + TimeStamp

短信发送接口:

image

其中SendMsgRequestValue格式如下:

Token+ “$” + Phone + “$” + Msg + “$” + From

应答消息

image

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,请跟我联系,有机会获得免费长话的大礼包哟

posted on 2009-12-04 22:39  亚历山大同志  阅读(6526)  评论(31编辑  收藏  举报

导航