一、接口总览
| 接口名称 | 功能描述 | 请求方式 | 授权方式 | 接口版本 |
|---|---|---|---|---|
| 接受分享(acceptSharedDevice) | 接受他人分享的设备 | GET / POST | JWT / Bearer Token 授权 | v1 |
| 拒绝分享(rejectSharedDevice) | 拒绝他人分享的设备 | GET / POST | JWT / Bearer Token 授权 | v1 |
| 移除分享(removeSharedDevice) | 移除已分享给他人的设备 | GET / POST | JWT / Bearer Token 授权 | v1 |
| 查询分享设备(getSharedDevices) | 查询当前用户的所有分享设备(含他人分享/自己分享) | GET / POST | JWT / Bearer Token 授权 | v1 |
二、接受分享接口(acceptSharedDevice)
用于接受他人分享的设备,需传递设备唯一标识(
UID),该参数为空或格式错误会返回400参数错误。(一)请求说明
1. 请求URL
GET: /vsaas/api/v1/be?query=mutation {acceptSharedDevice(device:String!) String!}
POST: /vsaas/api/v1/be/
说明:支持GET和POST两种请求方式,推荐使用POST方式
2. 请求头(Header)
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
Authorization | String | 是 | 授权令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 请求参数
| 参数名 | 类型 | 必选 | 位置 | 说明 |
|---|---|---|---|---|
device | String | 是 | GraphQL参数 MUTATION | 设备UID(唯一标识),不能为空或格式错误 |
4. 请求体(POST 方式专用)
{
"query": "mutation {acceptSharedDevice(device:\"设备UID\")}"
}
说明:设备UID为必填参数,为空或格式错误会返回400参数错误。
(二)响应说明
1. 响应状态码
| 状态码 | 徽章 | 说明 |
|---|---|---|
| 200 | 成功 | 请求成功,返回操作结果 |
| 400 | 参数错误 | 请求参数错误(如GraphQL语法错误、设备UID为空/格式错误) |
| 401 | 授权失败 | 授权令牌无效或过期 |
2. 响应数据结构
{
"data": {
"acceptSharedDevice": "操作结果(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. 响应示例(成功)
接受分享响应(示例)
{
"data": {
"acceptSharedDevice": "ok"
}
}
三、拒绝分享接口(rejectSharedDevice)
用于拒绝他人分享的设备,需传递设备唯一标识(
UID),该参数为空或格式错误会返回400参数错误。(一)请求说明
1. 请求URL
GET: /vsaas/api/v1/be?query=mutation {rejectSharedDevice(device:String!) String!}
POST: /vsaas/api/v1/be/
说明:支持GET和POST两种请求方式,推荐使用POST方式
2. 请求头(Header)
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
Authorization | String | 是 | 授权令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 请求参数
| 参数名 | 类型 | 必选 | 位置 | 说明 |
|---|---|---|---|---|
device | String | 是 | GraphQL参数 MUTATION | 设备UID(唯一标识),不能为空或格式错误 |
4. 请求体(POST 方式专用)
{
"query": "mutation {rejectSharedDevice(device:\"设备UID\")}"
}
说明:设备UID为必填参数,为空或格式错误会返回400参数错误。
(二)响应说明
1. 响应状态码
| 状态码 | 徽章 | 说明 |
|---|---|---|
| 200 | 成功 | 请求成功,返回操作结果 |
| 400 | 参数错误 | 请求参数错误(如GraphQL语法错误、设备UID为空/格式错误) |
| 401 | 授权失败 | 授权令牌无效或过期 |
2. 响应数据结构
{
"data": {
"rejectSharedDevice": "操作结果(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. 响应示例(成功)
拒绝分享响应(示例)
{
"data": {
"rejectSharedDevice": "ok"
}
}
四、移除分享接口(removeSharedDevice)
用于移除已分享给他人的设备,需传递设备唯一标识(
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)
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
Authorization | String | 是 | 授权令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 请求参数
| 参数名 | 类型 | 必选 | 位置 | 说明 |
|---|---|---|---|---|
device | String | 是 | GraphQL参数 MUTATION | 设备UID(唯一标识),不能为空或格式错误 |
description | String | 否 | GraphQL参数 MUTATION | 操作描述(可选,用于记录备注,不影响核心功能) |
4. 请求体(POST 方式专用)
{
"query": "mutation {removeSharedDevice(device:\"设备UID\",description:\"可选描述\")}"
}
说明:device参数为必填,description参数为可选,仅用于备注说明,不影响核心功能。
(二)响应说明
1. 响应状态码
| 状态码 | 徽章 | 说明 |
|---|---|---|
| 200 | 成功 | 请求成功,返回操作结果 |
| 400 | 参数错误 | 请求参数错误(如GraphQL语法错误、设备UID为空/格式错误) |
| 401 | 授权失败 | 授权令牌无效或过期 |
2. 响应数据结构
{
"data": {
"removeSharedDevice": "操作结果(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. 响应示例(成功)
移除分享响应(示例)
{
"data": {
"removeSharedDevice": "ok"
}
}
五、查询分享设备接口(getSharedDevices)
用于查询当前用户的所有分享设备,包括他人分享给当前用户、当前用户分享给他人的设备,支持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)
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
Authorization | String | 是 | 授权令牌,格式:JWT {token} 或 Bearer {token} |
Content-Type | String | 是 | 固定值:application/json |
3. 请求参数
无额外请求参数,通过GraphQL查询语句指定需要返回的设备字段即可,未指定的字段不会出现在响应数据中。
4. 请求体(POST 方式专用)
{
"query": "query {getSharedDevices {uid,udid,nickname,credential,owner,deviceType}}"
}
说明:查询语句中可按需指定返回字段,未指定的字段不会出现在响应数据中,建议仅查询业务所需字段。
(二)响应说明
1. 响应状态码
| 状态码 | 徽章 | 说明 |
|---|---|---|
| 200 | 成功 | 请求成功,返回设备列表数据 |
| 400 | 参数错误 | 请求参数错误(如GraphQL语法错误、字段名拼写错误) |
| 401 | 授权失败 | 授权令牌无效或过期 |
2. 响应数据结构
{
"data": {
"getSharedDevices": [分享设备对象数组]
}
}
3. 分享设备对象字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
uid | String | 设备唯一标识 |
udid | String | 设备UDID(唯一设备标识) |
nickname | String | 设备昵称 |
credential | String | 设备访问凭证(敏感信息,请勿泄露) |
owner | String | 设备所有者(通常为用户邮箱) |
deviceType | String | 设备类型(可选返回,响应中可按需指定) |
(三)接口示例
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. 响应示例(成功)
查询分享设备响应(示例)
{
"data": {
"getSharedDevices": [
{
"credential": "thisisacredential",
"nickname": "KGGJYP",
"owner": "[email protected]",
"udid": "POIUYTREWQQWERTYUIOPPOIUYTREWQQWERTYUIOP",
"uid": "POIUYTREWQQWERTYUIOPPOIUYTREWQQWERTYUIOP"
}
]
}
}
