一、接口總覽
| 接口名稱 | 功能描述 | 請求方式 | 授權(quán)方式 | 接口版本 |
|---|---|---|---|---|
| 接受分享(acceptSharedDevice) | 接受他人分享的設(shè)備 | GET / POST | JWT / Bearer Token 授權(quán) | v1 |
| 拒絕分享(rejectSharedDevice) | 拒絕他人分享的設(shè)備 | GET / POST | JWT / Bearer Token 授權(quán) | v1 |
| 移除分享(removeSharedDevice) | 移除已分享給他人的設(shè)備 | GET / POST | JWT / Bearer Token 授權(quán) | v1 |
| 查詢分享設(shè)備(getSharedDevices) | 查詢當前用戶的所有分享設(shè)備(含他人分享/自己分享) | GET / POST | JWT / Bearer Token 授權(quán) | v1 |
二、接受分享接口(acceptSharedDevice)
用于接受他人分享的設(shè)備,需傳遞設(shè)備唯一標識(
UID),該參數(shù)為空或格式錯誤會返回400參數(shù)錯誤。(一)請求說明
1. 請求URL
GET: /vsaas/api/v1/be?query=mutation {acceptSharedDevice(device:String!) String!}
POST: /vsaas/api/v1/be/
說明:支持GET和POST兩種請求方式,推薦使用POST方式
2. 請求頭(Header)
| 參數(shù)名 | 類型 | 必選 | 說明 |
|---|---|---|---|
Authorization | String | 是 | 授權(quán)令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 請求參數(shù)
| 參數(shù)名 | 類型 | 必選 | 位置 | 說明 |
|---|---|---|---|---|
device | String | 是 | GraphQL參數(shù) MUTATION | 設(shè)備UID(唯一標識),不能為空或格式錯誤 |
4. 請求體(POST 方式專用)
{
"query": "mutation {acceptSharedDevice(device:\"設(shè)備UID\")}"
}
說明:設(shè)備UID為必填參數(shù),為空或格式錯誤會返回400參數(shù)錯誤。
(二)響應(yīng)說明
1. 響應(yīng)狀態(tài)碼
| 狀態(tài)碼 | 徽章 | 說明 |
|---|---|---|
| 200 | 成功 | 請求成功,返回操作結(jié)果 |
| 400 | 參數(shù)錯誤 | 請求參數(shù)錯誤(如GraphQL語法錯誤、設(shè)備UID為空/格式錯誤) |
| 401 | 授權(quán)失敗 | 授權(quán)令牌無效或過期 |
2. 響應(yīng)數(shù)據(jù)結(jié)構(gòu)
{
"data": {
"acceptSharedDevice": "操作結(jié)果(ok 或錯誤信息)"
}
}
(三)接口示例
1. 請求示例(curl)
POST方式請求(示例)
curl --location --request POST 'domain/vsaas/api/v1/be/' \
--header 'Authorization: Bearer token' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "mutation {acceptSharedDevice(device:\"QPWOEIRUTYT\")}"
}'
2. 響應(yīng)示例(成功)
接受分享響應(yīng)(示例)
{
"data": {
"acceptSharedDevice": "ok"
}
}
三、拒絕分享接口(rejectSharedDevice)
用于拒絕他人分享的設(shè)備,需傳遞設(shè)備唯一標識(
UID),該參數(shù)為空或格式錯誤會返回400參數(shù)錯誤。(一)請求說明
1. 請求URL
GET: /vsaas/api/v1/be?query=mutation {rejectSharedDevice(device:String!) String!}
POST: /vsaas/api/v1/be/
說明:支持GET和POST兩種請求方式,推薦使用POST方式
2. 請求頭(Header)
| 參數(shù)名 | 類型 | 必選 | 說明 |
|---|---|---|---|
Authorization | String | 是 | 授權(quán)令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 請求參數(shù)
| 參數(shù)名 | 類型 | 必選 | 位置 | 說明 |
|---|---|---|---|---|
device | String | 是 | GraphQL參數(shù) MUTATION | 設(shè)備UID(唯一標識),不能為空或格式錯誤 |
4. 請求體(POST 方式專用)
{
"query": "mutation {rejectSharedDevice(device:\"設(shè)備UID\")}"
}
說明:設(shè)備UID為必填參數(shù),為空或格式錯誤會返回400參數(shù)錯誤。
(二)響應(yīng)說明
1. 響應(yīng)狀態(tài)碼
| 狀態(tài)碼 | 徽章 | 說明 |
|---|---|---|
| 200 | 成功 | 請求成功,返回操作結(jié)果 |
| 400 | 參數(shù)錯誤 | 請求參數(shù)錯誤(如GraphQL語法錯誤、設(shè)備UID為空/格式錯誤) |
| 401 | 授權(quán)失敗 | 授權(quán)令牌無效或過期 |
2. 響應(yīng)數(shù)據(jù)結(jié)構(gòu)
{
"data": {
"rejectSharedDevice": "操作結(jié)果(ok 或錯誤信息)"
}
}
(三)接口示例
1. 請求示例(curl)
POST方式請求(示例)
curl --location --request POST 'domain/vsaas/api/v1/be/' \
--header 'Authorization: Bearer token' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "mutation {rejectSharedDevice(device:\"QPWOEIRUTYT\")}"
}'
2. 響應(yīng)示例(成功)
拒絕分享響應(yīng)(示例)
{
"data": {
"rejectSharedDevice": "ok"
}
}
四、移除分享接口(removeSharedDevice)
用于移除已分享給他人的設(shè)備,需傳遞設(shè)備唯一標識(
UID),支持可選的操作描述字段用于備注說明。(一)請求說明
1. 請求URL
GET: /vsaas/api/v1/be?query=mutation {removeSharedDevice(device:String!,description:String) String!}
POST: /vsaas/api/v1/be/
說明:支持GET和POST兩種請求方式,推薦使用POST方式
2. 請求頭(Header)
| 參數(shù)名 | 類型 | 必選 | 說明 |
|---|---|---|---|
Authorization | String | 是 | 授權(quán)令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 請求參數(shù)
| 參數(shù)名 | 類型 | 必選 | 位置 | 說明 |
|---|---|---|---|---|
device | String | 是 | GraphQL參數(shù) MUTATION | 設(shè)備UID(唯一標識),不能為空或格式錯誤 |
description | String | 否 | GraphQL參數(shù) MUTATION | 操作描述(可選,用于記錄備注,不影響核心功能) |
4. 請求體(POST 方式專用)
{
"query": "mutation {removeSharedDevice(device:\"設(shè)備UID\",description:\"可選描述\")}"
}
說明:device參數(shù)為必填,description參數(shù)為可選,僅用于備注說明,不影響核心功能。
(二)響應(yīng)說明
1. 響應(yīng)狀態(tài)碼
| 狀態(tài)碼 | 徽章 | 說明 |
|---|---|---|
| 200 | 成功 | 請求成功,返回操作結(jié)果 |
| 400 | 參數(shù)錯誤 | 請求參數(shù)錯誤(如GraphQL語法錯誤、設(shè)備UID為空/格式錯誤) |
| 401 | 授權(quán)失敗 | 授權(quán)令牌無效或過期 |
2. 響應(yīng)數(shù)據(jù)結(jié)構(gòu)
{
"data": {
"removeSharedDevice": "操作結(jié)果(ok 或錯誤信息)"
}
}
(三)接口示例
1. 請求示例(curl)
POST方式請求(示例)
curl --location --request POST 'domain/vsaas/api/v1/be/' \
--header 'Authorization: Bearer token' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "mutation {removeSharedDevice(device:\"QPWOEIRUTYT\")}"
}'
2. 響應(yīng)示例(成功)
移除分享響應(yīng)(示例)
{
"data": {
"removeSharedDevice": "ok"
}
}
五、查詢分享設(shè)備接口(getSharedDevices)
用于查詢當前用戶的所有分享設(shè)備,包括他人分享給當前用戶、當前用戶分享給他人的設(shè)備,支持GraphQL按需指定返回字段。
(一)請求說明
1. 請求URL
GET: /vsaas/api/v1/be?query={getSharedDevices {uid,udid,nickname,credential,owner,deviceType}}
POST: /vsaas/api/v1/be/
說明:支持GET和POST兩種請求方式,推薦使用POST方式
2. 請求頭(Header)
| 參數(shù)名 | 類型 | 必選 | 說明 |
|---|---|---|---|
Authorization | String | 是 | 授權(quán)令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 請求參數(shù)
無額外請求參數(shù),通過GraphQL查詢語句指定需要返回的設(shè)備字段即可,未指定的字段不會出現(xiàn)在響應(yīng)數(shù)據(jù)中。
4. 請求體(POST 方式專用)
{
"query": "query {getSharedDevices {uid,udid,nickname,credential,owner,deviceType}}"
}
說明:查詢語句中可按需指定返回字段,未指定的字段不會出現(xiàn)在響應(yīng)數(shù)據(jù)中,建議僅查詢業(yè)務(wù)所需字段。
(二)響應(yīng)說明
1. 響應(yīng)狀態(tài)碼
| 狀態(tài)碼 | 徽章 | 說明 |
|---|---|---|
| 200 | 成功 | 請求成功,返回設(shè)備列表數(shù)據(jù) |
| 400 | 參數(shù)錯誤 | 請求參數(shù)錯誤(如GraphQL語法錯誤、字段名拼寫錯誤) |
| 401 | 授權(quán)失敗 | 授權(quán)令牌無效或過期 |
2. 響應(yīng)數(shù)據(jù)結(jié)構(gòu)
{
"data": {
"getSharedDevices": [分享設(shè)備對象數(shù)組]
}
}
3. 分享設(shè)備對象字段說明
| 字段名 | 類型 | 說明 |
|---|---|---|
uid | String | 設(shè)備唯一標識 |
udid | String | 設(shè)備UDID(唯一設(shè)備標識) |
nickname | String | 設(shè)備昵稱 |
credential | String | 設(shè)備訪問憑證(敏感信息,請勿泄露) |
owner | String | 設(shè)備所有者(通常為用戶郵箱) |
deviceType | String | 設(shè)備類型(可選返回,響應(yīng)中可按需指定) |
(三)接口示例
1. 請求示例(curl)
POST方式請求(示例)
curl --location --request POST 'domain/vsaas/api/v1/be/' \
--header 'Authorization: Bearer token' \
--header 'Content-Type: application/json' \
--data-raw '{
"query": "query {getSharedDevices {uid,udid,nickname,credential,owner,deviceType}}"
}'
2. 響應(yīng)示例(成功)
查詢分享設(shè)備響應(yīng)(示例)
{
"data": {
"getSharedDevices": [
{
"credential": "thisisacredential",
"nickname": "KGGJYP",
"owner": "jerry_yang@tutk.com",
"udid": "POIUYTREWQQWERTYUIOPPOIUYTREWQQWERTYUIOP",
"uid": "POIUYTREWQQWERTYUIOPPOIUYTREWQQWERTYUIOP"
}
]
}
}
