华为云用户手册

  • 响应消息 响应参数说明请参见下表: 参数 是否必选 类型 最大字符长度 说明 resultCode M String 6 调用结果码。 具体请参见调用结果码说明。 resultMsg O String 255 调用结果描述。 商家的服务器在处理接口请求时,需要做好幂等性处理。 云商店服务有可能重发请求,针对同一订单号,商家的服务器应当返回成功的响应,不应该再做实例延期处理,返回成功响应即可。 响应消息示例: { "resultCode":"000000", "resultMsg":"success." }
  • 请求方法:GET 参数 是否必选 类型 最大字符长度 说明 activity M String 20 接口请求标识,用于区分接口请求场景。 续费场景取值:refreshInstance authToken M String 50 安全校验令牌。 取值请参见authToken取值说明。 orderId M String 64 云商店订单ID。 说明: 续费操作会产生新的订单,与新购时订单ID不一致,请通过instance Id做资源识别。 instanceId M String 64 实例ID。 productId O String 64 产品标识,租户续费或转正产品实例时,如果订购周期类型发生变化,会传入变化后的产品类型对应的productId。 expireTime M String 20 过期时间。 格式:yyyyMMddHHmmss trialToFormal O String 2 是否是试用转正请求 不传参数:不是 1:是(试用转包周期) 默认不是试用转正。 timeStamp M String 20 请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS periodType O String 10 周期类型。 说明: 非必传,如需此参数,计费类型需选择包周期chargingMode=1,包周期购买场景请求时传该参数 年:"year" 月:"month" chargingMode=3,按次数购买场景请求时不传该参数。 periodNumber O integer 2 周期数量。 说明: 非必传,如需此参数,计费类型需选择包周期chargingMode=1,包周期购买场景请求时传该参数。 周期数量:1,2,3… orderAmount O bigdecimal 20 订单金额。 说明: 该金额为用户实际支付金额,供商家对账参考。 金额值大于等于0,最大三位小数。 单位:元 testFlag O Integer 1 是否调测数据。 1:接口调测数据 不传参数:真实买家同步数据 2018年5月12日新增接口参数:productId和trialToFormal。 2018年5月12日之后发布产品或已发布成功的产品新增规格时,请填写此新参数并通过接口调试(productId为空或者填值,trialToFormal“不传参数”或为“1”都要求调试通过)。 2018年5月12日之前已发布成功的产品,如果不涉及免费试用变更,不要求做接口调试。 请求消息示例: https://example.isv.com?activity=refreshInstance& expireTime=20180725000000&instanceId=03pf80c2bae96vc49b80b917bea776d7&orderId=HWS001014ED483AA1E8&timeStamp=20170725025113409&testFlag=1&authToken=09lsS5y+KCtxBu+ON4TXv1SrjH5KVYka9sx2MauHrQU=
  • 登录须知 开天aPaaS 企业工作台登录访问提供三种类型: 浏览器(推荐chrome)、PC客户端和移动端。 SaaS应用可以是轻应用(H5)或基于WEB架构应用,这些SaaS应用都经过oAuth或者CAS协议改造。 以oAuth2.0协议应用为例,企业用户首先通过用户名及密码登录 企业工作台 ,成功登录后,用户在企业工作台中点击某个SAAS应用, 企业工作台获取认证中心地址,并查询应用的回调址,并发起认证授权申请,回调成功后,SAAS应用获取Code及租户的ID,通过API获取accessToken及用户信息。 父主题: 开天aPaaS企业工作台登录
  • 公共请求消息头参数 表1 公共请求消息头 名称 描述 是否必选 示例 x-sdk-date 请求的发生时间,格式为:yyyyMMdd'T'HHmmss'Z'。 取值为当前系统的GMT时间。 否 使用AK/SK认证时必选 20160629T101459Z Authorization 签名认证信息 该值来源于请求签名结果。 请参考构造请求方法。 否 使用AK/SK认证时必选 - Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时必选 mkt-euro.myhuaweicloud.com Content-type 发送的实体的MIME类型。 是 application/json 父主题: 公共参数
  • 请求参数 表1 FormUrlEncoded参数 参数 是否必选 参数类型 描述 client_id 是 String 应用标识,注册应用后,分配的ClientId。 client_secret 是 String 应用密钥,注册应用后,分配的ClientSecret。 grant_type 是 String 授权类型,固定值:refresh_token。 refresh_token 是 String 刷新令牌,获取Access Token接口中返回。 请求示例 POST {domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...& client_secret=******...& refresh_token=******...& grant_type=refresh_token
  • 响应参数 表2 状态码 状态码 描述 200 请求成功。 400 请求错误。 状态码:200 表3 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in Long 访问令牌的有效期,以秒为单位。 scope String 授权范围。 refresh_token String 刷新令牌。 状态码:400 表4 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。
  • 接入流程 工业软件云License联营商品接入云商店的流程如下图所示: 图1 工业软件云License联营商品接入云商店流程 流程说明如下: 申请入驻云商店,成为商家。 云商店运营人员审核公司的资质信息。 根据工业软件云平台的商品接入规范进行应用改造。 准备生产接口服务器,根据本接入指南开发生产接口。 在卖家中心申请访问密钥。 将开发好的生产接口地址绑定访问密钥、并调测成功保存。 调测云商店查询订单、字符串/文件流上传接口。 在卖家中心发布应用资产。 工业软件云平台运营在海顿平台测试应用资产。 云商店运营审核应用资产上架。 在卖家中心申请联营认证。 云商店运营审核联营认证。 在卖家中心申请发布在线开通License联营商品。 云商店运营审核联营商品上架。 运营审核通过后商品上架成功,并在卖家中心自助管理生产接口通知消息。 父主题: 联营License类商品接入指南
  • 接口说明 管理员被授权管理某企业后,在买家中心登录,对企业内用户授权该企业已绑定的应用,云商店异步调用该接口请求商家同步该企业应用的用户授权信息,商家接口需要执行授权信息同步,保存用户授权信息,并返回通知云商店。 针对租户应用授权信息同步场景接口调用失败的情况,由企业管理员选择是否要继续进行同步。并用短信或邮件的形式通知ISV商家接口调用失败。 商家的服务器在处理接口请求时,需要做好幂等性处理。 对于同一个实例,相同的租户,相同的应用,相同的userName,要支持多次请求新增,或者删除,多次新增不应产生新的数据,且需要返回成功,如果是删除,多次删除也需要返回成功,不能因已删除返回失败,删除时不需要校验(新购商品)接口产生的实例是否存在。 租户同步流程如下图所示:
  • 请求方法:POST 接口URL:生产地址+固定子路径,其中固定子路径为/produceAPI/authSync; 接口示例:生产地址为https://example.isv.com,则接口URL为https://example.isv.com/produceAPI/authSync Headers请参数 参数 必选 参数类型 描述 authToken M String(255) 签名信息,请参考auth Token取值说明。 BODY请求参数 参数 必选 参数类型 描述 instanceId M String(64) 说明: 卖家申请应用凭证的时候传空,买家必传。 tenantId M String(64) 租户ID,与租户同步的接口租户ID保持一致,这个ID是买家 appId M String(64) 应用ID,与应用同步的应用ID保持一致的 userList M String 授权用户信息,包含userName:账号名(M)、name:姓名(M)、position:职位(O)、orgCode:部门(M)、role:角色(user-普通用户,admin-管理员)(M)、enable:账号状态(true-启用,false-禁用)(M)、employeeCode:工号(O)、employeeType:人员类型(1:正式 2:实习 3:劳务派遣 4:劳务外包)(O)、mobile:手机号(O)、email:邮箱(O)、workPlace:工作所在地(O)、entryDate:入职时间(yyyy-MM-d)(O) JSON串,例: [{\"userName\":\"zhangsan01\",\"name\":\"张三\",\"position\":\"系统管理员\",\"orgCode\":\"123456789\",\"role\":\"admin\",\"enable\":\"true\",\"employeeCode\":\"\",\"mobile\":\"\",\"email\":\"\",\"extension\":{\"entryDate\":\"2022-11-9\",\"employeeType\":\"4\",\"workPlace\":\"南京\"}},{\"userName\":\"lisi02\",\"name\":\"李四\",\"position\":\"运营经理\",\"orgCode\":\"123456789\",\"role\":\"user\",\"enable\":\"true\",\"extension\":{\"entryDate\":\"2022-11-16\",\"employeeType\":\"4\",\"workPlace\":\"南京\"}}] ISV需要根据角色给用户进行赋权,如果admin赋予管理员角色 最大一次同步用户数是500个 currentSyncTime M String 默认时区东8区,时间戳,时间格式:20220420114117642 flag M Integer(2) 0-删除 1-新增 2-修改 testFlag M Integer(2) 0-生产正式数据 1-调测数据 timeStamp M String 默认时区东8区,时间戳,时间格式:20220420114117642 响应参数 参数 必选 参数类型 描述 resultCode M String(6) 响应码,具体请参见调用结果码说明。 resultMsg O String(255) 响应信息 示例: POST https://example.isv.com/produceAPI/authSync Connection: keep-alive Content-Type: application/json authToken: "stbNYl*****************Ubt271qDr6WDAVLtLRb” Host: example.isv.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191) { "instanceId": "huaiweitest123456", "tenantId": "68cbc86ab******92f36422fa0e", "appId": "KSID******34456", "userList": "[{ userName:\"zhangsan01\",name:\"张三\",position:\"系统管理员\",orgCode:\"123456789\",role:\"admin\" enable:\"true\"},{ userName:\"lisi\",name:\"李四\",position:\"用户\",orgCode:\"123456789\",role:\"user\" enable:\"true\"},]", " currentSyncTime": "20220413093539534", "flag": 1, "testFlag": 0, "timeStamp": "20220413093539534", } HTTP/1.1 200 OK Body-Sign: sign_type="HMAC-SHA256", signature= "xxxxxxxxxx" Content-Type: application/json { " resultCode": "000000", " resultMsg": "Success" } HTTP Body签名: Body-Sign: sign_type="HMAC-SHA256", signature= "xxxxxxxxxxxxx" ,详情参考《HTTP Body签名》。
  • 响应消息 响应参数说明请参见下表: 参数 是否必选 类型 最大字符长度 说明 resultCode M String 6 调用结果码。 具体请参见调用结果码说明。 resultMsg O String 255 调用结果描述。 商家的服务器在处理接口请求时,需要做好幂等性处理。 云商店服务有可能重发请求,针对同一instanceId,商家的服务器不应该重复做实例资源释放处理,返回成功响应即可。 响应消息示例: { "resultCode":"000000", "resultMsg":"success." }
  • 请求方法:GET 参数 是否必选 类型 最大字符长度 说明 activity M String 20 接口请求标识,用于区分接口请求场景。 释放场景取值:releaseInstance authToken M String 50 安全校验令牌。 取值请参见authToken取值说明。 instanceId M String 64 实例ID。 orderId M String 64 新购商品时对应的订单ID。 authToken M String 50 安全校验令牌。 取值请参见authToken取值说明。 timeStamp M String 20 请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS orderAmount O bigdecimal 20 订单金额。 说明: 该金额为用户实际支付金额,供商家对账参考。 金额值大于等于0,最大三位小数。 单位:元 testFlag O Integer 1 是否调测数据。 1:接口调测数据 不传参数:真实买家同步数据 请求消息示例: https://example.isv.com?activity=releaseInstance&instanceId=03pf80c2bae96vc49b80b917bea776d7&timeStamp=20170725025113409&testFlag=1&authToken=09lsS5y+KCtxBu+ON4TXv1SrjH5KVYka9sx2MauHrQU=
  • 状态码 HTTP响应状态码如表1所示。 表1 HTTP响应状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 接口使用方法
  • 下载ISCDesk ISCDesk下载地址如表1所示。 表1 下载列表 支持平台 下载地址 Windows x64 ISCDesk-win64 ISCDesk-win64_sha256 ISCDesk软件包下载地址是不带sha256后缀结尾的链接,带sha256后缀结尾的下载链接仅为对应软件包的完整性校验文件。例如:Windows x64版本的下载链接是,它的校验文件下载链接则是。 ISCDesk最新版本仅支持Windows x64。 父主题: ISCDesk客户端
  • 发起请求 共有三种方式可以基于已构建好的请求消息发起请求,分别为: cURL cURL是一个命令行工具,用来执行各种URL操作和信息传输。cURL充当的是HTTP客户端,可以发送HTTP请求给服务端,并接收响应消息。cURL适用于接口调试。关于cURL详细信息请参见https://curl.haxx.se/。 编码 通过编码调用接口,组装请求消息,并发送处理请求消息。 REST客户端 Mozilla、Google都为REST提供了图形化的浏览器插件,发送处理请求消息。针对Firefox,请参见Firefox REST Client。针对Chrome,请从Chrome 网上应用店搜索REST Client应用。 父主题: 接口使用方法
  • 请求方法:GET 参数 是否必选 类型 最大字符长度 说明 authToken M String 50 安全校验令牌。 取值请参见authToken取值说明。 activity M String 32 接口请求标识,用于区分接口请求场景。 资源状态变更实例状态场景取值:instanceStatus instanceId M String 64 实例ID 注意: 使用按需接口返回的 instanceStatus M String 32 变更状态: FREEZE:冻结 NORMAL:解冻 timeStamp M String 20 请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS testFlag O String 2 是否为调试请求。 1:调试请求 0:非调试业务 默认取值为“0”。 请求示例: 冻结:https://example.isv.com?activity=instanceStatus&instanceId=huaweitest123456&instanceStatus=FREEZE&testFlag=1&timeStamp=20230327070251713&authToken=pqlrW7%2BPHC%2F1JE%2BMEjKxC94GGJreoS6PZHd982auw2o%3D 解冻:https://example.isv.com?activity=instanceStatus&instanceId=huaweitest123456&instanceStatus=NORMAL&testFlag=1&timeStamp=20230327070251713&authToken=pqlrW7%2BPHC%2F1JE%2BMEjKxC94GGJreoS6PZHd982auw2o%3D
  • 调用结果码说明 模块 结果码 结果码说明 公共 000000 成功 000001 鉴权失败 000002 请求参数不合法 000003 实例ID不存在(更新实例、更新实例状态、释放实例接口可能返回) 000004 请求处理中 000005 其它服务内部错误 创建实例 000100 无可用实例资源分配 异步申请License 000900 该实例当前生效订单可用License额度不足 000901 请在当前订单有效日期区间内申请License 000902 包周期License必须输入失效日期 000903 申请License必须输入设备指纹或硬件识别编码 父主题: 在线开通License接入指南
  • 请求方法:POST 接口URL:生产地址+固定子路径,其中固定子路径为/produceAPI/allOrgSync; 接口示例:生产地址为https://example.isv.com,则接口URL为https://example.isv.com/produceAPI/allOrgSync Headers请参数 参数 必选 参数类型 描述 authToken M String(255) 签名信息,请参考auth Token取值说明。 BODY请求参数 参数 必选 参数类型 描述 instanceId M String(64) 说明: 卖家申请应用凭证的时候传空,买家必传。 tenantId M String(64) 租户ID orgInfo M String 组织内部门层级信息,包含部门代码、部门名称、上级部门Code,Json串,非树形结构 JSON串,例: [{\"orgCode\":\"00000001\", \"name\":\"产品部\",\"parentCode\":\"265789314\"},{\"orgCode\":\"00000002\", \"name\":\"测试部\",\"parentCode\":\"265789314\"}] testFlag M Integer(2) 0-生产正式数据 1-调测数据 timeStamp M String 默认时区东8区,时间戳,时间格式:20220420114117642 响应参数 参数 必选 参数类型 描述 resultCode M String(6) 响应码,具体请参见调用结果码说明。 resultMsg O String(255) 响应信息
  • 请求参数 表1 FormUrlEncoded参数 参数 是否必选 参数类型 描述 client_id 是 String 应用标识,注册应用后,分配的ClientId。 client_secret 是 String 应用密钥,注册应用后,分配的ClientSecret。(解密后的明文) code 是 String 授权码,认证登录后回调获取的授权码。(code值仅可使用一次) grant_type 是 String 授权类型,固定值:authorization_code。 redirect_uri 否 String 回调地址,注册应用时填写的回调地址。 请求示例 POST {domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded code=z2D...& client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...& client_secret=******...& redirect_uri=https://example.com& grant_type=authorization_code
  • 响应参数 表2 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in Long 访问令牌的有效期,以秒为单位。 scope refresh_token String String 授权范围。 refresh_token String 刷新令牌,默认生成,有效期30天。 error String 错误类型。 error_description String 错误描述。 refresh_token有效期设置应比access_token长。
  • 接口调用流程 接口调用的流程为: 获取AK/SK认证 调用接口前,请获取请求认证,并将认证字段填充至下一步中的方法中,进行请示构建,实现请求的认证。 调用接口采用AK/SK认证方式。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。 通过API网关向下层服务发送请求时,必须使用AK(Access Key ID)、SK(Secret Access Key)对请求进行签名。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 构造请求方法。 填充请求参数构建请求方法。 发起请求。 解析消息响应。 父主题: 接口使用方法
  • 接口说明 买家购买联营SaaS商品后,在买家中心登录,将应用与企业绑定时,云商店调用该接口请求商家同步该企业的租户信息,商家接口需要执行租户同步,保存租户信息,并返回通知云商店。 针对租户同步场景接口调用失败的情况,由买家选择是否重试,并用短信或邮件的形式通知商家接口调用失败。 商家的服务器在处理接口请求时,需要做好幂等性处理。 对于同一个实例,相同的租户要支持多次请求新增,或者删除,多次新增不应产生新的数据,且需要返回成功,如果是删除,多次删除也需要返回成功,不能因已删除返回失败,删除时不需要校验(新购商品)接口产生的实例是否存在。 租户同步流程如下图所示:
  • 请求方法:POST 接口URL:生产地址+固定子路径,其中固定子路径为/produceAPI/tenantSync; 接口示例:生产地址为https://example.isv.com,则接口URL为https://example.isv.com/produceAPI/tenantSync Headers请参数 参数 必选 参数类型 描述 authToken M String(255) 签名信息,请参考auth Token取值说明。 Body参数 参数 必选 参数类型 描述 instanceId M String(64) 说明: 实例ID,卖家申请应用凭证的时候传空,买家正式订单必传。 orderId M String(64) 说明: 买家的订单号,卖家申请应用凭证的时候传空,买家正式订单必传。 tenantId M String(64) 租户ID tenantCode M String(64) 租户标识,用来识别最终用户的登录指向买家对应的域名 name M String(255) 租户名称,买家企业的名称 domainName M String(255) 域名,是认证中心返回的统一域名地址 flag M Integer(2) 0-删除 1-新增 testFlag M Integer(2) 0-生产正式数据 1-调测数据 timeStamp M String 默认时区东8区,时间戳,时间格式:20220420114117642 响应参数 参数 必选 参数类型 描述 resultCode M String(6) 响应码,具体请参见调用结果码说明。 resultMsg O String(255) 响应信息 示例: POST https://example.isv.com/produceAPI/tenantSync */produceAPI/tenantSync为固定值/* Connection: keep-alive Content-Type: application/json authToken: "stb****************HvordsmyF2Ubt271qDr6WDAVLtLRb” Host: example.isv.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191) { "instanceId": "huaiweitest123456", "orderId": " CS 1906666666ABCDE", "tenantId": "68cbc86****************880d92f36422fa0e", "tenantCode": "huawei", "name": "huaiweitest", "domainName": "https://example.tenantaccount.com", "flag": 1, "testFlag": 0, "timeStamp": "20220413093539534", } HTTP/1.1 200 OK Body-Sign: sign_type="HMAC-SHA256", signature= "******" Content-Type: application/json { " resultCode": "000000", " resultMsg": "Success" } HTTP Body签名: Body-Sign: sign_type="HMAC-SHA256", signature= "******" ,详情参考《HTTP Body签名》。
  • 概念介绍 ISCDesk ISCDesk(Industrial Software Cloud Desktop),工业软件 云桌面 工具管理客户端,提供工具软件的一键下载、安装、打开、更新和卸载功能。 ISV ISV(Independent Software Vendor),独立软件开发商,是具有区域和行业属性的软件类合作伙伴。此处指云商店商家,是指经过有效申请并经过华为同意,通过云商店向用户销售及提供基于云计算,大数据业务的软件,镜像以及服务的企业。
  • 接口功能及说明 商家发布SaaS商品时,首先需根据本接入指南,在生产接口服务器开发生产系统接口。 具体可以参考接口描述。 1.已经完成基础接口描述中接口对接的商家,本次生产系统接口只需要实现联营Kit接口描述中接口的对接。 2.首次上架的联营商品需完成基础接口描述和联营Kit接口描述的对接。 如果发布包周期商品,接口需实现“新购(包周期)”、“续费”、“过期”、“释放”四种场景的调用。 如果发布按次商品,接口需实现“新购(按次)”和“释放”场景的调用。 如果发布按需商品,接口需实现“新购(按需)”、“新购(按需套餐包)”、“查询实例信息”、“资源状态变更”、“释放”、“按需使用量推送”场景的调用。 3.SaaS接口响应失败将通过邮件、短信、站内信进行通知,请注意关注账号绑定的邮箱、手机短信及站内信的相关通知。 若商品单月因接口失败导致的失败订单超过5个或长时间拨测失败,云商店将对该商品下架处理。 因接口响应失败导致自动退订的订单,请商家及时联系用户进行沟通,避免造成用户投诉。 父主题: 联营SaaS类商品接入指南 V1.0
  • 响应消息 响应参数说明请参见下表: 参数 是否必选 类型 最大字符长度 说明 resultCode M String 6 调用结果码。 具体请参见调用结果码说明。 resultMsg O String 255 调用结果描述。 商家的服务器在处理接口请求时,需要做好幂等性处理。 云商店服务有可能重发请求,针对同一instanceId,商家的服务器不应该重复做实例过期处理,返回成功响应即可。 响应消息示例: { "resultCode":"000000", "resultMsg":"success." }
  • 请求方法:GET 参数 是否必选 类型 最大字符长度 说明 activity M String 20 接口请求标识,用于区分接口请求场景。 过期场景取值:expireInstance authToken M String 50 安全校验令牌。 取值请参见authToken取值说明。 instanceId M String 64 实例ID orderId M String 64 新购商品时对应的订单ID。 timeStamp M String 20 请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS testFlag O Integer 1 是否调测数据。 1:接口调测数据 不传参数:真实买家同步数据 请求消息示例: https://example.isv.com?activity=expireInstance&instanceId=03pf80c2bae96vc49b80b917bea776d7 &timeStamp=20170725025113409&testFlag=1&authToken=09lsS5y+KCtxBu+ON4TXv1SrjH5KVYka9sx2MauHrQU=
  • 请求消息 请求参数说明请参见下表: 请求方法:POST 参数 是否必选 类型 取值范围 说明 activity M String 20 接口请求标识,用于区分接口请求场景。 异步申请License场景取值:getLicenseAsync instanceId M String 64 业务资源实例ID effectiveTime M String 32 License生效utc时间 expireTime O String 32 License失效utc时间,包周期类型必输 eventId M String 64 云商店业务流水号,用于商家服务器结合设备指纹,区分是否是同一次申请License的请求,支持License传输中断等业务需要重试的场景 deviceFingerprint O String 1024 设备指纹或硬件识别编码,用于需要绑定设备物理标识信息生成License的场景 testFlag O String 2 是否为调试请求。 1:调试请求 0:非调试请求 默认取值为“0”。 请求消息示例: curl -X POST 'https://www.isvwebsite.com/saasproduce?signature=11C4C*********31DEF5C515*******B8A3A6D8******7A48×tamp=1680508066618&nonce=50D83FDECAED6CCD8EF597F2A577950527928BA287D04E6036E92B2806FD17DA' -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf8' -d'{"activity":"getLicenseAsync","eventId":"8****e5694*****c8","instanceId":"RA2****4LVS","effectiveTime":"2023-10-27 10:30:15 z","expireTime":"2024-10-27 10:30:15 z","deviceFingerprint":"8******6034e2*****60e1"}'
  • 响应消息 响应参数说明请参见下表: 参数 是否必选 类型 取值范围 说明 resultCode M String 6 调用结果码。 000000:表示资源同步开通 000004:表示资源异步开通 具体请参见《调用结果码说明》。 resultMsg O String 255 调用结果描述。 请及时关注商家信息中客服邮箱以及云商店账号绑定的邮箱的通知,收到调用失败通知邮件及时处理接口异常。 云商店会对接口异常的情况做监控,如商品频繁出现因接口异常的情况,云商店将对该商品做下架处理。 响应消息示例: { "resultCode":"000000", "resultMsg":"success." }
  • 接口说明 用户通过云商店向商家申请License。 请及时关注商家信息中客服邮箱以及云商店账号绑定的邮箱的通知,收到调用失败通知邮件及时处理接口异常。 云商店会对接口异常的情况做监控,如商品频繁出现因接口异常的情况,云商店将对该商品做下架处理。 云商店服务有可能重发请求,针对同一请求,商家的服务器应当返回相同的License,不应该创建新的License,返回之前成功创建的License即可。 申请License流程如下图所示: 上传License流程如下图所示:
  • Sdk::CheckNewVersions 场景描述 升级信息查询函数,由工业软件调用。工业软件查询升级信息时,调用此函数,向ISCDesk查询是否存在升级版本。查询成功后会触发“EVENT_UPGRADENOTICE”事件,将升级信息告知工业软件。 升级信息样例如下: {"operate":"UpgradeNotice","params":{"available":"false"},"comeBackParams":{}} “available”字段表示是否存在可升级版本,字段值为“true”表示存在可升级版本;字段值为“false”表示不存在可升级版本。 当存在可升级版本时,ISCDesk会弹窗提示是否升级。若选择升级,则触发“EVENT_UPDATE”升级事件,将升级事件连同升级信息一同告知工业软件,工业软件可自行决定是否退出升级或继续使用。 升级信息(强制升级)样例如下: {"operate":"Update","params":{"fromForceWin":"true"},"comeBackParams":{}} “fromForceWin”字段表示升级类别,当前包含非强制升级和强制升级两种类别。 “fromForceWin”字段值为“false”,表示非强制升级。工业软件可选择是否升级并通知ISCDesk,如果工业软件选择升级,则ISCDesk会在工业软件关闭后进行升级。 “fromForceWin”字段值为“true”,表示强制升级。工业软件无法选择是否升级,ISCDesk会在工业软件关闭后进行升级。 当工业软件选择升级或存在强制升级信息时,建议工业软件执行保存并退出操作。 涉及接口 Sdk::CheckNewVersions 调用示例 ResultStatus CheckNewVersions(); 父主题: 升级相关
共100000条