# 00-赋权
# 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"
}'
参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
---|---|---|---|---|---|
邮箱 | 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"
}'
参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
---|---|---|---|---|---|
邮箱 | 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 | 用于日志查询错误 |