简体中文

方案管理:创建、修改,终止

极致加深 - 合约管理相关 API 文档

一、接口总览

接口名称功能描述请求方式授权方式接口版本
创建合约(createContract)创建用户/设备的服务合约,基于GraphQL协议实现POSTJWT / Bearer Token 授权v1
修改合约(updateContract)修改合约状态(激活/取消),支持延长或终止合约PATCHJWT / Bearer Token 授权v1
删除合约(deleteContract)删除指定ID的合约,立即终止合约服务DELETEJWT / Bearer Token 授权v1

二、创建合约接口(createContract)

用于创建用户/设备的服务合约,基于GraphQL协议实现POST请求调用,需传递用户账号、产品ID、支付订单号等核心参数,参数缺失或格式错误会返回400参数错误。前置条件:所有接口调用前需获取对应权限的 Token(服务器 Token/用户 Token),且调用者需具备对应操作权限。
(一)请求说明
1. 请求URL
POST: https://vsaas-domain/vsaas/api/v1/ss/contract 说明:仅支持POST请求方式,基于GraphQL协议实现
说明:核心参数accountproductIdtransactionId为必填项,用于指定合约关联的用户、产品和支付订单信息。
2. 请求头(Header)
参数名类型必选说明
AuthorizationString授权令牌,格式:Bearer {Oauth token}
Content-TypeString固定值:application/json
3. 请求参数
参数名类型必选位置说明
accountStringBODY POST用户的email或者手机号,格式:base64("{\"email\":\"12345666\"}")
productIdStringBODY POST套餐ID(plan id),关联具体的服务套餐
transactionIdStringBODY POST支付订单编号,唯一标识支付记录
noteStringBODY POST合约备注信息(可选)
purposeStringBODY POST设备UID(合约关联设备时必填,关联账号时无需填写)
payment_typeintBODY POST支付类型(仅内部记录用,TUTK不做处理)
4. 请求体(POST 方式专用)
{  "account":"ewoJImVtYWlsIjogIjEwMDE3ODY1Igp9",  "productId":"fsajhfkjahfkjasdhfsakfha",  "transactionId":"PAY20240520001",  "purpose":"UUUUUUUUUUUUUUUUUUUU",  "note":"测试合约",  "payment_type":1 }
说明:account、productId、transactionId为必填参数,为空或格式错误会返回400参数错误;purpose参数在合约关联设备时需填写设备UID,关联账号时可忽略。
(二)响应说明
1. 响应状态码
状态码徽章说明
200成功请求成功,返回合约信息
400参数错误请求参数缺失或格式错误(如account格式错误、必填参数为空)
401授权失败Oauth token无效或过期
500服务器错误服务器内部错误,请联系技术支持排查
2. 响应数据结构
{  "data": {    "contractId": "String", // 合约唯一标识    "expires": "String",    // 合约到期时间(UTC格式)    "startTime": "String"   // 合约生效时间(UTC格式)  } }
3. 响应参数说明
字段名类型说明返回规则
contractIdString合约唯一标识ID必返回
expiresString合约到期时间(UTC格式,如2024-02-30T01:35:18.312174281Z)必返回
startTimeString合约生效时间(UTC格式)必返回
(三)接口示例
1. 请求示例(curl)
POST方式请求(示例)
curl -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer' \ -d '{"account":"ewoJImVtYWlsIjogIjEwMDE3ODY1Igp9","productId":"fsajhfkjahfkjasdhfsakfha","transactionId":"PAY20240520001","purpose":"UUUUUUUUUUUUUUUUUUUU"}' \ https://vsaas-domain/vsaas/api/v1/ss/contract
2. 响应示例(成功)
创建合约响应(示例)
{    "data": {        "contractId": "66fa0056f35e358c2arewrqggg",        "expires": "2024-02-30T01:35:18.312174281Z",        "startTime": "2024-01-30T01:35:18.312174281Z"    } }

三、修改合约接口(updateContract)

用于修改合约状态(激活/取消),支持延长合约到期日或立即终止合约,需传递合约ID和目标状态参数,参数错误会返回400参数错误。前置条件:调用者需具备合约的修改权限,且Oauth token有效。
(一)请求说明
1. 请求URL
PATCH: http://vsaas-domain/vsaas/api/v1/ss/contract/{id} 说明:仅支持PATCH请求方式,{id}为合约ID路径参数
说明:id为合约ID(路径参数),state为目标状态(cancel/activate),均为必填项。
2. 请求头(Header)
参数名类型必选说明
AuthorizationString授权令牌,格式:Bearer {Oauth token}
Content-TypeString固定值:application/json
3. 请求参数
参数名类型必选位置说明
idStringPATH PATCH合约ID(URL路径参数),唯一标识待修改的合约
stateStringBODY PATCH目标状态:"cancel"(立即终止)或 "activate"(延长到期日)
4. 请求体(PATCH 方式专用)
{  "state":"cancel" }
说明:state参数仅支持"cancel"或"activate"两个值,传入其他值会返回400参数错误;"activate"表示合约延长至下一个到期日,"cancel"表示合约立即终止。
(二)响应说明
1. 响应状态码
状态码徽章说明
200成功请求成功,合约状态修改完成
400参数错误合约ID无效或state值错误(非cancel/activate)
401授权失败Oauth token无效或过期
500服务器错误服务器内部错误,请联系技术支持排查
2. 响应数据结构
{  "data": {    "contractId": "String", // 合约唯一标识    "expires": "String"     // 修改后的合约到期时间(UTC格式)  } }
3. 响应参数说明
字段名类型说明返回规则
contractIdString合约唯一标识ID必返回
expiresString修改后的合约到期时间(UTC格式)必返回
(三)接口示例
1. 请求示例(curl)
PATCH方式请求(示例)
curl -X PATCH \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer' \ -d '{"state":"cancel"}' \ http://vsaas-domain/vsaas/api/v1/ss/contract/93FEE01553D71FE0AA0F
2. 响应示例(成功)
修改合约响应(示例)
{    "data": {        "contractId": "93FEE01553D71FE0AA0F",        "expires": "2024-01-30T01:35:18.312174281Z"    } }

四、删除合约接口(deleteContract)

用于删除指定ID的合约,立即终止合约服务,仅需传递合约ID路径参数,参数无效会返回400参数错误。注意:该操作不可逆,删除后合约服务立即终止,请谨慎操作。
(一)请求说明
1. 请求URL
DELETE: http://vsaas-domain/vsaas/api/v1/ss/contract/{id} 说明:仅支持DELETE请求方式,{id}为合约ID路径参数
说明:id为合约ID(路径参数),是唯一必填项,用于指定待删除的合约。
2. 请求头(Header)
参数名类型必选说明
AuthorizationString授权令牌,格式:Bearer {Oauth token}
Content-TypeString固定值:application/json
3. 请求参数
参数名类型必选位置说明
idStringPATH DELETE合约ID(URL路径参数),唯一标识待删除的合约
4. 请求体(DELETE 方式专用)
// DELETE请求无需请求体,仅需在URL中传递合约ID参数
说明:DELETE请求无需提交请求体,仅需确保URL中的合约ID参数有效;该操作不可逆,删除前请确认合约无需保留。
(二)响应说明
1. 响应状态码
状态码徽章说明
200成功请求成功,合约已删除
400参数错误合约ID无效或格式错误
401授权失败Oauth token无效或过期
500服务器错误服务器内部错误,请联系技术支持排查
2. 响应数据结构
{  "data": {    "message": "String" // 操作结果提示信息  } }
3. 响应参数说明
字段名类型说明返回规则
messageString操作结果提示(如"Terminate contract success.")必返回
(三)接口示例
1. 请求示例(curl)
DELETE方式请求(示例)
curl -X DELETE \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer' \ http://vsaas-domain/vsaas/api/v1/ss/contract/93FEE01553D71FE0AA0F
2. 响应示例(成功)
删除合约响应(示例)
{    "data": {        "message": "Terminate contract success."    } }

即刻开启您的物联网之旅

联系解决方案专家
Kalay App
资讯安全白皮书
全球专利布局
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 物联智慧科技(深圳)有限公司版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部