|
| 1 | +--- |
| 2 | +title: 创建群聊对话前的回调 |
| 3 | +hide_title: true |
| 4 | +--- |
| 5 | + |
| 6 | +# 在创建群聊对话前的回调 |
| 7 | + |
| 8 | +## 功能说明 |
| 9 | + |
| 10 | +App 业务服务端可以通过该回调实时对用户的群聊对话创建进行操作,如:对发群聊对话创建进行实时记录、允许创建群聊对话。 |
| 11 | + |
| 12 | +## 注意事项 |
| 13 | + |
| 14 | +- 为启用回调,必须配置回调 URL,并开启本条回调协议对应的开关。配置方法详见 [回调说明](../introduction) 文档。 |
| 15 | +- 回调的方向是 OpenIMServer 向 App 后台发起 HTTP/HTTPS POST 请求。 |
| 16 | +- APP 业务服务端需在超时时间内响应此请求。 |
| 17 | + |
| 18 | +## 可能触发该回调的场景 |
| 19 | + |
| 20 | +- App 用户通过客户端创建群聊对话。 |
| 21 | + |
| 22 | +## 回调发生时机 |
| 23 | + |
| 24 | +- OpenIMServer 收到用户创建群聊对话之后、将该信息下发给目标用户之前。 |
| 25 | + |
| 26 | +## 接口说明 |
| 27 | + |
| 28 | +### 请求 URL 示例 |
| 29 | + |
| 30 | +此处`CallbackCommand`为:`callbackBeforeCreateSingleChatConversationsCommand` |
| 31 | + |
| 32 | +```plaintext |
| 33 | +{WEBHOOK_ADDRESS}/callbackBeforeCreateSingleChatConversationsCommand?contenttype=json |
| 34 | +``` |
| 35 | + |
| 36 | +### 请求包示例 |
| 37 | + |
| 38 | +```json |
| 39 | +{ |
| 40 | + "callbackCommand": "callbackBeforeCreateSingleChatConversationsCommand", |
| 41 | + "ownerUserId": "123228123", |
| 42 | + "conversationId": "sg_215808001", |
| 43 | + "conversationType": 3, |
| 44 | + "groupId": "215808001", |
| 45 | + "recvMsgOpt": 0, |
| 46 | + "isPinned": false, |
| 47 | + "isPrivateChat": false, |
| 48 | + "burnDuration": 0, |
| 49 | + "groupAtType": 0, |
| 50 | + "attachedInfo": "", |
| 51 | + "ex": "Extra conversation data" |
| 52 | +} |
| 53 | +``` |
| 54 | + |
| 55 | +### 请求包字段说明 |
| 56 | + |
| 57 | +| 对象 | 类型 | 描述 | |
| 58 | +| ---------------- | ------- | ------------------------------------------------------------------------- | |
| 59 | +| callbackCommand | string | 回调命令,这里是创建群聊对话前的回调 | |
| 60 | +| ownerUserId | string | 会话的拥有者用户 Id | |
| 61 | +| conversationId | string | 会话 Id | |
| 62 | +| conversationType | int | 会话类型,1 为单聊,3 为群聊 | |
| 63 | +| groupId | string | 会话群组 Id,当会话类型为 3 时,此字段生效 | |
| 64 | +| recvMsgOpt | int | 接收消息参数,0 为接收消息;1 为不接收消息;2 为接收消息但不提醒 | |
| 65 | +| isPinned | boolean | 会话是否置顶 | |
| 66 | +| isPrivateChat | boolean | 是否开启阅后即焚 | |
| 67 | +| burnDuration | int | 阅后即焚消息持续时间 | |
| 68 | +| groupAtType | int | 群会话公告强提示类型,群公告有人**@ownerUserID** , **@全体** 的特殊标识符 | |
| 69 | +| attachedInfo | string | openIM 使用的拓展字段 | |
| 70 | +| ex | string | 用户使用的拓展字段 | |
| 71 | + |
| 72 | +## 应答包示例 |
| 73 | + |
| 74 | +### 允许创建 |
| 75 | + |
| 76 | +允许创建群聊对话。 |
| 77 | + |
| 78 | +```json |
| 79 | +{ |
| 80 | + "actionCode": 0, |
| 81 | + "errCode": 0, |
| 82 | + "errMsg": "", |
| 83 | + "errDlt": "", |
| 84 | + "nextCode": "", |
| 85 | + "recvMsgOpt": 1, |
| 86 | + "isPinned": true, |
| 87 | + "isPrivateChat": false, |
| 88 | + "burnDuration": 30, |
| 89 | + "groupAtType": 0, |
| 90 | + "attachedInfo": "Modified attached info", |
| 91 | + "ex": "Modified extra data" |
| 92 | +} |
| 93 | +``` |
| 94 | + |
| 95 | +## 应答包字段说明 |
| 96 | + |
| 97 | +| 字段 | 值 | 说明 | |
| 98 | +| ------------- | ---------- | --------------------------------------------------------------------------------------------------- | |
| 99 | +| actionCode | 0 | 表示业务系统的回调是否正确执行。`0`表示操作成功。 | |
| 100 | +| errCode | 5001 | 表示自定义错误码,范围在 5000-9999 之间。在 actionCode 不等于 0 时设置;在 nextCode 等于 1 时设置。 | |
| 101 | +| errMsg | "An error message" | 自定义错误码对应的简单错误信息。 | |
| 102 | +| errDlt | "Detailed error information" | 自定义错误码对应的详细错误信息。 | |
| 103 | +| nextCode | 1 | 下一步执行指令,`1`表示拒绝继续执行,actionCode 等于`0`时设置。 | |
| 104 | +| recvMsgOpt | int | 接收消息参数,0 为接收消息;1 为不接收消息;2 为接收消息但不提醒 | |
| 105 | +| isPinned | boolean | 会话是否置顶 | |
| 106 | +| isPrivateChat | boolean | 是否开启阅后即焚 | |
| 107 | +| burnDuration | int | 阅后即焚消息持续时间 | |
| 108 | +| groupAtType | int | 群会话公告强提示类型,群公告有人**@ownerUserID** , **@全体** 的特殊标识符 | |
| 109 | +| attachedInfo | string | openIM 使用的拓展字段 | |
| 110 | +| ex | string | 用户使用的拓展字段 | |
0 commit comments