测试未保存的通道配置

在不创建实例的情况下验证通道配置。此接口当前仅支持 wecom Provider 的 wecom_mail 通道类型。

POST https://moi.matrixorigin.cn/newmoi/workspaces/{workspace_id}/channels/{provider}/instances/test

调用前准备

准备有目标工作区访问权限的个人访问令牌、目标工作区 ID,以及待测试的通道配置与密钥。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递,同时作为路径中的 workspace_id

路径中的 provider 必须为 wecom。请求体与创建通道实例相同;channel_type 必须为 wecom_mail,所需的 configsecrets 由该通道类型决定。

路径参数

参数

类型

是否必填

说明

workspace_id

string

工作区 ID。

provider

string

必须为 wecom

请求体

参数

类型

是否必填

说明

channel_type

string

必须为 wecom_mail

name

string

实例名称。

description

string

实例说明。

config

object

非敏感配置。

secrets

object

按通道类型要求

密钥和其他敏感配置。

visibility

string

可见范围。

labels

object

标签键值对。

请求示例

curl -X POST "https://moi.matrixorigin.cn/newmoi/workspaces/$WORKSPACE_ID/channels/wecom/instances/test" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "channel_type": "wecom_mail",
    "name": "邮件通道",
    "secrets": {
      "<KEY>": "<VALUE>"
    }
  }'

成功响应

成功时返回 200。此接口不会创建实例或保存 secrets;结果中的 instance 是本次待测试配置的非敏感投影。

{
  "code": 0,
  "data": {
    "instance": {
      "workspace_id": "ws_01",
      "provider": "wecom",
      "channel_type": "wecom_mail",
      "name": "邮件通道",
      "status": "draft"
    },
    "ok": true,
    "status": "passed",
    "last_test_status": "passed",
    "last_tested_at": "2026-08-18T01:00:00Z"
  }
}

测试失败时仍可能返回 200,并在结果中给出可操作的诊断:

{
  "code": 0,
  "data": {
    "instance": {
      "provider": "wecom",
      "channel_type": "wecom_mail"
    },
    "ok": false,
    "status": "failed",
    "last_test_status": "failed",
    "last_test_error": "<错误信息>",
    "error_code": "<ERROR_CODE>",
    "error_stage": "<STAGE>",
    "provider_error_code": "<PROVIDER_CODE>",
    "provider_error_message": "<PROVIDER_MESSAGE>",
    "error_category": "<CATEGORY>",
    "suggestion": "<SUGGESTION>",
    "last_tested_at": "2026-08-18T01:00:00Z"
  }
}

响应字段如下。

字段

类型

说明

code

integer

成功处理测试请求时为 0,即使连接测试本身失败。

data.instance

object

待测试配置的非敏感实例投影。

data.ok

boolean

连接测试是否通过。

data.status

string

本次和最近一次测试状态。

data.last_test_status

string

本次和最近一次测试状态。

data.worker_id

string

可用时返回的执行方和请求标识。

data.request_id

string

可用时返回的执行方和请求标识。

data.last_test_error

string

测试失败时的错误信息。

data.error_code

string

服务归类的错误代码、阶段和类别。

data.error_stage

string

服务归类的错误代码、阶段和类别。

data.error_category

string

服务归类的错误代码、阶段和类别。

data.provider_error_code

string

Provider 返回的错误信息;可用时返回。

data.provider_error_message

string

Provider 返回的错误信息;可用时返回。

data.suggestion

string

可操作的修复建议;可用时返回。

data.last_tested_at

string

测试时间,使用 RFC 3339 格式。

错误响应

{
  "code": 2,
  "message": "<错误信息>"
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

2INVALID_ARGUMENT

Provider 不是 wecom、通道类型不是 wecom_mail,或配置、密钥不符合该类型要求。

使用 wecom/wecom_mail,并检查 configsecrets

401

6UNAUTHENTICATED

缺少有效身份凭据。

检查 API Key。

403

5PERMISSION_DENIED

当前身份没有测试通道配置的权限。

检查工作区授权。

403

5PERMISSION_DENIED

凭据访问被拒绝。

检查凭据授权和 Provider 侧权限。

503

15UNAVAILABLE

通道实例服务或测试依赖暂不可用。

稍后重试。

后续操作

测试通过后,创建通道实例保存配置。

最后更新于