# 1 赋权

# 1 鉴权

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

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

# 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 '{
                    "email": "v0pjsw5t@linshiyouxiang.net",
                    "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                }'
参数名称 参数意义 参数类型 是否必传 长度 备注
email 邮箱 string 200 CJ 账户的 Email (opens new window)
password 密码 string 200 获取 API Key (opens new window)

# 返回

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "openId": 123456789,
        "accessToken": "c50f01a5d910400fb401944569fe0b0c",
        "accessTokenExpiryDate": "2021-07-12T20:08:13+08:00",
        "refreshToken": "16bb512baf74491ba25ea65b8b2dd597",
        "refreshTokenExpiryDate": "2021-08-04T20:08:13+08:00",
        "createDate": "2021-07-05T20:08:13+08:00"
    },
    "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22"
}
返回字段 字段意思 字段类型 长度 备注
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"
}
返回字段 字段意思 字段类型 长度 备注
code 错误码 int 20 返回错误码标准表
result 是否正常返回 boolean 1
message 返回信息 string 200
data 接口数据返回
requestId 请求Id string 48 用于日志查询错误

# 1.2 刷新accessToken(POST)

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

# 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": "3d3b01404da04be8b6795d7e9823cee5"
                }'
参数名称 参数意义 参数类型 是否必传 长度 备注
refreshToken 刷新 Token string 80

# 返回

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "accessToken": "c50f01a5d910400fb401944569fe0b0c",
        "accessTokenExpiryDate": "2021-07-06T04:08:13+08:00",
        "refreshToken": "16bb512baf74491ba25ea65b8b2dd597",
        "refreshTokenExpiryDate": "2021-08-04T20:08:13+08:00",
        "createDate": "2021-07-05T20:08:13+08:00"
    },
    "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22"
}
返回字段 字段意思 字段类型 长度 备注
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"
}
返回字段 字段意思 字段类型 长度 备注
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"
}
返回字段 字段意思 字段类型 长度 备注
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"
}
返回字段 字段意思 字段类型 长度 备注
code 错误码 int 20 返回错误码标准表
result 是否正常返回 boolean 1
message 返回信息 string 200
data 接口数据返回
requestId 请求Id string 48 用于日志查询错误

# 1.4 附属商家授权

# 1.4.1 附属商家获取授权地址(POST)

返回CJ页面跳转URL(登陆页或者注册页),并返回授权密钥。

前提:1.需要传入独立商家的accessToken; 2.涉及的独立商家需要设置接收授权code的接口(看1.4.2)

# URL

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

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/authentication/getAuthorizeUrl' \
                --header 'Content-Type: application/json' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxx' \
                --data-raw '{
                   "email": "v0pjsw5t@linshiyouxiang.net",
                   "redirectUri":"https://yourapp.com/xxx",
                   "callbackUri":"https://yourapp.com/xxx",
                   "userName":"your userName",
                   "state":"xxxxxx"
                }'
参数名称 参数意义 参数类型 是否必传 长度 备注
email 邮箱 string 100
redirectUri 授权之后需要跳转的合作方地址 String 200 授权完成之后需要跳转到合作方页面地址
callbackUri 授权之后通知code接口地址 String 200 授权之后通知code接口地址
userName 用户名称 string 40 用于CJ展示
state 透传参数 string 40 通知code时,会原样返回
openId Long Long 40 授权成功获取access_Token时返回的

# 返回

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
    "code": 200,
    "result": true,
    "message": "Success",
    "data":"https://cjdropshipping.com/apiAuthorization.html?secretKey=XNbDqGDoCMkNirc77EBhxCeu4NPwD4mZ&type=autoCreate",
    "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22"
},
    "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22"
}
返回字段 字段意思 字段类型 长度 备注
cjRedirectUri cj授权跳转地址 string 200

error

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

# 1.4.2 合作方接收授权成功code接口(合作方提供)

用户在cj登录之后,CJ会生成授权code,并推送到合作方,需要合作方提供接收授权code的接口。

要求: 请求方法: POST

# 接口入参

参数名称 参数意义 参数类型 是否必传 长度 备注
code 授权成功后CJ返回的参数 string 100
state 透传参数 string 1.4.1传过来的值, 原值返回

# 接口出参

参数名称 参数意义 参数类型 是否必传 长度 备注
result 处理结果 string 0=成功, 其他=失败
message 处理结果消息 string 具体消息内容

# 1.4.3 附属商pe通过code交换accessToken (POST)

通过授权code交换accessToken.

accessToken 过期时间为15天,refreshToken 过期时间为180天。若accessToken 过期,可用refreshToken重新刷新accessToken的失效时间,若refreshToken过期,需要重新授权。

# URL

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

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/authentication/exchangeAccessToken' \
                --header 'Content-Type: application/json' \
                --header 'CJ-Access-Token: xxxxxxxx' \
                --data-raw '{
                    "code": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                }'
参数名称 参数意义 参数类型 是否必传 长度 备注
code 授权code string 100

#### 返回
success

{ "code": 200, "result": true, "message": "Success", "data": { "openId": 123456789, "accessToken": "c50f01a5d910400fb401944569fe0b0c", "accessTokenExpiryDate": "2022-12-08T20:08:13+08:00", "refreshToken": "16bb512baf74491ba25ea65b8b2dd597", "refreshTokenExpiryDate": "2023-06-08T20:08:13+08:00", "createDate": "2022-012-08T20:08:13+08:00" }, "requestId": "31c7760c-068e-41c7-aeed-5f2a7f598f22" }

| 返回字段                 | 字段意思               | 字段类型   | 长度  | 备注 |
|------------------------|--------------------|--------|-----| --- |
| 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": "code not found", "data": null, "requestId": "a18c9793-7c99-42f9-970b-790eecdceba2" }

| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
| --- | --- | --- | --- | --- |
| code | 错误码 | int | 20 | [返回错误码标准表](../../api2/standard/ps-code.html) |
| result | 是否正常返回 | boolean | 1 |  |
| message | 返回信息 | string | 200 |  |
| data |  |  |  | 接口数据返回 |
| requestId | 请求Id | string | 48 | 用于日志查询错误 |