# New and updated values for discount bases in orders and carts

{% hint style="danger" %}
**Breaking changes!**\
Сhanges listed below may break some apps' logic.
{% endhint %}

#### What's new

The `discountInfo -> base` field in the `Order` and `Cart` API objects now supports a different set of values. The field defines a basis from which a discount (promotion) is calculated.&#x20;

List of affected endpoints in REST API:

{% content-ref url="/spaces/G9n5VxMY9T0Ob3D56PSD/pages/fJ6TlRX1njJ0QuUs4jUZ" %}
[Search orders](/api-reference/rest-api/orders/search-orders.md)
{% endcontent-ref %}

{% content-ref url="/spaces/G9n5VxMY9T0Ob3D56PSD/pages/Nc6NPsnVoaCv8v4KFGMV" %}
[Get order](/api-reference/rest-api/orders/get-order.md)
{% endcontent-ref %}

{% content-ref url="/spaces/G9n5VxMY9T0Ob3D56PSD/pages/6Fdku2py5cCHampmiaAV" %}
[Get last order](/api-reference/rest-api/orders/get-last-order.md)
{% endcontent-ref %}

{% content-ref url="/spaces/G9n5VxMY9T0Ob3D56PSD/pages/uV5LrI8m4gAqM7Wuz2no" %}
[Update order](/api-reference/rest-api/orders/update-order.md)
{% endcontent-ref %}

{% content-ref url="/spaces/G9n5VxMY9T0Ob3D56PSD/pages/2DohuqDI42XmyVx7QWZU" %}
[Search abandoned carts](/api-reference/rest-api/orders/abandoned-carts/search-abandoned-carts.md)
{% endcontent-ref %}

{% content-ref url="/spaces/G9n5VxMY9T0Ob3D56PSD/pages/A7fJ2RABa8QZfiVpRSni" %}
[Get abandoned cart](/api-reference/rest-api/orders/abandoned-carts/get-abandoned-cart.md)
{% endcontent-ref %}

Other affected API calls:

{% content-ref url="/spaces/bMnrDOrph8biE23TpY18/pages/fkhtJxsOdYxW2SuJGLTJ" %}
[Broken mention](broken://spaces/bMnrDOrph8biE23TpY18/pages/fkhtJxsOdYxW2SuJGLTJ)
{% endcontent-ref %}

{% content-ref url="/spaces/cWmzYXlT3xoxJWhnfWCX/pages/GAeACumOiyyRzxaFriz1" %}
[Broken mention](broken://spaces/cWmzYXlT3xoxJWhnfWCX/pages/GAeACumOiyyRzxaFriz1)
{% endcontent-ref %}

#### Changes in API

The `discountInfo -> base` field now works with another set of values.

Supported values before the change: `ON_TOTAL`, `ON_MEMBERSHIP` , `ON_TOTAL_AND_MEMBERSHIP` .

Supported values after the change: `SUBTOTAL` , `ITEM` , `SHIPPING` , `ON_MEMBERSHIP` , `ON_TOTAL_AND_MEMBERSHIP` , `CUSTOM` .

#### Why the changes are breaking

The old value `ON_TOTAL` was replaced with the new `SUBTOTAL` . It still means that the discount is only applied to the order subtotal cost (without shipping costs) with no additional conditions like the customer's membership.

#### How to update the app

1. Check if your app works with one of the listed requests.
2. Check the code that parses order details coming from Ecwid – specifically if it checks for the `discountInfo`  value.
3. Make sure to add `SUBTOTAL` to the list of expected values. If your app doesn't work with orders older than March 1, 2025, remove the `ON_TOTAL` from the list of expected values.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ecwid.com/changelog/march-2025/march-17/new-and-updated-values-for-discount-bases-in-orders-and-carts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
