# 1 鉴权

# 1 鉴权

# 1.1 获取 Token - 独立用户(POST)

API 的安全机制,获取accessToken。accessToken 过期时间为180天,refreshToken过期时间为180天。若accessToken过期, 可用refreshToken重新刷新accessToken,若refreshToken过期,需要重新获取accessToken。

频率限制与其他 API 接口一致,每秒最多调用 1 次(QPS = 1)。

Token 缓存机制:同一账号在 24 小时内多次调用获取 Token 接口,返回的 accessToken 与 refreshToken 保持一致(服务端缓存)。调用刷新 Token 接口时,在 24 小时缓存有效期内返回的 token 也与上次保持一致。超过 24 小时或主动 logout 后,将重新生成新的 token。

# URL

https://developers.cjdropshipping.com/api2.0/v1/authentication/getAccessToken

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/authentication/getAccessToken' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "apiKey": "CJUserNum@api@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                }'
参数名称 参数意义 参数类型 是否必传 长度 备注
apiKey CJ API Key string 是 200 获取 API Key (opens new window)

如何获取API Key:

第一步:如果尚未在 Apps 中安装 API 应用,需要先安装该应用才能获取 API Key。点击左侧导航栏 Apps,展开后点击 Install App,进入 App Store。

第一步 - 打开 Install App

图一: 左侧导航栏展开 Apps 菜单,点击 Install App 进入应用商店(App Store)。

在 App Store 的 Others 分类下找到 API,点击其右侧图标进行安装。安装成功后,页面右上角会弹出 "Installed Successfully" 提示,API 卡片右侧图标变为绿色对勾,表示已安装。若已安装(图标已是绿色对勾),可跳过此步。

安装 API 应用成功

图二: App Store 中 Others 分类下的 API 应用完成安装,右上角弹出 "Installed Successfully" 提示,API 卡片右侧显示绿色对勾。

第二步:跳转到获取 API Key (opens new window),在 API 页签下点击 Add API 按钮。

第二步 - 点击 Add API

图三: 在 CJ 个人中心打开 API 页签。当尚未授权任何 API 时,页面展示空状态提示 "You haven't authorized any API yet.",并显示橙色的 Add API 按钮。点击 Add API 开始创建。

第三步:在 Add API 弹窗中,填写 API Key Name,在 Type 下拉框中选择 API Key,然后点击 Confirm。

第三步 - 创建 API Key

图四: Add API 弹窗。必填项包括 API Key Name(如 "Your API Name")、API Store Name(默认勾选 "Same As API Key Name")与 Type。将 Type 设置为 API Key,再点击橙色 Confirm 按钮(或 Cancel 取消)。

第四步:在 API 列表中,找到 Type 为 API Key 的记录,点击 API Key & MCP Token 列中的 Copy(复制) 图标即可复制 API Key。

第四步 - 复制 API Key

图五: API 列表。列包括 Name、Type、API Key & MCP Token、Status、Updated Date、Action。定位 Type 为 API Key(状态 Activated)的行,token 以掩码形式展示(如 CJ4******38)。点击 API Key & MCP Token 列中眼睛图标旁的 Copy 复制图标,即可复制完整 API Key。

# 返回

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "openId": 123456789,
        "accessToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "accessTokenExpiryDate": "2021-07-12T20:08:13+08:00",
        "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "refreshTokenExpiryDate": "2021-08-04T20:08:13+08:00",
        "createDate": "2021-07-05T20:08:13+08:00"
    },
    "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22",
    "success": true
}
返回字段 字段意思 字段类型 长度 备注
openId CJ提供的开发者id Long 20
accessToken Access Token string 200
accessTokenExpiryDate Access Token 过期时间 string 200
refreshToken Refresh Token string 200
refreshTokenExpiryDate Refresh Token 过期时间 string 200
createDate 创建时间 string 200

error

{
    "code": 1601000,
    "result": false,
    "message": "User not find",
    "data": null,
    "requestId": "a18c9793-7c99-42f9-970b-790eecdceba2",
    "success": false
}
返回字段 字段意思 字段类型 长度 备注
code 错误码 int 20 返回错误码标准表
result 是否正常返回 boolean 1
message 返回信息 string 200
data 接口数据返回
requestId 请求Id string 48 用于日志查询错误

# 1.2 刷新accessToken(POST)

通过refreshToken刷新accessToken的过期时间。accessToken过期时间为180天。

# URL

https://developers.cjdropshipping.com/api2.0/v1/authentication/refreshAccessToken

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/authentication/refreshAccessToken' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                }'
参数名称 参数意义 参数类型 是否必传 长度 备注
refreshToken 刷新 Token string 是 80

# 返回

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "accessToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "accessTokenExpiryDate": "2021-07-06T04:08:13+08:00",
        "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "refreshTokenExpiryDate": "2021-08-04T20:08:13+08:00",
        "createDate": "2021-07-05T20:08:13+08:00"
    },
    "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22",
    "success": true
}
返回字段 字段意思 字段类型 长度 备注
accessToken Access Token string 200
accessTokenExpiryDate Access Token 过期时间 string 200
refreshToken Refresh Token string 200
refreshTokenExpiryDate Refresh Token 过期时间 string 200
createDate 创建时间 string 200

error

{
    "code": 1600003,
    "result": false,
    "message": "Refresh token is failure",
    "data": null,
    "requestId": "0b20dc1a-0043-43a7-a7c0-51ca6c61d976",
    "success": false
}
返回字段 字段意思 字段类型 长度 备注
code 错误码 int 20 返回错误码标准表
result 是否正常返回 boolean 1
message 返回信息 string 200
data 接口数据返回
requestId 请求Id string 48 用于日志查询错误

# 1.3 登出(POST)

API 的安全机制,登出后,accessToken 和 refreshToken 都会失效。

# URL

https://developers.cjdropshipping.com/api2.0/v1/authentication/logout

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/authentication/logout' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

# 返回

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": true,
    "requestId": "b1d3728d-8a29-417e-9983-6df9926aaa49",
    "success": true
}
返回字段 字段意思 字段类型 长度 备注
code 错误码 int 20 返回错误码标准表
result 是否正常返回 boolean 1
message 返回信息 string 200
data 接口数据返回
requestId 请求Id string 48 用于日志查询错误

error

{
    "code": 1600001,
    "result": false,
    "message": "Authentication failed",
    "data": null,
    "requestId": "5aa2bb6e-42fa-4e0a-ae88-1833c2c1c883",
    "success": false
}
返回字段 字段意思 字段类型 长度 备注
code 错误码 int 20 返回错误码标准表
result 是否正常返回 boolean 1
message 返回信息 string 200
data 接口数据返回
requestId 请求Id string 48 用于日志查询错误