体育万博app下载_manbetx客户端网页版_bet万博网站

体育万博app下载_manbetx客户端网页版_bet万博网站功能概述

               

1、体育万博app下载_manbetx客户端网页版_bet万博网站功能是指将用户发送的消息数据实时同步给第三方开发者的业务服务器。使用该功能之前,用户需要开通专有云,并通过云通讯管理控制台-IM专业功能配置-体育万博app下载_manbetx客户端网页版_bet万博网站选项添加抄送地址;如果未配置抄送地址,则不会进行体育万博app下载_manbetx客户端网页版_bet万博网站;

                           

2、云通讯提供普通体育万博app下载_manbetx客户端网页版_bet万博网站和高保障体育万博app下载_manbetx客户端网页版_bet万博网站两种方式。对于普通体育万博app下载_manbetx客户端网页版_bet万博网站,只进行一次抄送,抄送失败,将不再重发;对于高保障体育万博app下载_manbetx客户端网页版_bet万博网站,抄送消息时,若开发者服务器处于离线状态或者由于其他原因导致连接不上消息接收地址,导致抄送失败。云通讯会尝试抄送一定次数,若开发者服务器仍然无法连接,云通讯将停止抄送;

                           

3、第三方服务器在收到云通讯IM服务器请求时,需要在超时时间(5s)内返回HTTP   200的状态码,否则云通讯IM服务器会判定请求超时,该条请求发送失败。如果第三方消息接收接口在接收到消息之后,会做比较耗时的操作(例如DB入库等操作),建议将该接口做成异步机制(例如可以将消息先存到MQ中),以免被云通讯判定为超时;

                               

4、云通讯IM服务器通过HTTP   POST方式向第三方回调地址发送请求。为了保证消息的合法性,第三方服务器需要对该请求进行校验。校验规则如下:Hearder头中携带CheckSum、MD5、CurTime参数。第三方服务器收到云通讯请求后,生成CheckSum与云通讯Header中的CheckSum进行对比,如果一致,则校验通过。CheckSum生成规则如下:CheckSum=  MD5(AppId + AppToken+ MD5 + CurTime);

                           

5、为了保证数据安全性,建议开发者使用HTTPS协议来接收请求。

                          

CheckSum参数说明:                          

CheckSum= MD5(AppId + AppToken+ MD5 + CurTime),参数说明如下:          

参数

参数说明                                                                                                                      

AppId

登陆官网查看控制台→应用列表→应用管理→APP ID

AppToken

登陆官网查看控制台→应用列表→应用管理→APP TOKEN

MD5

MD5值为根据request body计算出来的值, 即MD5值 = md5(request body)

CurTime

当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的毫秒数(String)

                     

重要提示:                                

用于计算CheckSum的AppId和AppToken开发者应妥善保管,可在应用的服务器端存储和使用,但不应存储或传递到客户端,也不应在网页等前端代码中嵌入。

                                                                      

会话类型体育万博app下载_manbetx客户端网页版_bet万博网站

                                   

1、举例

   

  • MD5值计算举例String requestBody = "{}";
  • String MD5 = MD5(requestBody); 
  • CheckSum值计算举例
  • String AppId = "20150314000000110000000000000010";
  • String AppToken = "17E24E5AFDB6D0C1EF32F3533494502B";
  • String MD5 = "98949123123123123123123dasf61f7"; // 全大写,第三方可以在验证的时候忽略大小写
  • String CurTime = "1440570500855";  //当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的毫秒数(String)
  • String CheckSum = MD5(AppId + AppToken + MD5 + CurTime); // 全大写,第三方可以在验证的时候忽略大小写
  • HTTP示例:
  • POST   /receiveMsg   HTTP/1.1 
  • Host: 192.168.0.1:8883
  • Content-Type: application/json;
  • CurTime: 1440570500855;     
  • MD5: feec2cda404d7417b8b427e95748bb56; 
  • CheckSum: 001511b8435e0b28044ca50a78e8f983026c5e01

  • {"eventType":"1","convType":"CUSTOM_TEAM","to":"g811575162","fromAccount":"20150314000000110000000000000010#555555","fromClientType":"REST","fromDeviceId":"","fromNick":"555555","msgTimestamp":"1503997379456","msgType":"TEXT","body":"容联云通讯","attach":"","msgId":"A3A479603AD942ADBEE7FCB38E90F4B8|sNNp1H","resendFlag":"0","customSaveFlag":"","customApnsFlag":"","customApnsText":"","tMembers":["20150314000000110000000000000010#666666","20150314000000110000000000000010#888888"],"atUser":["20150314000000110000000000000010#666666"],"ext":"","linkInfo":"","antispam":"false"}
  • 注意:

    会话类型消息中,并不是每个字段都会一定抄送,请注意对各字段的判空处理。

    名称
    类型
    约束
    说明                                                                                           
    eventType
    String
    必选
    1,表示是会话类型的消息   4,表示是消息已读通知
    convType
    String
    必选
    会话具体类型: PERSON(单聊数据)、TEAM(群聊数据)、

    CUSTOM_PERSON(Rest个人推送)、
    CUSTOM_TEAM(Rest群组推送)、NOTIFY_TEAM(群组通知)

    to
    String
    必选

    若convType为PERSON,则to为消息接收者的用户账号,字符串类型;

    若convType为TEAM或CUSTOM_TEAM,则to为群组id;

    若convType为CUSTOM_PERSON,则to为“REST”固定字符串,

    接收者tMembers中存储;

    若convType为NOTIFY_TEAM,则to为群组id

    fromAccount
    String
    必选
    消息发送者的用户账号,字符串类型
    fromClientType
    String
    可选
    发送客户端类型: Android、IOS、IPAD、Android PAD、PC、H5、MAC、REST
    fromDeviceId
    String
    可选
    发送设备id,字符串类型
    fromNick
    String
    可选
    发送方昵称,字符串类型
    msgTimestamp
    String
    必选
    消息发送时间,long型
    msgType
    String
    必选

    会话具体类型PERSON、TEAM,CUSTOM_PERSON,CUSTOM_TEAM

    对应的通知消息类型:

    TEXT、// 文本

    PICTURE、 // 图片

    AUDIO、// 语音

    VIDEO、//视频

    LOCATION 、//位置

    FILE、 //文件消息

    FILE_COMPRESS、 //文件压缩

    LINK、//链接消息

    AT、//群组@消息会话具体类型NOTIFY_TEAM对应的通知消息类型:

    TEAM_APPLY、 //申请入群

    TEAM_INVITE、 //邀请进群

    TEAM_JOIN、//直接加入群

    TEAM_DISMISS、//解散

    TEAM_QUIT、//退出

    TEAM_KICK、//踢出

    TEAM_APPLY_ACCEPT、//同意入群申请

    TEAM_INVITE_ACCEPT、//同意入群邀请

    TEAM_APPLY_REJECT、 //拒绝入群申请

    TEAM_INVITE_REJECT、 //拒绝邀请

    TEAM_UPDATE、 //群信息更新

    TEAM_MEMBER_UPDATE、//成员信息更新

    TEAM_ADD_ADMIN、//管理员人员退出完后设置最近的人员为管理员通知

    TEAM_ROLE_UPDATE、//角色变更

    body
    String
    可选
    消息内容,字符串类型
    attach
    String
    可选
    附件URL下载地址,字符串类型
    msgId
    String
    必选
    服务端生成的消息id
    resendFlag
    String
    可选
    重发标记:0或者空不是重发, 1是重发。可转为Integer类型数据
    customSaveFlag
    String
    可选
    自定义消息是否存离线:0:不存,1:存。可转为Integer类型数据
    customApnsFlag
    String
    可选
    自定义消息是否进行离线推送,0 不推送离线 1推送离线
    customApnsText
    String
    可选
    自定义消息推送文本。字符串类型
    tMembers
    String
    可选

    convType为TEAM或CUSTOM_TEAM时含此字段,

    或者rest个人或多人推送消息也含有此字段

    跟本次群操作有关的用户userAcc或者推送的用户userAcc

    tMembers格式举例: { "tMembers":["20150314000000110000000000000010#123",

    "20150314000000110000000000000010#456"] }

    atUser
    String
    可选

    @用户的账号

    { "atUser":["20150314000000110000000000000010#123",

    "20150314000000110000000000000010#456"] }

    ext
    String
    可选
    消息扩展字段
    linkInfo
    String
    可选
    链接消息时,链接中的信息
    antispam
    String
    可选

    标识是否被反垃圾,仅在开启黑词校验,

    且为同步校验才有此字段,可转为Boolean类型数据