查询订单
功能介绍
云商店商家可通过该接口查询订单所有信息。
接口调用的流程

URI
GET :
https://mkt.myhuaweicloud.com/api/mkp-openapi-public/global/v1/order/query
参数说明请参见表1 响应参数。
仅支持https协议。
调测订单数据:
| 订单号 | 订单行ID | 订单类型 |
| MOCKPERIODYEARNEW | MOCKPERIODYEARNEW-000001 | 新购-包周期 |
| MOCKONETIMENEW | MOCKONETIMENEW-000001 | 新购-按次 |
| MOCKONDEMAND | MOCKONDEMAND-000001 | 新购-按需 |
| MOCKONDEMANDPKG | MOCKONDEMANDPKG-000001 | 新购-按需套餐包 |
| MOCKPERIODDAYTRIAL | MOCKPERIODDAYTRIAL-000001 | 试用订单 |
| MOCKMONTYTRIALTOFORMAL | MOCKMONTYTRIALTOFORMAL-000001 | 试用转正 |
| MOCKMONTYUNSUBSCRIBE | MOCKMONTYUNSUBSCRIBE-000001 | 退订 |
| MOCKMONTYRENEW | MOCKMONTYRENEW-000001 | 续费 |
| MOCKMONTYCHANGE | MOCKMONTYCHANGE-000001 | 变更、升级 |
请求消息
请求参数
请求方法:GET
| 参数 | 是否必选 | 参数类型 | 取值范围 | 描述 |
|---|---|---|---|---|
| orderId | M | String | 64 | 云商店订单ID |
| orderLineId | O | String | 64 | 云商店订单行ID |
请求注意事项:
- 需要对mkt.myhuaweicloud.com HTTPS证书进行强校验,不能忽略证书校验,从而保证调用的是真实而非伪造的云商店服务。
请求示例
GET /api/mkp-openapi-public/global/v1/order/query?orderId=CS2207261447AUY4H&orderLineId=CS2207261447AUY4H-000001 Host: Host Server Content-Type: application/json charset=UTF-8 X-Sdk-Date: request time Authorization: authorization
响应消息
| 参数 | 是否必选 | 参数类型 | 取值范围 | 描述 |
|---|---|---|---|---|
| resultCode | M | String | 16 | 结果码。 具体请参考错误码。 |
| resultMsg | M | String | 1024 | 结果消息。 具体请参考错误码。 |
| orderInfo | O | OrderInfo | / | 附加信息。 OrderInfo数据结构定义 |
OrderInfo数据结构定义如下:
| 参数 | 是否必选 | 参数类型 | 最大字符长度 | 说明 |
|---|---|---|---|---|
| orderId | M | String | 64 | 云商店订单号 |
| orderType | M | String | 32 | 订单类型,可用枚举:
|
| createTime | M | DateTime | 20 | 订单创建时间,取UTC时间。 格式:yyyyMMddHHmmss 说明: 不是订单生效时间,只表示用户下单的时间。 |
| orderLine | List<OrderLine> | 订单行信息 | ||
| buyerInfo | O | BuyerInfo | / | 客户信息 |
OrderLine数据结构定义如下:
| 参数 | 是否必选 | 参数类型 | 最大字符长度 | 说明 |
|---|---|---|---|---|
| orderLineId | M | String | 64 | 云商店订单行ID |
| chargingMode | M | String | 25 | 计费模式。 ON_DEMAND:按需计费 ONE_TIME:一次性计费 PERIOD:包周期计费 ON_DEMAND_PKG:按需套餐包。 |
| expireTime | O | DateTime | 20 | 过期时间,取UTC时间。 格式:yyyyMMddHHmmss 说明:
过期时间根据订单创建时间和购买周期计算而来,与订单实际过期时间有误差,仅供参考。 |
| periodType | O | String | 2 | 周期类型。 说明: 非必传,如需此参数,计费类型需选择包周期chargingMode= PERIOD,包周期购买场景请求时传该参数。 年:"year" 月:"month" 天:“day”//试用场景 |
| extendParams | O | List<ExtendParam> | / | 扩展参数。非必填。 扩展参数格式为key/value格式的数组。 例如:[{"name":"emailDomainName","value":"test.xxxx.com"},{"name":"ip","value":"192.168.1.1"}] 其中emailDomainName和ip为发布商品时填写值。 |
| periodNumber | O | integer | 5 | 周期数量。 说明: 非必传,如需此参数,计费类型需选择包周期chargingMode= PERIOD,包周期购买场景请求时传该参数。 周期数量:1,2,3… |
| currency | O | String | 64 | 订单金额,新购、续费、变更等正向场景下金额为正,退订、退续费等逆向场景金额为空 |
| currencyAfterDiscount | O | String | 25 | 订单成交金额,不包含代金券以及折扣的金额,新购、续费、变更等正向场景下金额为正,退订、退续费等逆向场景金额为负 |
| productInfo | M | List<ProductInfo> | 订单行关联的商品信息 |
ProductInfo数据结构定义如下:
| 参数 | 是否必选 | 参数类型 | 最大字符长度 | 说明 |
|---|---|---|---|---|
| productId | M | String | 64 | 产品标识,同一skuCode下,不同周期类型的productId不同。 例如:商家发布产品,新增一个规格,会生成一个skuCode,再配置包年价格,包月价格,会生成两个productId。 说明: 该参数可在商品审核上架后,进入“卖家中心 > 商品管理 > 我的商品 ”页面,单击该商品操作列的“详情”进入商品详情页面获取。 |
| skuCode | M | String | 64 | 产品规格标识。租户购买包月或包年的产品后,可能会续费,续费支持变更周期类型(例如包月转包年),此时,租户开通的实例instanceId对应的productId会变化,但skuCode不变。 说明: 该参数可在商品审核上架后,进入“卖家中心 > 商品管理 > 我的商品 ”页面,单击该商品操作列的“详情”进入商品详情页面获取。 |
| linearValue | O | Integer | 线性单位值,如果当前商品存在数量属性,用户在下单时选择的线性数值 | |
| productName | M | String | 64 | 商品名称 |
ExtendParam数据结构定义如下:
| 参数 | 是否必选 | 参数类型 | 最大字符长度 | 说明 |
|---|---|---|---|---|
| name | M | String | 64 | 参数名 |
| value | M | String | 64 | 参数的值 |
BuyerInfo数据结构定义如下:
| 参数 | 是否必选 | 参数类型 | 最大字符长度 | 说明 |
|---|---|---|---|---|
| customerId | M | String | 64 | 客户ID |
| customerName | M | String | 64 | 客户账号名//如:zhangsan |
| customerRealName | M | String | 64 | 客户真实名称//如:xxxxx公司 |
| customerType | M | integer | 64 | 未知:-1,个人:0,企业:1 |
| mobilePhone | O | String | 64 | 用户手机号//商品发布时需要勾选授权 |
| | O | String | 64 | 用户邮箱//商品发布时需要勾选授权 |
| userId | O | String | 64 | IAM用户id//商品发布时需要勾选授权,并且只在新购场景(创建实例)返回 注意:自2025.10.25日起,新增SaaS资产不再支持接口传递华为云IAM子账号信息,存量的SaaS资产不受影响。 |
| userName | O | String | 64 | IAM用户名称//商品发布时需要勾选授权,并且只在新购场景(创建实例)返回 注意:自2025.10.25日起,新增SaaS资产不再支持接口传递华为云IAM子账号信息,存量的SaaS资产不受影响。 |
错误码
| http状态码 | resultCode | resultMsg | 描述 |
|---|---|---|---|
| 200 | MKT.0000 | Success. | 请求成功 |
| 500 | MKT.0999 | System internal error. | 其它服务内部错误 |
| 500 | MKT.0100 | Failure of input parameter | 输入参数校验失败 参数范围超限,非法值或格式错误 |
| 400 | MKT.0101 | Invalid parameter | 参数无效 输入非接口定义的参数,多参数或少必选参数 |
| 400 | MKT.0199 | Request parameter error | 请求参数错误 其它参数错误 |
| 401 | MKT.0150 | Illegal operation | 通常是进行了不被授权的操作,例如instanceId对应的产品不是AK/SK对应的商家发布的 |
| 401 | MKT.0151 | No authority | 无API访问权限 token非商家角色 |
| 401 | MKT.0154 | Illegal token | 鉴权失败 token无效 |
| 406 | MKT. 0250 | Access frequency overlimit | 访问频率超限 |
| 500 | MKT.9001 | Instance ID not found. | 实例ID不存在(商品续费、过期、资源释放接口可能返回) |
| 500 | MKT.9002 | Invalid usage enties. | 计量实体无效 |
| 500 | MKT.9003 | Usage records extends size limit. | 计量记录数超出限制(100条) |
| 500 | MKT.9004 | Record beginTime extends Limit. | 计量记录的起始时间超出有效期(当前时间21天以内) |
| 400 | 95000001 | req param is invalid | 请求参数错误(正则、必填项、长度等不满足) |
| 405 | 95000002 | Request method not supported | 请求method类型不支持 |
| 415 | 95000003 | Content type not supported | 请求体类型不支持(Content-type不是application/json) |
| 400 | 95000004 | req message is not readable | 请求体不可读(无法格式化成json) |
| 500 | MKT.9005 | order is not exist. | 请求的订单不存在 |
其中,仅在resultCode为MKT.0100、MKT.0150、MKT.0250、MKT.9001、MKT.9002、MKT.9004、MKT.9005时,失败响应中包含extra_info字段。失败响应中resultMsg除字段描述,还包含响应失败详情。您可以结合失败详情和extra_info内容定位并解决问题。
成功响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time
{
"resultCode": "MKT.0000",
"resultMsg": "Success",
"orderInfo": {
"orderId": "CS2207261447AUY4H",
"orderType": "NEW",
"createTime": "20220726064736",
"orderLine": [
{
"orderLineId": "CS2207261447AUY4H-000001",
"chargingMode": "PERIOD",
"periodType": "year",
"periodNumber": 1,
"expireTime": "20230726155959",
"productInfo": [
{
"productId": "OFFI758576253042421760",
"skuCode": "da9b4d34-ee8a-4355-a823-13e034e49986",
"linearValue": 10,
"productName": "SaaS测试商品,测试规格,基础版,包周期"
}
],
"extendParams": []
}
],
"buyerInfo": {
"mobilePhone": "18699999999",
"email": "123@test.com",
"customerId": "688055390f3049f283fe9f1aa90f7ds3",
"customerName": "Koogallery"
}
}
} 失败响应示例
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=UTF-8Content-Length: lengthDate: response time {
"resultCode": "CBC.0150",
"resultMsg": "Illegal operation. param[isvId] and param[instanceId] does not match." }