Updated on 2024-08-27 GMT+08:00

Querying Available Discounts of an Order

Function

A customer can query available discounts when paying an order on the self-built platform.

No discount is available to reseller customers.

Constraints

This API can be invoked only by the customer AK/SK or token.

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/order-discounts

The following table describes the parameters.

Table 1 Request parameters

Parameter

Mandatory

Value Range

Description

order_id

Yes

A maximum of 64 characters

Order ID.

Request

Request Parameters

None

Example Request

GET https://bss-intl.myhuaweicloud.com/v2/orders/customer-orders/order-discounts?order_id=CS2011091132EMKL9 HTTP/1.1
Content-Type: application/json
X-Auth-Token: MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ

Response

Response Parameters

Parameter

Type

Value Range

Description

error_code

String

A maximum of 20 characters

Error code.

For details, see Returned Values.

error_msg

String

A maximum of 2,000 characters

Error description.

discounts

List<DiscountInfoV3>

-

List of available discounts.

For details, see Table 2.

Table 2 DiscountInfoV3

Parameter

Type

Value Range

Description

discount_id

String

A maximum of 64 characters

ID of the available order discount.

To use a discount, enter the value of this parameter when paying an order.

discount_value

String

-

Discount percentage or reduction. Leave this parameter empty if the discount model is set to 1.

discount_type

Integer

-

Discount type. The options are as follows:

  • 0: promotion discount
  • 1: contract discount
  • 2: commercial discount
  • 3: discount granted by a partner
  • 609: discount for adjusting an order price

orders

List<OrderV3>

-

List of the orders that can use discounts.

For details, see Table 3.

Table 3 OrderV3

Parameter

Type

Maximum Length

Description

order_id

String

-

ID of the order that can use discounts.

order_line_items

List<OrderLineItemV3>

A maximum of 100 items

List of the order items that can use the same discount. For details, see Table 4.

Table 4 OrderLineItemV3

Parameter

Type

Value Range

Description

order_line_item_ids

List<String>

A maximum of 1,000 IDs

List of the IDs of the combined order items that can use the same discount.

Order items with the same product, same specifications (for linear products), and same final price (for example, price adjustment for a featured product) will be combined.

discount_mode

Integer

-

Available discount model of an order.

  • 0: discount
  • 1: buy-it-now price
  • 2: reduction for specific amount

discount_amount

Number

-

Discount amount of an order, that is, the deducted amount.

discount_ratio

Number

-

Discount ratio of an order.

Example Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time
{
    "discounts": [
        {
            "discount_id": "PDP2011260815047721TYT48G0BA02EI",
            "discount_value": "0.9",
            "discount_type": 0,
            "orders": [
                {
                    "order_id": "CS2011091132EMKL9",
                    "order_line_items": [
                        {
                            "order_line_item_ids": [
                                "CS2011091132EMKL9-000002"
                            ],
                            "discount_mode": 0,
                            "discount_amount": null,
                            "discount_ratio": 0.9
                        },
                        {
                            "order_line_item_ids": [
                                "CS2011091132EMKL9-000001"
                            ],
                            "discount_mode": 0,
                            "discount_amount": null,
                            "discount_ratio": 0.9
                        }
                    ]
                }
            ]
        }
    ]
}

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.

403

CBC.0151

Access denied.

500

CBC.0999

Other errors.