【使用必读】服务端集成网易云信IM 即时通讯-回调说明篇(一)

简介: 【使用必读】服务端集成网易云信IM 即时通讯-回调说明篇(一)

技术原理

开通第三方回调服务后,网易云信 IM 服务器会在客户端发送消息时,通过向您的应用服务器发送请求,将消息内容和用户信息发往应用服务器。您的应用服务器判断消息是否可以发送,并返回结果,网易云信 IM 服务器再选择是否投递消息。

第三方回调服务仅针对通过 SDK 发送的消息。通过服务端 API 发送的消息,不会触发第三方回调。


如果已开通第三方回调并配置消息相关回调,用户被拉黑后,给对方发消息,也会先进行第三方回调。


开通和配置第三方回调

使用第三方回调前,您需要在 网易云信控制台 上开通和配置 第三方回调。步骤详情请参考 开通和配置第三方回调。

第三方回调概述

请求相关项 说明
请求协议 HTTP/HTTPS,为保证数据安全,建议您使用 HTTPS
请求方式 POST,后面接您在 网易云信控制台 配置的第三方回调地址(通常为您的应用服务器地址),示例:POST https://******.com
消息格式 application/json; charset=utf-8
回调地址 对于部分回调类型(如单聊消息和群消息)来说,您可在发送消息时设置环境变量(env),服务器将根据不同的环境回调到不同的回调地址,环境和回调地址的映射关系需要在 网易云信控制台 配置,具体请参考上述步骤 3

校验方式

网易云信 IM 服务器请求您的应用服务器时,您的应用服务器从请求头 (request header)中获取 CheckSum 进行安全校验CheckSum = sha1(AppSecret + MD5 + CurTime),其中 AppSecret、MD5 和 CurTime 均为 String 类型在验证数据是否在传输过程中被篡改时,需要计算验证 MD5 值是否被修改,以及计算验证 CheckSumAppSecret 值为您的 AppSecret(与 AppKey 对应),MD5 值为根据请求体(request body)计算出来的值


请求次数 网易云信 IM 服务器只会请求 1 次
请求超时时间 超时时间为 2 秒如果请求失败或者超时,网易云信 IM 服务器会使用网易云信控制台上配置的默认回调结果继续处理业务逻辑您可前往 产品功能 > IM 即时通讯 > 基础功能 > 第三方回调 > 子功能配置 修改调用失败时的默认策略
消息放行结果 如果不放行,SDK 返回 403。如果放行,SDK 返回 7101

请求格式

请求头说明

Header 参数 类型 说明
AppKey String 您的应用的 App Key,具体获取方式请参考 获取 App Key
CurTime Long 当前 UTC 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数(Long)
MD5 String 根据请求中的 request body 计算出来的 MD5 值
CheckSum String 校验值
Content-Type String 请求消息体类型,一般为:application/json

MD5 值计算示例:

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

CheckSum 值计算示例:

String AppSecret = "90ud57s6****";
String MD5 = "9894907e4ad9de467809127750******";
String CurTime = "1440570500855"; 当前 UTC 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数(String)
String CheckSum = CheckSumBuilder.getCheckSum(AppSecret, MD5, CurTime); //参考 接口概述 -> API checksum 校验 部分

请求的 HTTP Body 说明

消息体统一为 JSON 格式,示例:

JSON
{
    "body": "Hello",
    "eventType": 1,
    "fromAccount": "000266",
    "fromClientType": "WEB",
    "fromDeviceId": "617715aa8579db03f0cf054c199c****",
    "fromNick": "yj000266",
    "msgTimestamp": "1541560157286",
    "msgType": "TEXT",
    "msgidClient": "",
    "to": "005877",
    "fromClientIp":"115.211.**.**",
    "fromClientPort":"568**"
}

//Json 中的属性请参考具体的回调类型

响应格式说明

第三方回调响应的 Content-Type Header 需要设置为 application/json; charset=utf-8

响应消息体为 JSON 格式,示例:

JSON
{
    "errCode":0,
    "responseCode": 20000,
    "modifyResponse": {},
    "callbackExt": "aa"
}


image.png

【使用必读】服务端集成网易云信IM 即时通讯-回调说明篇(二):https://developer.aliyun.com/article/1566293

目录
相关文章
|
3月前
|
前端开发 JavaScript 网络安全
Web网页端即时通讯源码/IM聊天源码RainbowChat-Web
RainbowChat-Web是一套基于MobileIMSDK-Web的网页端IM系统。不同于市面上某些开源练手或淘宝售卖的demo级代码,RainbowChat-Web的产品级代码演化自真正运营过的商业产品,其所依赖的通信层核心SDK已在数年内经过大量客户及其辐射的最终用户的使用和验证。RainbowChat-Web同时也是移动端IM应用RainbowChat的姊妹产品。
123 0
|
移动开发 网络协议 小程序
基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v10.0版已发布
RainbowChat是一套基于开源IM即时通讯聊天框架 MobileIMSDK 的产品级移动端IM系统。RainbowChat源于真实运营的产品,解决了大量的屏幕适配、细节优化、机器兼容问题。RainbowChat可能是市面上提供im即时通讯聊天源码的,唯一一款同时支持TCP、UDP两种通信协议的IM产品。与姊妹产品RainbowTalk和RainbowChat-Web 技术同源,历经考验。
14 0
基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v10.0版已发布
|
1月前
|
数据安全/隐私保护 容器 Go
开源IM即时通讯系统调研
Lumen IM 是一款企业级开源即时通讯工具,前端采用 Vue3 + Naive UI,后端基于 Go 语言,使用 WebSocket 协议。支持 Docker + Nginx 快速部署,适合私有化环境。功能包括文本、图片、文件消息,内置笔记、群聊及消息历史记录。界面美观、功能完善,适用于企业沟通、团队协作及开发者学习。提供前后端源码,便于快速搭建 IM 系统。
开源IM即时通讯系统调研
|
1月前
|
移动开发 网络协议 小程序
鸿蒙NEXT即时通讯/IM系统RinbowTalk v2.4版发布,基于MobileIMSDK框架、ArkTS编写
RainbowTalk是一套基于开源即时通讯讯IM框架 MobileIMSDK 的产品级鸿蒙NEXT端IM系统。纯ArkTS编写、全新开发,没有套壳、也没走捷径,每一行代码都够“纯血”。与姊妹产品RainbowChat和RainbowChat-Web 技术同源,历经考验。
77 1
|
2月前
|
缓存 移动开发 网络协议
纯血鸿蒙NEXT即时通讯/IM系统:RinbowTalk正式发布,全源码、纯ArkTS编写
RainbowTalk是一套基于MobileIMSDK的产品级鸿蒙NEXT端IM系统,目前已正式发布。纯ArkTS、从零编写,无套壳、没走捷径,每一行代码都够“纯”(详见:《RainbowTalk详细介绍》)。 MobileIMSDK是一整套开源IM即时通讯框架,历经10年,超轻量级、高度提炼,一套API优雅支持 UDP 、TCP 、WebSocket 三种协议,支持 iOS、Android、H5、标准Java、小程序、Uniapp、鸿蒙NEXT,服务端基于Netty编写。
191 1
|
2月前
|
测试技术 开发工具 git
基于WebSocket即时通讯im源码| uniapp即时通讯源码| 私有化部署SDK视频安装教程
本项目是基于 ThinkPHP7 和 Swoole 构建的即时通讯 IM 源码,打造了一个简洁美观、移动优先的渐进式 Web 应用。支持从源码构建,并提供详细的安装、配置与使用说明。仓库地址:im.jstxym.top。
|
4月前
|
网络协议 Java 网络安全
全平台开源即时通讯IM聊天框架MobileIMSDK的服务端开发指南,支持鸿蒙NEXT
全平台开源即时通讯IM聊天框架MobileIMSDK的服务端开发指南,支持鸿蒙NEXT
281 4
|
5月前
|
网络协议 Java 开发工具
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
297 1
|
9月前
|
机器学习/深度学习 自然语言处理 监控
智能客服系统集成技术解析和价值点梳理
在 2024 年的智能客服系统领域,合力亿捷等服务商凭借其卓越的技术实力引领潮流,它们均积极应用最新的大模型技术,推动智能客服的进步。
418 7

热门文章

最新文章