Updated on 2023-11-02 GMT+08:00

Querying Orders

Function

After a customer purchases yearly/monthly resources, it can query the orders in different statuses, such as in the pending approval, processing, canceled, completed, and pending payment statuses.

A partner can log in to Partner Center and follow the instructions described in Viewing a Customer's Orders to view orders of a customer.

If you want to query the resource information of a specified order, invoke this API to obtain the order ID and then invoke the API described in Querying Customer's Yearly/Monthly Resources. Enter the order ID in the request to query the resource information.

Constraints

This API can be invoked using the AK/SK or token of the partner or of the partner's customer. If partner's AK/SK or token is used, the orders paid by all customers of the partner can be queried.

Debugging

You can debug the API in API Explorer which supports automatic authentication. API Explorer can automatically generate and debug example SDK code.

URI

GET /v2/orders/customer-orders
Table 1 Query parameters

Parameter

Mandatory

Type

Value Range

Description

order_id

No

String

A maximum of 64 characters

Order ID.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

NOTE:

When special characters are used for query, perform the URL code conversion. For example, % should be converted to %25.

customer_id

No

String

A maximum of 64 characters

Customer account ID. To obtain the customer ID, call the API in Querying Customers.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

create_time_begin

No

String

A maximum of 20 characters

Start time of order creation.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z

The range of HH is 0-23, and the range of mm and ss is 0-59.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

create_time_end

No

String

A maximum of 20 characters

End time of order creation.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z

The range of HH is 0-23, and the range of mm and ss is 0-59.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

service_type_code

No

String

A maximum of 64 characters

Cloud service type code. For example, the cloud service type code of OBS is hws.service.type.obs. To obtain a specific service type, call the API in Querying Cloud Service Types.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

status

No

Integer

-

Order status. The value can be:

  • 1: Pending approval
  • 3: Processing
  • 4: Canceled
  • 5: Completed
  • 6: Pending payment
  • 9: To be confirmed

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

order_type

No

String

A maximum of 64 characters

Order type. The value can be:

  • 1: New purchase
  • 2: Renewal
  • 3: Change
  • 4: Unsubscription
  • 10: Yearly/monthly to pay-per-use
  • 11: Pay-per-use to yearly/monthly
  • 13: Trial
  • 14: Commercial use
  • 15: Price adjustment

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

limit

No

Integer

1 to 100

Number of orders queried each time. The default value is 10.

offset

No

Integer

0 to a maximum integer

Offset, which starts from 0. The default value is 0.

NOTE:

This parameter is used for pagination. Retain its default value 0 if pagination is not required. offset indicates the offset relative to the first data record among all that meets the conditions configured. If you set offset to 1, the second and subsequent data records are returned.

For example, there are 10 data records, and if you set limit to 10 and offset to 1, the second to the tenth data records are returned.

order_by

No

String

A maximum of 36 characters

Sorting order of the orders.

You can sort the orders by creation time.

If you set the value to createTime, the system sorts orders by creation time in ascending order. If you set the value to -createTime, the system sorts orders by creation time in descending order.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

payment_time_begin

No

String

A maximum of 20 characters

Start time of order payment.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z

The range of HH is 0-23, and the range of mm and ss is 0-59.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

payment_time_end

No

String

A maximum of 20 characters

End time of order payment.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z

The range of HH is 0-23, and the range of mm and ss is 0-59.

If this parameter is not included in the request parameters or is left empty, it cannot be used as a filter criterion.

indirect_partner_id

No

String

A maximum of 64 characters

Reseller ID. For details about how to obtain such IDs, see Query Huawei Cloud Resellers.

Request

Request Parameters

None

Example Request

GET https://bss-intl.myhuaweicloud.com/v2/orders/customer-orders?order_id=CS1905251035OA1AF&customer_id=c9e731c4663646988ef4cdb3122837b6&create_time_begin=2020-05-06T08:05:01Z&create_time_end=2020-05-07T08:05:01Z&service_type_code=hws.service.type.obs&status=5&order_type=1&limit=10&offset=0&order_by=-createTime&payment_time_begin=2020-05-06T08:05:01Z&payment_time_end=2020-05-07T08:05:01Z&indirect_partner_id=646988ef4cdb3122834feswrygfd HTTP/1.1
Content-Type: application/json
X-Auth-Token: MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ

Response

Response Parameters

Parameter

Type

Maximum Length

Description

error_code

String

20

Status code.

For details, see Returned Values.

error_msg

String

2000

Error description.

total_count

Integer

An integer greater than or equal to 0

An integer greater than or equal to 0.

Number of records that match the query conditions.

order_infos

List<CustomerOrderV2>

-

-

Order details.

For details, see Table 2.

Table 2 CustomerOrderV2

Parameter

Type

Maximum Length

Description

order_id

String

64

Order ID

customer_id

String

A maximum of 64 characters

Customer account ID.

service_type_code

String

A maximum of 64 characters

Cloud service type code. For example, the cloud service type code of OBS is hws.service.type.obs.

service_type_name

String

A maximum of 200 characters

Cloud service type. For example, the cloud service type of ECS is Elastic Cloud Server.

source_type

Integer

-

Customer order source type. The value can be:

  • 1. Customer
  • 2. Agent
  • 3: Contract
  • 4: Distributor

status

Integer

-

Order status. The value can be:

  • 1: Pending approval
  • 2: Pending refund
  • 3: Processing
  • 4: Canceled
  • 5: Completed
  • 6: Pending payment
  • 9: To be confirmed
  • 10: To be shipped
  • 11: To be received
  • 12: Pending pick-up
  • 13: Exchange in progress

order_type

Integer

-

Order type. The value can be:

  • 1: New purchase
  • 2: Renewal
  • 3: Change
  • 4: Unsubscription
  • 10: Yearly/monthly to pay-per-use
  • 11: Pay-per-use to yearly/monthly
  • 13: Trial
  • 14: Commercial use
  • 15: Price adjustment

official_amount

Double

-

Order amount (list price).

In the unsubscription order, this amount equals the value of amount_after_discount.

amount_after_discount

Double

-

Order amount after a discount (excluding the vouchers or cards).

measure_id

Integer

-

Order amount unit.

  • 1: 1 Yuan/Dollar

create_time

String

A maximum of 20 characters

Creation time.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z

The range of HH is 0-23, and the range of mm and ss is 0-59.

payment_time

String

A maximum of 20 characters

Payment time.

UTC time in "yyyy-MM-dd'T'HH:mm:ss'Z'" format, such as 2019-05-06T08:05:01Z

The range of HH is 0-23, and the range of mm and ss is 0-59.

currency

String

A maximum of 4 characters

Currency code.

contract_id

String

A maximum of 64 characters

Contract ID.

amount_info

AmountInfoV2 Object

-

Order details

For details, see Table 3.

Table 3 AmountInfoV2

Parameter

Type

Value Range

Description

discounts

List<DiscountItemV2>

-

Item

For details, see Table 4.

flexipurchase_coupon_amount

Double

-

Flexi-purchase coupon amount (reserved).

coupon_amount

Double

-

Cash coupon amount.

stored_card_amount

Double

-

Stored-value card amount (reserved).

commission_amount

Double

-

Handling fee (only for unsubscription orders).

consumed_amount

Double

-

Consumptions (only for unsubscription orders).

Table 4 DiscountItemV2

Parameter

Type

Value Range

Description

discount_type

String

A maximum of 8 characters

Discount type.

  • 200: Promotion product discount
  • 300: Promotion discount coupon
  • 301: Promotion coupon
  • 302: Promotion flexi-purchase coupon
  • 500: Specified discount for agent subscription
  • 501: Specified exemption for agent subscription
  • 502: Specified buy-it-now price for agent subscription
  • 600: Discount specified in the discount and rebate contract
  • 601: Discount specified in the channel frame contract
  • 602: Discount specified in the designated-purpose fund contract
  • 603: Discount specified in the directly signed offline contract
  • 604: Discount specified in the authorized telemarketing contract
  • 605: Discount specified in the commercial contract
  • 606: Discount specified in the channel commercial contract
  • 607: Partner authorized discount
  • 609: Discount for order price adjusting
  • 610: Discount amount
  • 700: Promotion discount
  • 800: Top-up account discount

discount_amount

Double

-

Discounted amount.

Example Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time  
{
    "total_count": 1,
    "order_infos": [
        {
            "order_id": "CS1905251035OA1AF",
            "customer_id": "17a80a9f9d3949ddb60ee73a5b3c9618",
            "service_type_code": "hws.service.type.rds",
            "source_type": 1,
            "status": 5,
            "order_type": 1,
            "amount_after_discount": 0,
            "official_amount": 100,
            "measure_id": 1,
            "create_time": "2020-05-06T09:08:03Z",
            "payment_time": "2020-05-06T09:08:03Z",
            "currency": "USD",
            "contract_id": null,
            "amount_info": {
                "discounts": [
                    {
                        "discount_type": "700",
                        "discount_amount": 15
                    },
                    {
                        "discount_type": "302",
                        "discount_amount": 85
                    }
                ],
                "flexipurchase_coupon_amount": 85,
                "coupon_amount": 0,
                "stored_card_amount": 0,
                "commission_amount": null,
                "consumed_amount": null
            }
        } ]
}

Returned Values

  • 4xx: This class of HTTP status code is intended for situations in which the error seems to have been caused by the client, for example, the request contains bad syntax or incorrect parameters. You must ensure the request is correct.
  • 5xx: This class of HTTP status code is intended for cases in which the Huawei Cloud server is aware that it has encountered an error or is otherwise incapable of performing the request. In this case, contact Huawei Cloud customer service.

HTTP Value

Error Code

Description

400

CBC.0100

Parameter error.

400

CBC.0101

Invalid parameter.

400

CBC.99000037

You do not have the permission to operate this reseller.

403

CBC.0151

Access denied.

403

CBC.0155

Request denied.

The possible causes are as follows: The account authentication information is incorrect. The account or member account does not have the permission to call the API.

500

CBC.0999

Other errors.