From 49858575c9c148af42583d5f6200d17d7620dfbd Mon Sep 17 00:00:00 2001 From: "anna.galochkina" Date: Thu, 4 Jun 2026 13:16:34 +0400 Subject: [PATCH 1/2] ECOM-17360: Orders/Cart: added shippingLimit field to DiscountInfo classes --- .../apiclient/v3/dto/cart/request/OrderForCalculate.kt | 7 ++++++- .../v3/dto/cart/result/CalculateOrderDetailsResult.kt | 7 ++++++- .../ecwid/apiclient/v3/dto/order/result/FetchedOrder.kt | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/OrderForCalculate.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/OrderForCalculate.kt index 2d0253ee..9efe48ae 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/OrderForCalculate.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/OrderForCalculate.kt @@ -64,7 +64,12 @@ data class OrderForCalculate( val applicationLimit: DiscountCouponApplicationLimit? = null, val creationDate: Date? = null, val orderCount: Int? = null, - val catalogLimit: DiscountCouponCatalogLimit? = null + val catalogLimit: DiscountCouponCatalogLimit? = null, + val shippingLimit: DiscountCouponShippingLimit? = null + ) + + data class DiscountCouponShippingLimit( + val shippingMethods: List? = null ) data class DiscountCouponCatalogLimit( diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/CalculateOrderDetailsResult.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/CalculateOrderDetailsResult.kt index 2c76245c..4f59ec94 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/CalculateOrderDetailsResult.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/CalculateOrderDetailsResult.kt @@ -122,7 +122,12 @@ data class CalculateOrderDetailsResult( val applicationLimit: DiscountCouponApplicationLimit? = null, val creationDate: Date? = null, val orderCount: Int? = null, - val catalogLimit: DiscountCouponCatalogLimit? = null + val catalogLimit: DiscountCouponCatalogLimit? = null, + val shippingLimit: DiscountCouponShippingLimit? = null + ) + + data class DiscountCouponShippingLimit( + val shippingMethods: List? = null ) data class DiscountCouponCatalogLimit( diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/FetchedOrder.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/FetchedOrder.kt index 9997bca4..d0764579 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/FetchedOrder.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/FetchedOrder.kt @@ -163,7 +163,12 @@ data class FetchedOrder( val updateDate: Date? = null, val orderCount: Int? = null, // TODO Figure out how to test val catalogLimit: DiscountCouponCatalogLimit? = null, // TODO Figure out how to test - val applicationLimit: DiscountCouponApplicationLimit? = null // TODO Add to docs? + val applicationLimit: DiscountCouponApplicationLimit? = null, // TODO Add to docs? + val shippingLimit: DiscountCouponShippingLimit? = null + ) + + data class DiscountCouponShippingLimit( + val shippingMethods: List? = null ) data class DiscountCouponCatalogLimit( From f6e66d03b0af803d408178343e36dd532a136e78 Mon Sep 17 00:00:00 2001 From: "anna.galochkina" Date: Thu, 4 Jun 2026 13:39:20 +0400 Subject: [PATCH 2/2] ECOM-17360: Updated nullable and non-updatable property rules to include `shippingLimit` and `shippingMethods` fields --- .../com/ecwid/apiclient/v3/rule/NonUpdatablePropertyRules.kt | 1 + .../nullablepropertyrules/CalculateOrderDetailsResultRules.kt | 2 ++ .../v3/rule/nullablepropertyrules/FetchedOrderRules.kt | 2 ++ .../v3/rule/nullablepropertyrules/OrderForCalculateRules.kt | 2 ++ 4 files changed, 7 insertions(+) diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/rule/NonUpdatablePropertyRules.kt b/src/test/kotlin/com/ecwid/apiclient/v3/rule/NonUpdatablePropertyRules.kt index c62fb21a..de34a183 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/rule/NonUpdatablePropertyRules.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/rule/NonUpdatablePropertyRules.kt @@ -202,6 +202,7 @@ val nonUpdatablePropertyRules: List> = listOf( Ignored(FetchedOrder.DiscountCouponInfo::orderCount), Ignored(FetchedOrder.DiscountCouponInfo::catalogLimit), Ignored(FetchedOrder.DiscountCouponInfo::applicationLimit), + ReadOnly(FetchedOrder.DiscountCouponInfo::shippingLimit), ReadOnly(FetchedOrder.BaseOrderItemTax::includeInPrice), ReadOnly(FetchedOrder.HandlingFeeTax::includeInPrice), Ignored(FetchedOrder.OrderItem::id), diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/CalculateOrderDetailsResultRules.kt b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/CalculateOrderDetailsResultRules.kt index ccb648b9..9c951680 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/CalculateOrderDetailsResultRules.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/CalculateOrderDetailsResultRules.kt @@ -18,9 +18,11 @@ val calculateOrderDetailsResultNullablePropertyRules: List> = listOf IgnoreNullable(FetchedOrder.DiscountCouponInfo::totalLimit), IgnoreNullable(FetchedOrder.DiscountCouponInfo::updateDate), IgnoreNullable(FetchedOrder.DiscountCouponInfo::usesLimit), + AllowNullable(FetchedOrder.DiscountCouponInfo::shippingLimit), + AllowNullable(FetchedOrder.DiscountCouponShippingLimit::shippingMethods), IgnoreNullable(FetchedOrder.DiscountInfo::base), IgnoreNullable(FetchedOrder.DiscountInfo::description), IgnoreNullable(FetchedOrder.DiscountInfo::orderTotal), diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrderForCalculateRules.kt b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrderForCalculateRules.kt index d6a79010..0e151437 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrderForCalculateRules.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrderForCalculateRules.kt @@ -47,8 +47,10 @@ val orderForCalculateNullablePropertyRules: List> = l IgnoreNullable(OrderForCalculate.DiscountCouponInfo::name), IgnoreNullable(OrderForCalculate.DiscountCouponInfo::orderCount), IgnoreNullable(OrderForCalculate.DiscountCouponInfo::status), + AllowNullable(OrderForCalculate.DiscountCouponInfo::shippingLimit), IgnoreNullable(OrderForCalculate.DiscountCouponInfo::totalLimit), IgnoreNullable(OrderForCalculate.DiscountCouponInfo::usesLimit), + AllowNullable(OrderForCalculate.DiscountCouponShippingLimit::shippingMethods), IgnoreNullable(OrderForCalculate.DiscountInfo::base), IgnoreNullable(OrderForCalculate.DiscountInfo::description), IgnoreNullable(OrderForCalculate.DiscountInfo::orderTotal),