You need to enable JavaScript to run this app.
导航
调用方式
最近更新时间:2025.06.09 18:25:52首次发布时间:2025.06.09 18:25:52
我的收藏
有用
有用
无用
无用

本文为您介绍了 OpenAPI 调用的整体流程、接口调用限制以及公共错误码,重点介绍了 OpenAPI 调用时必备的 Token 申请和使用方法。

整体流程
  1. 为每一个 openapi 调用方生成一个 client id 和 client secret,这是调用接口的凭证。
  2. 用户使用 client id / client secret 调用接口交换包含用户身份信息的 jwt token。
  3. 用户在调用业务接口时在请求头部带上 jwt token,例如:Authorization: Bearer jwt_token
  4. DataWind 在接口被调用时,使用公钥校验 jwt token,完成限流检查、审计。
  5. 在调用任意一个 DataWind 接口时,为了便于后续问题的排查,建议在请求的 headers 中添加 x-request-idrequest-id(保证唯一字符串即可), 需要两个 header 是因为 DataWind 整体组件比较多,各个组件之间使用的标记可能不同。这两个参数会被输入到 DataWind 的后端日志中,为您在遇到问题时进行分析和定位提供有力的支持,从而更高效地解决可能出现的故障。
  6. 返回业务结果。

整体流程如下:
Image

Token申请

获取clientId与clientSecret

进入「开放平台」-> 「开发者后台」,点击「创建凭证」申请clientIdclientsecret ,申请的凭证类型分为两种类型:用户、系统(仅支持系统管理员) 。如下图:
Image
Image
Image

注意

务必妥善保密管理clientIdclientSecret,这是调用接口的凭证,暴露给其他用户将导致数据泄露风险。

获取jwtToken

请求说明

请求地址:不同环境调用接口使用的接口地址不同。

  • 如果是私有化部署环境,调用接口的使用的地址前缀与私有化环境访问地址一致。
  • 如果是火山引擎 SaaS 环境,访问地址为https://console.volcengine.com/bi/datawind,则接口地址前缀为https://console.volcengine.com/bi/datawind/aeolus

请求示例

curl --location --request POST 'https://console.volcengine.com/aeolus/api/v3/openapi/jwtToken' \
--header 'Content-Type: application/json' \
--data-raw '{
  "metadata": {
    "clientId": "{clientId}",
    "clientSecret": "{clientSecret}",
    "proxyUser": "abc****@21**********",
    "expire": 3600
  }
}'

说明

如果用户已打开「开发者后台」-「凭证管理」页面,可选择直接复制凭证下方提供的相关请求参数,仅需替换获取的clientId和clientSecret即可,proxyUser和expire参数系统已为您填好。
Image

请求参数

名称

类型

必选

示例值

描述

clientId

integer

必选

123abc

登录凭证ID,在上一步中获得

clientSecret

integer

必选

123abc

登录凭证密钥,在上一步中获得

proxyUser

string

可选

user_1

token对应的用户名

expire

integer

可选

3600

token过期时间,默认值为3600,单位为秒

注意

token过期时间最长为3天

返回参数

参数

类型

描述

code

string

返回状态码,如果请求成功,返回aeolus/ok,下面为错误码及其解释:

  • aeolus/openapiClient/tokenExpired:token已过期
  • aeolus/openapiClient/tokenError:token不正确
  • aeolus/openapiClient/requestRateExcess:token调用超过频率限制
  • aeolus/openapiClient/blocked:请求已被拦截

data

object

包含接口返回的具体信息,此处包含jwtToken和proxyUser

data.jwtToken

string

代表用户的身份信息,用户在调用业务接口时需要在请求头部带上 jwtToken

data.proxyUser

string

token对应的用户名

msg

string

操作结果的自然语言描述

返回示例

{
    "code": "aeolus/ok",
    "data": {
        "jwtToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.ey*****************************************************************************************************************************************************************************.********************-*************************************************************************************-****************************************************************************************************************************-***-********************************************-******************************************************-*************************-****************************************************************************-************-*************************************-*********************************************************************************************************************************************************-****************-******************5sus",
        "proxyUser": "user_1"
    },
    "msg": "成功"
}

Token使用

用户在调用接口时需要在请求头部带上 jwtToken 的内容,例如:Authorization: Bearer jwt_token
使用 curl 的调用 current user 接口示例如下:

curl -X GET 'https://{domain}/aeolus/api/v3/open/misc/current_user' \
-H 'Authorization: Bearer jwt_token'

说明

  • 上面链接中的 {domain} 指代环境域名
    • 如果是私有化部署环境,调用接口的使用的地址前缀与私有化环境访问地址一致
    • 如果是火山引擎 SaaS 环境,接口地址前缀https://console.volcengine.com/bi/datawind
  • 各个环境之间 clientid 不互通

接口调用限制

为了保障服务稳定性与阻挡恶意攻击,DataWind 后端采用以下方法限制请求:
(1)限流(QPS 2000,可申请修改);
(2)封禁,用于保留一些不开放的 api 或者临时封禁用户的异常请求;
(3)审计,每一次 openapi 调用均会被记录,包括调用方、接口、参数、调用时间。

公共错误码

详情可查看公共错误码