> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

当开发者订阅了低代码智能体发布回调事件后，开发者发布智能体时，扣子编程会向指定的回调地址推送回调消息。订阅回调的具体操作请参见[订阅回调](/dev_how_to_guides/add_callback)。
## 触发条件 {#2e6a54aa}
开发者发布低代码智能体时，扣子编程会向指定的回调地址发送回调消息，消息中包含智能体和开发者的基本信息。如果渠道入驻时配置了渠道授权，发布智能体时扣子编程将获取开发者的渠道用户 ID，此 ID 也会包含在回调消息中一起发送到渠道侧。
智能体发布回调事件的触发条件如下：
<!-- @cols-width: 100,400,312 -->
| | | | \
|**回调类型** |**个人版** |**企业版（企业标准版、企业旗舰版）** |
|---|---|---|
| | | | \
|普通回调 |仅**空间所有者**可订阅，当工作空间中任意智能体被发布至扣子编程官方渠道或公共渠道时，对应的回调地址会收到智能体发布回调事件。 |仅**超级管理员和管理员**可订阅，当企业内任意智能体被发布至扣子编程官方渠道或公共渠道时，对应的回调地址会收到智能体发布回调事件。 |
| | | | \
|渠道回调 |仅**自定义渠道创建者**可订阅，当智能体发布至该自定义渠道时，对应的回调地址会收到智能体发布回调事件。 |仅**超级管理员和管理员**可订阅，当智能体发布至该自定义渠道时，对应的回调地址会收到智能体发布回调事件。 |

## 回调响应要求 {#709969d7}
业务服务器收到智能体发布回调后，应在 10 秒内响应。

* 如果是普通回调，只需要在响应中返回 HTTP 状态码 200 即可。
* 如果是渠道回调，需要在响应中返回智能体的审核结果，否则智能体发布失败。
   :::tip 说明
   如果审核流程无法在 10 秒内完成，自定义渠道可以先发送一条审核中的响应消息，审核结束后，再通过 API [更新审核结果](/developer_guides/update_review_result)通知扣子编程此智能体的最终审核结果。
   :::

## 回调结构体 {#260e083c}
回调消息的结构体 Body 中包含两个主要字段：`header` 和 `event`。

* `header`参数的参数说明请参见[回调事件](/dev_how_to_guides/receive_handle_callbacks#9ff362ae)。
* `event` 参数中包括以下参数：
   <!-- @cols-width: 100,100,613 -->
   | | | | \
   |**字段** |**类型** |**说明** |
   |---|---|---|
   | | | | \
   |user_id_str |Integer |发布智能体的扣子用户 ID。 |
   | | | | \
   |space_id |String |智能体所属的空间 ID。 |\
   | | |订阅普通回调时会返回该参数，订阅渠道回调时不返回该参数。 |
   | | | | \
   |connector_user_id |String |扣子用户在渠道中的用户 ID。此字段仅在渠道回调中返回，且仅当配置了渠道授权时才会包含，详细说明可参考[步骤三：渠道管理员配置渠道授权](/dev_how_to_guides/configure_custom_channel2#144eb84a)。 |
   | | | | \
   |user_name |String |发布智能体的扣子用户昵称。 |
   | | | | \
   |bot_id_str |Integer |智能体 ID。 |
   | | | | \
   |bot_name |String |智能体名称。 |
   | | | | \
   |description |String |智能体的描述信息。 |
   | | | | \
   |version |String |智能体的版本号。 |


回调结构体示例：
```JSON
{
    // 事件头
   "header":{
      // 事件类型
      "event_type":"bot.published", // 智能体发布回调事件
      // 事件 id
      "event_id":"12345abc",
      // 事件创建事件
      "created_at":1613427443000,
      "coze_account_id": "418960299***", // 智能体所属的空间的 owner id
      "api_app_id": "750974592959****", // 回调应用的 id
      "connector_id": "12345" // 如果为渠道回调，这个字段会填充渠道 id
   },
   
   // 事件体，根据事件类型不同，结构也不一样。当前展示的是智能体发布的事件
   "event":{
      // 用户 id
      "user_id_str":1234567890,
      // 渠道用户 id，仅在配置了渠道授权后返回
      "connector_user_id":"1234567890"
     // 用户昵称
      "user_name": "name123"
      //智能体id
      "bot_id_str": 987654***,
      //智能体名称
      "bot_name":"SampleBot",
      //智能体描述
      "description":"This is a sample bot.",
      //智能体版本
      "version": "12345"
   },
}
```

## 响应回调的结构体 {#acdc3105}
渠道回调的响应回调的 Body 应包括以下参数：
<!-- @cols-width: 199,139,500 -->
| | | | \
|**字段** |**类型** |**说明** |
|---|---|---|
| | | | \
|audit |Array of JSON |审核结果。 |
| | | | \
|audit.audit_status |Integer |审核状态。 |\
| | | |\
| | |* 1：审核中 |\
| | |* 2：审核通过 |\
| | |* 3：审核失败 |
| | | | \
|audit.reason |String |审核失败时，此字段返回审核失败原因。 |

渠道回调的响应回调的结构体示例：
```JSON
// 不同的事件，要求不同的返回体。此处为智能体发布事件，需要返回审核状态
{
   "audit":{
      "audit_status":2 // 1: 审核中；2: 通过；3: 拒绝
      "reason": "不通过原因" // 原因
   }
}
```

## 相关文档 {#6ecaabbd}
[订阅回调](/dev_how_to_guides/add_callback)
[接收并处理回调](/dev_how_to_guides/receive_handle_callbacks)
