消息抄送服务概述

更新时间: 2024/05/22 18:29:35

网易云信服务端提供消息抄送功能,支持将您应用的消息和事件等数据,实时同步至您预设的服务器,满足您的应用对于业务数据本地存储的需求。

技术原理

消息抄送的流程如下:

  1. 开发者应用客户端通过网易云信服务端收发消息和事件通知等数据。

  2. 网易云信服务端向开发者服务端发送 HTTP-POST 请求(用 JSON 格式body 来承载数据内容)。

  3. 请求通过后,开发者服务端解析来自网易云信的 POST 请求获取相应的数据内容。

    接收消息抄送的服务器,可以是您的应用服务器,也可以是第三方服务器。上图仅以指定应用服务器接收消息抄送作为示例。

使用前提

开通服务

您需先前往 网易云信控制台,开通 消息抄送服务,才能使用该服务。

自实现逻辑

  • 使用消息抄送服务前,建议您在预设的服务器实现如下逻辑处理消息抄送:

    处理逻辑
    说明
    异步机制
    • 消息抄送的超时时间是 5 秒,如果在 5 秒内收到预设服务器返回 HTTP 200HTTP 500 状态码,则认为抄送成功,否则认为抄送失败。因此,如果您在接收到同步数据后,需要做比较耗时的操作(如数据库入库),那么需要在预设服务器接收抄送的接口实现 异步机制(例如可以将消息先存到消息队列中),以免被网易云信判定为超时。
    • 如果有特殊需求不能丢弃同步数据,请通过网易云信官网首页提供的联系方式联系商务经理开通 高保障抄送。开通后,如果抄送失败,网易云信服务端将会尝试重新抄送一定次数(目前最多 1000 次)。
    • 如果预设服务器接收消息抄送的接口在一段时间内持续无法响应,网易云信服务端支持最多缓存 50 万条消息,且仅保留最近 30 天的抄送消息。待接收接口恢复后,您可以联系网易云信技术支持工程师申请重新抄送。

    去重机制 考虑到网络环境的不稳定,为了确保开发者的接收接口能收到抄送的消息,网易云信可能会重复发送同一条消息,建议您对所收到的消息与事件通知进行一定的 去重操作
  • 消息抄送服务开发者接口示例

请求格式

消息抄送请求的 Content-Typeapplication/json,而非application/x-www-form-urlencoded,请 注意区分解析方式

请求头说明

在验证数据是否在传输过程中被篡改时,需要计算验证MD5值是否被修改,以及计算验证CheckSum

Header 参数
类型
说明
AppKey String 抄送事件所属的应用的 App Key。
CurTime String 当前 UTC 时间戳,从 1970 年 1 月 1 日 0 时 0 分 0 秒开始到现在的 毫秒数
CheckSum String sha1(AppSecret + MD5 + CurTime),其中AppSecret 值为应用的AppSecret(请勿与AppKey混淆)。
MD5 String 根据request body计算出来的值,即MD5 = md5(request body)

MD5 计算示例

javaString requestBody = "{}";
String MD5 = CheckSumBuilder.getMD5(requestBody); //参考 接口概述 -> API checksum 校验 部分

CheckSum 计算示例

javaString AppSecret = "90u757h67n87"; //注意:此处是 AppSecret,不是 AppKey。
String MD5 = "9894907e4ad9de4678091277509361f7";
String CurTime = "1440570500855"; ////当前 UTC 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数(String)
String CheckSum = CheckSumBuilder.getCheckSum(AppSecret, MD5, CurTime); //参考 接口概述 -> API checksum 校验 部分

抄送消息类型

IM 登录

eventType
说明
2 LOGIN消息,即用户登录事件的消息。
3 LOGOUT消息,即用户登出/离线事件的消息。
42 长连接心跳抄送。
84 登录失败抄送。

IM 会话消息

eventType
说明
1 CONVERSATION消息,即会话类型的消息(目前包括单聊会话内消息与自定义系统通知,群聊会话内消息与自定义系统通知,以及网易云信内置系统通知)。

IM 会话已读

eventType
说明
85 会话(单聊和群聊)已读数据抄送。

单聊

eventType
说明
7 表示单聊消息撤回抄送。
30 表示单聊(点对点)消息已读回执抄送。

群聊

eventType
说明
8 表示群聊消息撤回抄送。
25 表示超大群聊消息撤回抄送。

聊天室

eventType
说明
4 CHATROOM消息,即聊天室中聊天的消息。
9 CHATROOM_INOUT信息,即汇报主播或管理员进出聊天室事件消息,及全员进出聊天室事件消息。
14 CHATROOM_QUEUE_OPERATE信息,即汇报聊天室队列操作的事件消息。

圈组

eventType
说明
47 圈组登录登出抄送
48 圈组消息抄送
49 圈组自定义系统通知抄送
50 创建圈组服务器抄送
51 更新圈组服务器抄送
52 删除圈组服务器抄送
53 邀请加入圈组服务器抄送
54 接受加入圈组服务器邀请抄送
55 拒绝加入圈组服务器邀请抄送
56 申请加入圈组服务器抄送
57 接受加入圈组服务器申请抄送
58 拒绝加入圈组服务器申请抄送
59 主动离开圈组服务器抄送
60 踢除圈组服务器成员抄送
61 修改圈组服务器中自身信息抄送
62 修改圈组服务器中他人信息抄送
63 创建频道抄送
64 删除频道抄送
65 修改频道信息抄送
66 修改频道黑白名单身份组抄送
67 修改频道黑白名单成员抄送
68 创建圈组服务器身份组抄送
69 更新圈组服务器身份组抄送
70 删除圈组服务器身份组抄送
71 创建频道身份组抄送
72 更新频道身份组抄送
73 删除频道身份组抄送
74 在频道下为某个人定制权限抄送
75 删除频道下某人的定制权限抄送
76 更新频道下某个人的定制权限抄送
77 拉人进某圈组服务器身份组抄送
78 踢人出某圈组服务器身份组抄送
79 批量更新圈组服务器身份组优先级抄送
80 圈组快捷评论抄送
81 圈组更新消息抄送
82 圈组更新自定义系统通知抄送

IM 日志

eventType
说明
36 SDK 日志上传的抄送。

第三方回调失败

eventType
说明
83 第三方回调失败的抄送。

内容审核

eventType
说明
20 易盾异步反垃圾结果信息,仅抄送反垃圾结果为 命中 状态的详细信息。目前支持单聊(点对点)、群聊、聊天室三类语音、视频消息。

音视频通话 1.0

eventType
说明
5 表示 AUDIO/VEDIO/DataTunnel 消息,即汇报实时音视频通话 1.0 通话时长、白板事件时长的消息。
6 音视频通话 1.0/白板文件存储信息,即汇报音视频通话 1.0/白板文件的大小、下载地址等消息。
13 AVROOM_INOUT信息,即汇报用户进出音视频通话 1.0/白板房间的消息。
26 音视频通话 1.0 的音视频房间结束的消息。
28 音视频通话 1.0 的音视频房间开始的消息。

音视频通话 2.0

eventType
说明
21 音视频通话 2.0 的AUDIO/VEDIO消息,即汇报 G2 实时音视频通话时长。
22 音视频通话 2.0 的音视频文件存储信息,即汇报 G2 音视频文件的大小、下载地址等消息。
23 音视频通话 2.0 的用户进出音视频房间的消息。
27 音视频通话 2.0 的音视频房间结束的消息。
29 音视频通话 2.0 的音视频房间开始的消息。

上述类型为音视频通话 2.0 未维护的抄送类型,不推荐新用户使用,音视频通话 2.0 当前抄送类型请参考 实时音视频事件

互动直播

eventType
说明
35 RTMP 事件抄送。

短信

eventType
说明
11 SMS_CALLBACK 信息,即汇报短信回执抄送的消息。
12 SMS_REPLY 信息,即汇报短信上行消息。

信令

eventType
说明
31 独立信令抄送。

专线电话

eventType
说明
10 ECP_CALLBACK信息,即汇报专线电话通话结束回调抄送的消息。
此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 使用前提
  • 开通服务
  • 自实现逻辑
  • 请求格式
  • 请求头说明
  • MD5 计算示例
  • CheckSum 计算示例
  • 抄送消息类型
  • IM 登录
  • IM 会话消息
  • IM 会话已读
  • 单聊
  • 群聊
  • 聊天室
  • 圈组
  • IM 日志
  • 第三方回调失败
  • 内容审核
  • 音视频通话 1.0
  • 音视频通话 2.0
  • 互动直播
  • 短信
  • 信令
  • 专线电话