无 UI 集成方案

服务端 API

有奖征文|投稿上云技术实践,赢取价值5000元大奖> HOT

登录 即时通信 IM 控制台 ,单击目标应用卡片,在左侧导航栏选择回调配置,您可以根据实际业务需求配置回调 URL 以及启用哪些回调。

基础回调配置

配置回调 URL

  1. 回调配置页面,单击回调URL配置区域的编辑
  2. 在弹出的回调 URL 配置对话框中,输入回调 URL。
说明:

  • 新的回调地址在修改成功2分钟后生效。
  • 回调 URL 必须以http://https://开头。
  • 若您暂未申请域名,可直接配置 IP,例如http://123.123.123.123/imcallback
  • 只能使用英文字母(a~z,不区分大小写)、数字(0~9)以及连接符(-)。 不支持使用空格及以下字符: !$&?等。
  • 连接符(-)不能连续出现、不能单独注册,也不能放在开头和结尾。
  • 域名长度不超过63个字符。
  • 回调 URL中 IM 默认带80/443端口,更换回调 URL 时涉及端口变化,需避免更换前后的端口互为前缀,比如避免把 https://xxx:443 更改为 https://xxx:4433 或者 https://xxx 更改为 https://xxx:4433。
  1. 单击确定保存配置。

配置事件回调

  1. 回调配置页面,单击第三方回调配置区域的编辑
  2. 在弹出的第三方回调配置对话框中,勾选所需的回调。
  3. 单击确定保存配置。

下载 HTTPS 双向认证证书

配置回调 URL 后,您可以在控制台下载 HTTPS 双向认证证书供后续使用。

说明:

您可以根据实际需求配置双向认证,具体配置方法参见 双向认证配置

  1. 进入 控制台回调配置 页面,单击右上角回调 URL 配置区域的HTTPS 双向认证证书下载
  2. 在弹出的证书下载对话框中,单击下载
  3. 保存证书文件。

后续操作

配置回调 URL 并启用相应的事件回调后,您可以参考 第三方回调 使用相应的回调功能,实时了解用户信息和操作。

内容回调配置

分场景配置内容回调

步骤1:获取内容回调 URL 和 Token

从第三方内容安全产品(目前仅支持 腾讯云内容安全产品)获取内容回调 URL和 Token。

步骤2:进行内容回调配置

根据您业务诉求,将从第三方内容安全产品(目前仅支持 腾讯云内容安全产品)获取的内容回调 URL 和 Token 填写至 即时通信 IM 控制台。详细步骤如下:

  1. 进入 即时通信 IM 控制台 > 回调配置 > 内容回调配置,单击页面内模块右上角的编辑
  2. 编辑弹窗中,填入从第三方内容安全产品处获取的内容回调 URL 和 Token,并勾选需要生效的回调内容类型,单击确定。
    注意:

    同一内容回调 URL 和 Token,可填写至多个 IM 应用的多个内容回调配置模块内。

  3. 查看回调配置和已生效回调内容类型/回调字段。

内容回调结果配置

返回内容回调结果

对于第三方内容安全服务的审核结果,可以通过配置,使用基础回调的方式将结果转发给 App 后台。
开关开启后,内容回调的结果将通过基础回调抄送到 App 后台,支持拦截、所有结果的配置选项。

开启返回内容回调结果

步骤1:单击内容回调结果配置模块的“编辑”按钮。

步骤2:打开返回内容回调结果的开关,并确认弹窗内容。

注意:

内容回调结果将发送至您在基础配置中配置的 URL 地址,请您在开启此功能前,确保已 配置基础回调

步骤3:选择结果返回方式,完成选择后,单击确认即可。

注意事项
  • 基础回调和内容回调的区别在于回调的方向。基础回调的方向是即时通信 IM 后台向 App 后台发起审核请求,而内容回调是即时通信 IM 后台向 第三方内容安全服务发起的审核请求。
  • 要启用本回调,必须配置基础回调 URL,配置方法详见 第三方回调配置 文档。并在内容回调中打开本回调开关。
  • App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。

接口说明

请求 URL 示例

以下示例中 App 配置的回调 URL 为 https://www.example.com
示例:

https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json

请求参数说明

参数 说明
https 请求协议为 HTTPS,请求方式为 POST
www.example.com 回调 URL
SdkAppid 创建应用时在即时通信 IM 控制台分配的 SDKAppID
CallbackCommand 固定为:ContentCallback.ResultNotify
contenttype 请求包体固定为 JSON

请求包示例

{
    "Scene":"C2C",
    "SdkAppId":1400187352,
    "From_Account":"jared",
    "ContactItem":{
        "ContactType":1,
        "To_Account":"Jonh"
    },
    "ContentType":"Text",
    "TextContent":[
        "aaabbbccc",
        "1234567"
    ],
    "MsgID":"1434460578_4137340972_1661154487",
    "CtxcbResult":1,
    "CtxcbRequestId":"241ed925-4c56-4357-95dd-1e6e7798f214"
}

请求包字段说明

字段 类型 说明
Scene String 送审场景:
单聊=C2C;
单聊自定义消息=C2CCustom;
群聊=Group;
群聊自定义消息=GroupCustom;
群资料=GroupInfo;
群成员资料=GroupMemberInfo;
关系链=RelationChain;
用户资料=UserInfo;
From_Account String 送审内容的发起者 UserID
ContactItem Object 消息送审时,表示消息接收对象
ContactType Integer 消息送审时,区分接受对象为群组或单聊。
ContactType=1表示单聊;
ContactType=2表示群聊;
To_Account String ContactType=1时,表示消息接收方UserID
ToGroupId String ContactType=2时,表示消息接收方GroupID
ContentType String 表示送审的内容类型:
文本=Text;
图片=Image;
音频=Audio;
视频=Video
TextContent String 当ContentType为Text时,表示送审的文本内容
FileURL String 当ContentType为Image/Audio/Video时,表示送审的文件URL
MsgID String 单聊送审,MsgID为单聊消息MsgKey;群聊送审,MsgID为群聊消息 MsgSeq。
CtxcbResult Integer 第三方内容服务审核结果,1表示拦截;0表示放过。
CtxcbRequestId String 第三方内容服务审核标示

应答包示例

{
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0 // 0为回调成功,1为回调出错
}

应答包字段说明

字段 类型 属性 说明
ActionStatus String 必填 请求处理的结果,OK 表示处理成功,FAIL 表示失败
ErrorCode Integer 必填 错误码

参考

下发拦截错误码

针对图文同步审核,默认下发拦截错误码,即消息发送方会收到消息被拦截的错误码提示。
如果需要发送方对单聊或群聊的消息拦截无感知,即拦截的消息,发送方返回成功,但不再下发至接收。可通过关闭“下发拦截错误码”开关实现。具体操作如下:
步骤1:单击内容回调结果配置模块的编辑

步骤2:关闭下发拦截错误码的开关,单击确认即可。

常见问题

什么场景下选择“内容回调”,而不是“发消息前回调”?

如果您有内容审核需求,请选择“内容回调”。
相比于“发消息前回调”,“内容回调”不仅覆盖了需要审核内容的全场景,还通过直接对接第三方内容安全产品的方式,避免了额外开发量,降低了消息发送时延。

怎么配置图片的同步审核?

在 URL 的配置中添加 URL 参数SyncImage,即 URL 添加一个 &SyncImage 的后缀就可以支持图片同步送审了。

目录