更新时间:2024-11-21 GMT+08:00
分享

查询订单

功能介绍

云商店商家可通过该接口查询订单所有信息

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   

响应消息

表1 响应参数

参数

是否必选

参数类型

取值范围

描述

resultCode

M

String

16

结果码。

具体请参考错误码

resultMsg

M

String

1024

结果消息。

具体请参考错误码

orderInfo

O

OrderInfo

/

附加信息。

OrderInfo数据结构定义

OrderInfo数据结构定义如下:

参数

是否必选

参数类型

最大字符长度

说明

orderId

M

String

64

云商店订单号

orderType·

M

String

32

订单类型,可用枚举:

  • NEW:新购订单
  • TRIAL:试用订单
  • TRIAL_TO_FORMAL:试用转正订单
  • UNSUBSCRIBE:退订订单
  • RENEW:续费订单
  • CHANGE:变更订单

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

用户手机号//商品发布时需要勾选授权

email

O

String

64

用户邮箱//商品发布时需要勾选授权

userId

O

String

64

IAM用户id//商品发布时需要勾选授权,并且只在新购场景(创建实例)返回

userName

O

String

64

IAM用户名称//商品发布时需要勾选授权并且只在新购场景(创建实例)返回

错误码

表2 错误码

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天以内)

其中,仅在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": "hw1235sd3123"
 
    }
  }
}

失败响应示例

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."  }

相关文档