现在有个项目要做联通的sp增值,文档方面,联通给了一份短消息网关协议sgip1.2 。公司要求实现,用户通过短信订阅我们的服务。 sgip协议文档只有一些命令,看也不是很懂,网上找不到什么资料,或者说找到了,我还是不明白吧。希望有这方面经验的好人,能指点一下,万分感谢啊.....

解决方案 »

  1.   

    建议java、.net吧!PHP可以用来做应用!
      

  2.   

    java也可以,只是现在不知道如何入手啊...
      

  3.   

    我知道的几家公司都是用java 做这个.
    sgip协议文档 还有技术文档 仔细看那个技术文档就基本上知道思路了
      

  4.   

    现在就只有sgip协议文档,其他都没有,sgip协议文档只是一些命令格式等,但是我不知道怎么发送.
      

  5.   


    找他们要技术文档 我记得还有小小的demo但是不是php的.这明显没有给完整给你.技术规范
    FAQ及样例
    给SP的校验工具
    接口规范-xxxx
    各种文档一下为旧文档的部分内容...5 SP业务定购WEB调用接口
     接口说明:用户在SP网站上登录,选择订购的产品,在SP网站完成预订购过程。预订购时SP调用此接口,接口方式为标准的HTTP,参数传递采用GET方式,传递的参数包含SP代码、用户手机号码、业务代码、定购时间。其中SP代码采用明文传递,其他参数采用SP的密钥加密,SP密钥由SP管理系统和SP共同保存。SP管理系统返回给SP预订购请求是否成功。
     HTTP调用参数:
    序号 参数 最大长度
    (字节) 含义 说明
    1 SpNumber 21 SP的接入号码 不能为空
    2 AccessTime 20 定购时间 格式:YYYY-MM-DD HH:MI:SS
    3 EncodeStr 255 以3DES按ECB模式加密算法加密字符串(SP接入号码$用户手机号$操作命令字$定退时间),然后用BASE64算法和URLEncoding算法进行编码 不能为空,EncodeStr生成算法如下:
    EncodeStr = URLEncoding(Base64(Encrypt(SpNumber + “$”+ UserNumber + “$”+ ServiceTag + “$”+ AccessTime )))
    URLEncoding是指对BASE64编码中的HTML控制码进行转义的过程,其具体实现参见RFC1738。
    Encrypt加密算法采用3-DES算法,密钥为64位。调用示例:
    http://www.unispms.com/subscription/serviceredir.aspx?SPNumber=9999&AccessTime=2004-02-28 10:10:10&EncodeStr=KIQWNWEQREQWK921343KJASDFASD
    (示例,此URL并不存在)
    EncodeStr中加密前的样例为:9999$13000000000$ TYDZ$2004-02-28 10:00:00(表示定制体育新闻业务)
     HTTP调用返回参数
    A. SPMS处理成功:返回“OK”。
    B. SPMS处理失败:返回“Error$[错误码]”。2.6 SP业务点播用户确认接口
     用户身份验证:SP必须先对用户以手机号注册,注册成功并登陆SP社区后用户才能发起业务点播请求,即SP必须保证点播用户的真实性。
     接口说明:用户在SP站点上点播业务时,需要确认该点播是由用户主动发起,所以要求用户点播时输入由SPMS提供的点播确认码(该点播确认码是由SPMS以短信方式下发给在网上进行点播操作的用户手机)。
     HTTP点播调用参数
    序号 参数 最大长度
    (字节) 含义 说明
    1 SPNumber 21 SP接入号码 不能为空
    2 AccessTime 20 点播时间 格式:YYYY-MM-DD HH:MI:SS。
    3 EncodeStr 255 以3DES按ECB模式加密算法加密字符串(SP接入号码$用户手机号$操作命令字$点播时间),然后用BASE64算法和URLEncoding算法进行编码 不能为空, 用户手机为网上操作点播的用户;对于无命令字的业务填写####EncodeStr生成算法如下:
    EncodeStr = URLEncoding(Base64(Encrypt(SpNumber + “$”+ UserNumber + “$”+ ServiceTag + “$”+ AccessTime )))
    URLEncoding是指对BASE64编码中的HTML控制码进行转义的过程,其具体实现参见RFC1738。
    Encrypt加密算法采用3-DES算法,密钥为64位。调用示例:
    http://www.unispms.com/subscription/servicepull.aspx?SPNumber=9999&AccessTime=2004-03-01 10:10:10&EncodeStr=KIQWNWEQREQWK921343KJ
    (示例,此URL并不存在)
    EncodeStr中加密前的样例为:9999$13000000000$####(针对游戏)$2004-03-01 10:10:10(表示点播cs游戏业务)
     HTTP点播调用返回参数
    SP调用HTTP点播接口后,返回调用结果。
    A. 处理成功:返回“OK”。
    B. 处理失败:返回“Error$” + 错误码。
     处理流程
    A. 用户在SP站点点播业务时,SP网站向SP管理系统的获取点播接口提交一个请求。接口方式为标准的HTTP,若处理成功,返回值“OK”。
    B. SPMS将给网上点播操作的用户的手机发送点播确认码。
    C. SP网站将提供一个点播确认码输入显示在订购的页面上,用户填写点播确认码,用户提交点播请求,SP将点播确认码作为LinkID,填写到MT包中的Reserved字段中,提交MT到SPSMG。
    SPSMG接收到此MT请求,交给SP管理系统中的业务鉴权中心,业务鉴权中心读取数据库,发现此LinkID(点播确认码)有效,允许发送。
      

  6.   

    联通的应该是socket的,应该是通过socket方式发送命令字和接收数据的,你好好看协议。PHP也可以做,不过有额先天不足的地方,放入守护进程中有问题,可以看看java的socket操作那一块!
      

  7.   

    大多都是基于webservice  或者就是post get的交互
      

  8.   

    可以给我一份么 最好是php的 SGIP的Submit操作