更新时间:2023-04-19 02:31:12下载pdf
本文档主要介绍涂鸦 PMS 产测 SDK 接口功能。在生产测试过程中,产测工具 SDK 访问涂鸦 PMS,同时获取产测信息或者上传产测信息到涂鸦 PMS。
您可以前往 SDK 仓库 进行下载。
└─tuya-cloud-sdk
├─C#
│ │ BouncyCastle.Crypto.dll
│ │ Newtonsoft.Json.dll
│ │ ReleaseNote.txt
│ │ TuyaCloudIfLib.dll
│ │ TuyaCloudIfLib.xml
│ │
│ └─Demo
└─C++
├─Demo
│ Demo(C++).rar
│
└─Lib
BouncyCastle.Crypto.dll
CloudExport.h
CppCloudLib.dll
CppCloudLib.lib
Newtonsoft.Json.dll
Readme.txt
TuyaCloudIfLib.dll
接口 | 说明 |
---|---|
SetUrlSftVer | 设置涂鸦工具工作环境 |
UserLogin | 账号登录 |
TokenAuth | 授权 |
GetTokenInfo | 获取 Token 信息 |
TokenAuthValidate | 授权有效性校验 |
AddAuthLog | 添加授权日志 |
GetWorkOrderInfo | 查询工单信息 |
GetCraftLine | 查询工艺路线 |
QueryMacSN | 根据 SN 查询对应的 MAC,IMEI 等数据 |
StationReset | 站位状态重置 |
Auth | 工单授权 |
AuthValidate | 工单授权校验 |
StationStatusCommit | 站位状态提交 |
GetShortLink | 获取短链接 |
GetSmartConfigQRCode | 根据 SN 和 PID 获取配网二维码 |
CheckNodeIsPass | 检查是否过站 |
接口 | 说明 |
---|---|
Login | 用户登录 |
CloudAPI | 通用云端访问接口 |
接口名称
SetUrlSftVer
功能说明
此接口用于选择涂鸦工具的工作环境和设置调用 SDK 的应用程序的名称和版本信息。调用此接口后,每次调用网络通信接口时,调用参数中自动附带应用程序的名称和版本信息。
函数原型
void SetUrlSftVer ( string sftVer, string sftIdentity, _LoginUrlType urlType = _LoginUrlType.Release )
参数说明
参数名称 | 说明 |
---|---|
sftVer | 调用 SDK 的软件的版本号 |
sftIdentity | 调用 SDK 的软件名称 |
urlType | 涂鸦工具工作环境,默认为线上环境 |
返回值
返回值 | 说明 |
---|---|
无 | 无 |
urlType 必须为 _LoginUrlType.Release,否则可能导致产品授权无效。
接口名称
UserLogin
功能说明
此接口实现涂鸦工具账号登录,实现用户身份验证。账号和密码可以联系项目经理申请。每个客户需要单独申请账号和密码,不同的账号拥有不同的权限范围和使用范围。绝大部分网络通信接口都需要账号登录后才能访问。
函数原型
UserLoginRspParas UserLogin ( UserLoginReqParas ReqParas, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
ReqParas | 账号登录请求参数,为 UserLoginReqParas 类型的对象 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
UserLoginRspParas 类型的对象 | 包含登录返回成功信息,以及错误信息等 |
接口名称
TokenAuth
功能说明
此接口上传产品的信息如 MAC、SN、Token 等信息到涂鸦 PMS,校验通过后返回授权秘钥等信息,完成设备的授权。未经授权或授权失败的设备可能无法连接到涂鸦 IoT PaaS 。
函数原型
TokenAuthRsp TokenAuth ( TokenAuthReq ReqParas, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
ReqParas | 授权请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
ProdTokenAuthRsp 类型的对象 | 包含接口操作成功结果、错误信息、授权信息等。 |
接口名称
GetTokenInfo
功能说明
用于获取 Token 绑定信息。
函数原型
GetTokenInfoRspParas GetTokenInfo ( GetTokenInfoReqParas ReqParas, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
ReqParas | 授权请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
GetTokenInfoRspParas 类型的对象 | 查询 Token 信息获取返回结果 |
接口名称
TokenAuthValidate
功能说明
用于校验授权有效性,授权必须要通过授权有效性校验。
函数原型
TokenAuthValidateRsp TokenAuthValidate ( TokenAuthValidateReq ReqParas, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
ReqParas | 授权校验请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
TokenAuthValidateRsp 类型的对象 | 包含授权有效性校验结果 |
接口名称
AddAuthLog
功能说明
授权完成后添加授权日志到涂鸦 PMS。
函数原型
AddAuthLogRspParas AddAuthLog(AddAuthLogReqParas ReqParas, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
ReqParas | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
AddAuthLogRspParas 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
GetWorkOrderInfo
功能说明
查询工单信息。
函数原型
GetWorkOrderInfoRsp GetWorkOrderInfo ( GetWorkOrderInfoReq Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
GetWorkOrderInfoRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
GetCraftLine
功能说明
查询工艺路线。
函数原型
GetCraftLineRsp GetCraftLine( GetCraftLineReq Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
GetCraftLineRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
QueryMacSN
功能说明
根据 SN 查询对应的 MAC,IMEI 等数据,这些数据事先已经与 SN 绑定。
函数原型
QueryMacSNRspParas QueryMacSN ( queryMacSNReqParas Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
QueryMacSNRspParas 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
StationReset
功能说明
重置站位状态,清除此站位的测试记录和状态。
函数原型
StationResetRsp StationReset( StationResetReq Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
StationResetRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
Auth
功能说明
通过工单对产品进行授权。
函数原型
AuthRsp Auth( AuthReq Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
AuthRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
AuthValidate
功能说明
通过工单进行校验。
函数原型
AuthValidateRsp AuthValidate( AuthValidateReq Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
AuthValidateRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
StationStatusCommit
功能说明
提交站位状态。
函数原型
StationStatusCommitRsp StationStatusCommit( StationStatusCommitReq Req, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 添加授权日志请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
StationStatusCommitRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
GetShortLink
功能说明
获取短链接。
函数原型
GetShortLinkRsp GetShortLink( GetShortLinkReq, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 获取短链接请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
GetShortLinkRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
GetSmartConfigQRCode
功能说明
获取短链接。
函数原型
GetSmartConfigQRCodeRsp GetSmartConfigQRCode( GetSmartConfigQRCodeReq, string apiVer = "1.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 获取短链接二维码请求参数 |
apiVer | API 版本,默认为 1.0 |
返回值
返回值 | 说明 |
---|---|
GetSmartConfigQRCodeRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
接口名称
CheckNodeIsPass
功能说明
检查产品的过站状态。
函数原型
CheckCraftRouteNodeRsp CheckNodeIsPass( CheckCraftRouteNodeReq req, string apiVer = "2.0")
参数说明
参数名称 | 说明 |
---|---|
Req | 请求查询过站状态 |
apiVer | API 版本,默认为 2.0 |
返回值
返回值 | 说明 |
---|---|
CheckCraftRouteNodeRsp 的对象 | 包含接口操作成功结果、错误信息等。 |
enum _LoginUrlType
{
Release = 0, //线上环境,默认
Preview = 1, //预发环境
Daily = 2 //日常环境
}
public class UserLoginReqParas
{
public string username; //用户名,必填
public string password; //密码,必填
public string token; //token,非必填
}
public class PermissionsData
{
public string permissionCode; // 登录权限码
public string permissionName; // 登录权限名称
}
public class UserLoginResult
{
public string sessionId; // 登录 session id
public List<PermissionsData> permissions; // 登录权限数据列表
}
public class UserLoginRspParas{
public bool success; //接口执行结果,成功为 true,失败为 false
public string errorMsg; // 错误信息
public string errorCode; //错误码
public string status; // 操作状态,包含一些特定的错误信息或状态
public long t; //接口调用时间
public UserLoginResult result; // 账号登录返回结果
}
public class TokenAuthReq
{
public string sn ; //产品序列号
public string tokenId ; //激活码
public string sftVersion ;//软件版本号
public string muid ; //乐鑫芯片的 muid,其他芯片传空字符串
public string mac ; // 产品的 MAC 地址
public string chipId ; // 加密芯片的芯片 ID,无加密芯片传空串
}
public class TokenAuthResult
{
public string uuid; //模组 uuid
public string mac; //授权的 MAC
public string accessKey; //授权秘钥
}
public class TokenAuthRsp{
public bool success; //接口执行结果,成功为 true,失败为 false
public string errorMsg; //错误信息
public string errorCode; //错误代码
public string status; //操作状态
public long t; //接口调用时间戳
public TokenAuthResult result; //授权结果只有串口执行结果为 true 的时候有意义
}
public class GetTokenInfoReqParas
{
public string tokenId; //激活码
public string type; //授权类型“Wi-Fi”
public string sftVersion; //软件版本
public string softwareName; //软件名称
}
public class TokenInfo
{
public int amount; //授权总数
public string firmwareConfigMd5; //配置文件 md5 校验码
public string firmwareConfigUrl; //配置文件下载地址
public string snPrefix; //sn 的前缀
public string firmwareChip; //固件芯片平台
public string firmwareProtocolType; //固件协议类型
public string productionFirmwareMd5; //生产固件 md5 校验码
public string productionFirmwareUrl; //生产固件下载地址
public bool supportFirmwareConfig; //是否支持 oem 配置
public string productionSubFirmwareUrl; //子固件下载地址
public string moduleModelChip; //模组芯片平台
public string productId; //产品 ID
public string type; //激活码类型
public string firmwareKey; //固件 key
public string macRule; //是否云端分配 MAC,“0”:不分配 MAC,“1”:分配 MAC
public bool oem; //是否是 oem 固件
public string countryCode; //国家码
public string productionSubFirmwareMd5; //子固件 md5 校验码
public string userareaFirmwareUrl; //用户区固件下载地址
public string userareaFirmwareMd5; //用户区固件 md5 校验码
public bool refreshUserarea; //是否刷新用户区固件
public long effectiveTime; //激活码生效时间
public int expires; //有效期
public string id; //激活码
public string productionId; //生产批号
public bool test; //是否产测
public int usedAmount; //已授权数量
public string wifiHotspotName; //热点名称
public string wifiPassword; //热点密码
public string desc; //激活码描述信息
public string manufacturer; //生产工厂
public string productKey; //预留
public string fingerprint; //固件名称
public string firmwareVersion; //固件版本
public int firmwareType; //预留
public bool gpioTest; //预留
public bool wifiTest; //预留
public string baselineVersion; //预留
public string flashRunSize; //flash 大小,单位 Mbits
}
public class TokenAuthRsp
{
public bool success; //接口执行结果,成功为 true,失败为 false
public string errorMsg; //错误信息
public string errorCode; //错误码
public string status; //操作状态,包含一些特定的错误信息或状态
public long t; //接口调用时间戳
public ProdTokenAuthResult result; //授权结果数据
}
public class ProdTokenAuthValidateReq {
public string tokenId ; //激活码
public string sn; //产品序列号
public string mac ; //MAC 地址
public string uuid ; //授权产品 uuid
public string muid ; //产品芯片的 id
public string accessKey ; //授权秘钥
public string wifiHotspotName ; //热点名称
public string wifiPassword ; //热点密码
public string chipId ; //加密芯片 id
public string sftVersion ; //软件版本
}
public class TokenAuthValidateResult
{
public bool result; //授权校验结果
public string failureDepict; //失败原因描述信息
}
public class TokenAuthValidateRsp : BaseResponse
{
public bool success; //授权校验执行结果
public string errorMsg; //错误信息
public string errorCode; //错误码
public string status; //操作状态,包含一些特定的错误信息或状态
public long t; //时间戳
public ProdTokenAuthValidateResult result; // 授权校验结果
}
public class AuthLog
{
public string hid; //Wi-Fi 类授权为 MAC 地址
public string uuid; //授权 uuid
public string tokenId; //激活码
public string sn; //产品 sn
public string activeTime; //时间戳
public string firmwareInfo; //固件指纹,包含固件名称和版本
public string gpio; //gpio 测试结果“成功”或“失败”
public string rssi; //Wi-Fi 信号强度测试结果
public int authStatus; //授权状态,1:成功,0:失败
public string authDepict; //授权状态描述,“成功”或“失败”
public string countryCode; //国家码
}
public class AddAuthLogReqParas
{
public AuthLog log; //授权日志数据集
}
public class AddAuthLogRspParas{
public bool success; //接口执行结果
public string errorMsg; //错误信息
public string errorCode; //错误代码
public string status; //操作状态,包含一些特定的错误信息或状态
public long t; //时间戳
}
public class GetWorkOrderInfoReq {
public string orderCode;/// 必填,工单号
}
public class GetWorkOrderInfoRsp{
public WorkOrderInfo result;//查询到的结果
public class WorkOrderInfo
{
public string materielCode;//物料编码
public string productSize;/// 产品型号
public string pcsNum;/// 订单数量
public string tokenId;/// 激活码
}
}
public class GetCraftLineReq{
public string orderCode;///工单号
}
public class GetCraftLineRsp{
public CraftLineNodes result;
public class CraftLineNodes {
public string code;/// 工艺路线编码
public string name;/// 工艺路线名
public List<Node> nodeList;/// 工艺路线节点列表
public class Node/// 工艺路线节点定义
{
public string code;/// 工位编码
public string desc; /// 工位描述
public string programs;/// 工位程序
}
}
public class QueryMacSNReqParas{
public string orderCode = "";/// workorder
public string tokenId = "";/// 授权码
public string keyType = "";/// sn,MAC,可以不填
public string key = ""; /// sn 或 MAC 地址,可以不填,填了就找与之绑定的 MAC,sn,cmei
public string printed = "";/// 是否打印,N 表示返回未打印的记录、Y 返回已打印的记录、空字符串返回所有记录
public int offset = 0;/// 偏移量
public int limit = 1;/// 查询返回记录数量限制
}
public class QueryMacSNRspParas{
public MacSNQueryResult result;
public class MacSNQueryResult {
public int totalCount;/// 记录总数
public List<MacSNData> datas;/// 一系列的 SN、MAC 数据
}
public class MacSNData
{
public string code;/// 编码(该编码作为彩包的包装编码)
public string sn;/// SN 号
public string mac;///MAC
public string tokenId;/// 授权码
public string printed; /// 是否已经打印,Y:已打印;N:未打印
public string packed;/// 是否已经打包,Y:已打包;N:未打包
public string channelType; /// 运营商类型
public string channelDeviceId;/// 运营商编码
public string psk;/// psk 秘钥
public string imei;/// IMEI
public string patchSn;/// 贴片 SN
public string jdSecretKey; /// 京东云秘钥
}
}
public class StationResetReq{
public string orderCode ;/// 工单号,不可为空
public string sn; /// SN,不可为空
public string stationCode ;/// 站位编号,不可为空
}
public class StationResetRsp{
public StationResetResult result;
public class StationResetResult {
public string requestId ;///通讯连接句柄
public int amount/// 过站数量
}
}
public class AuthReq{
public string requestId ; /// 不可为空,该字段从 reset 工位获取
public string tokenId ;/// 激活码,不可为空
public string sn;/// SN 码,不可为空
public string muid;/// Wi-Fi 乐鑫模组才上传芯片 ID
public string mac;/// 如果是 Zigbee 和乐鑫,这里需要上传 MAC(MAC 是从模组读出来的,不从打标签分配)
public string chipId; /// 安全芯片 ID,安全模组的项目才会传
public string sftVersion;/// 不可为空,表示产测工具软件的版本
}
public class AuthRsp{
public AuthRspResult result;
public class AuthRspResult {
public string uuid;/// 模组 uuid(模组的 uuid 这里由云端生成,生成规则沿用老逻辑,根据不同的联网模式来生成 uuid)
public string mac;/// MAC 地址
public string accessKey;/// accessKey
public string pskKey ;/// pskKey
public string certificateContent;/// 安全认证证书
public string privateKey; /// 安全私钥
public int crc32CertificateContent;/// 安全证书 CRC 校验码
public int crc32PrivateKey ;/// 私钥 CRC 校验码
}
}
public class AuthValidateReq{
public string requestId;/// 不可为空,请求标识,该字段从 reset 工位获取
public string tokenId; /// 不可为空,激活码
public string sn; /// 不可为空,SN
public string muid;/// Wi-Fi 乐鑫模组才上传芯片 ID
public string accessKey;/// 不可为空,授权码,从模组里读取出来
public string uuid; /// 不可为空,模组 uuid,从模组里读取出来
public string mac;/// 如果是 Zigbee 和乐鑫,这里需要上传 MAC(MAC 是从模组读出来的,不从打标签分配)
public string wifiHotspotName;/// 热点名称,从模组里读取出来
public string wifiPassword; /// Wi-Fi 密码,从模组里读取出来
public string chipId;/// 芯片 ID
public string sftVersion; /// 不可为空,产测软件版本
public string nodeCode;/// 工位编码
}
public class AuthValidateRsp{
public AuthValidateResult result;
public class AuthValidateResult {
public bool result;/// 授权检测结果
public string failureDepict;/// 授权检测失败原因描述
}
}
public class StationStatusCommitReq{
public string stationCode;/// 站位名称
public string requestId ;///通讯连接标识,
public string orderCode;/// 工单号
public string sn;/// SN
public int status; /// 1:状态上报成功, 0:状态上报失败
}
public class StationStatusCommitRsp{
public int result { get; set; }/// 过站数量
}
public class GetShortLinkReq
{
public string orderCode { get; set; } /// 必填,工单号
public string sn { get; set; }/// 必填,SN
public string appId { get; set; }/// 非必填,为空则为默认值 168
}
public class GetShortLinkRsp
{
public class GetShortLinkResult
{
public string sn { get; set; } /// 授权 SN,和传参里的 SN 可能不同
public string shortUrl { get; set; }/// //短域名
public string deviceCode { get; set; }/// //短码
}
public GetShortLinkResult result;
}
public class GetSmartConfigQRCodeReq
{
public string orderCode { get; set; }/// 工单号
public string sn { get; set; }/// SN
public string pid { get; set; }/// 产品 PID
}
public class GetSmartConfigQRCodeRsp
{
public class GetSmartConfigQRCodeResult
{
public string sn { get; set; } /// //授权 SN,和传参里的 SN 可能不同
public string shortUrl { get; set; } /// //短域名
public string deviceCode { get; set; } /// //短码
}
public GetSmartConfigQRCodeResult result;
}
/// <summary>
/// 检查 SN 是否过站请求入参定义
/// </summary>
public class CheckCraftRouteNodeReq : BaseRequest
{
public string sn;
/// <summary>
/// 当前的工位编号
/// </summary>
public string nodeCode;// 当前的工位编号
}
/// <summary>
/// 检查 SN 是否过站请求出参定义
/// </summary>
public class CheckCraftRouteNodeRsp : BaseResponse
{
/// <summary>
/// 工位测试状态,true 表示已测试通过,false 表示未测试或测试失败
/// </summary>
public bool result;
}
接口名称
Login
功能说明
通过此接口登录涂鸦 PMS,并获取用户权限信息。
函数原型
bool _stdcall Login(char* userName, char* password, char *version = "1.0", char*rsp = "");
参数说明
参数名称 | 说明 |
---|---|
userName | 登录用户名 |
password | 登录密码 |
version | 登录接口版本,默认为 1.0 |
rsp | 登录后返回的结果信息 |
返回值
返回值 | 说明 |
---|---|
字符串 | 通过 RSP 返回 JSON 格式的登录结果 |
接口名称
CloudAPI
功能说明
通过此接口登录涂鸦 PMS,并获取用户权限信息。
函数原型
bool _stdcall CloudAPI(char* api, char*data, char* ver,char*result);
参数说明
参数名称 | 说明 |
---|---|
api | 调用的 API 接口的名称 |
data | JSON 格式的字符串数据 |
ver | API 接口版本 |
result | 执行后的结果,JSON 格式字符串 |
返回值
返回值 | 说明 |
---|---|
result | 执行后的结果,JSON 格式字符串 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈