diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedOrder.kt b/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedOrder.kt index 117b83c63..5b596e69d 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedOrder.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedOrder.kt @@ -93,6 +93,9 @@ fun FetchedOrder.toUpdated(): UpdatedOrder { paymentReference = paymentReference, loyalty = loyalty?.toUpdated(), customerFiscalCode = customerFiscalCode, + electronicInvoicePecEmail = electronicInvoicePecEmail, + electronicInvoiceSdiCode = electronicInvoiceSdiCode, + commercialRelationshipScheme = commercialRelationshipScheme, lang = lang, ) } diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/UpdatedOrder.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/UpdatedOrder.kt index f2ad6c9ce..d3fd06ba4 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/UpdatedOrder.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/UpdatedOrder.kt @@ -5,8 +5,10 @@ import com.ecwid.apiclient.v3.dto.common.ApiUpdatedDTO.ModifyKind import com.ecwid.apiclient.v3.dto.common.BaseOrderTax import com.ecwid.apiclient.v3.dto.common.OrderedStringToListStringMap import com.ecwid.apiclient.v3.dto.common.OrderedStringToStringMap +import com.ecwid.apiclient.v3.dto.customer.enums.CommercialRelationshipScheme import com.ecwid.apiclient.v3.dto.order.enums.* import com.ecwid.apiclient.v3.dto.order.result.FetchedOrder +import com.ecwid.apiclient.v3.jsontransformer.JsonFieldName import java.text.DateFormat import java.text.SimpleDateFormat import java.util.* @@ -97,6 +99,10 @@ data class UpdatedOrder( val paymentReference: String? = null, val loyalty: Loyalty? = null, val customerFiscalCode: String? = null, + val electronicInvoicePecEmail: String? = null, + val electronicInvoiceSdiCode: String? = null, + @JsonFieldName("b2b_b2c") + val commercialRelationshipScheme: CommercialRelationshipScheme? = null, val lang: String? = null, ) : ApiUpdatedDTO { 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 d6daea417..65f7bd4d6 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 @@ -6,8 +6,10 @@ import com.ecwid.apiclient.v3.dto.common.ApiResultDTO import com.ecwid.apiclient.v3.dto.common.ExtendedOrderTax import com.ecwid.apiclient.v3.dto.common.OrderedStringToListStringMap import com.ecwid.apiclient.v3.dto.common.OrderedStringToStringMap +import com.ecwid.apiclient.v3.dto.customer.enums.CommercialRelationshipScheme import com.ecwid.apiclient.v3.dto.order.enums.* import com.ecwid.apiclient.v3.dto.order.request.UpdatedOrder +import com.ecwid.apiclient.v3.jsontransformer.JsonFieldName import java.util.* data class FetchedOrder( @@ -119,6 +121,10 @@ data class FetchedOrder( val shippingLabelAvailableForShipment: Boolean = false, val loyalty: Loyalty? = null, val customerFiscalCode: String? = null, + val electronicInvoicePecEmail: String? = "", + val electronicInvoiceSdiCode: String? = "", + @JsonFieldName("b2b_b2c") + val commercialRelationshipScheme: CommercialRelationshipScheme? = CommercialRelationshipScheme.b2c, val lang: String? = null, ) : ApiFetchedDTO, ApiResultDTO { diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt index eba8613d1..6544eaea7 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt @@ -706,6 +706,9 @@ private fun UpdatedOrder.cleanupForComparison(order: UpdatedOrder): UpdatedOrder ) }, customerFiscalCode = null, // ApiOrder has empty string instead of null + electronicInvoicePecEmail = null, + electronicInvoiceSdiCode = null, + commercialRelationshipScheme = null, discountInfo = order.discountInfo?.map { it.copy( appliesToItems = null diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt b/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt index 3264cfe39..d875bd8a7 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt @@ -433,6 +433,9 @@ private fun UpdatedOrder.cleanupForComparison(order: UpdatedOrder): UpdatedOrder item.cleanupForComparison(requestItem) }, customerFiscalCode = null, // ApiOrder has empty string instead of null + electronicInvoicePecEmail = null, + electronicInvoiceSdiCode = null, + commercialRelationshipScheme = null, discountInfo = order.discountInfo?.map { it.copy( appliesToItems = null diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/FetchedOrderRules.kt b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/FetchedOrderRules.kt index 9c37b0c7e..5dbde3a33 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/FetchedOrderRules.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/FetchedOrderRules.kt @@ -321,5 +321,8 @@ val fetchedOrderNullablePropertyRules: List> = listOf AllowNullable(FetchedOrder.LoyaltyRedemption::amount), AllowNullable(FetchedOrder.LoyaltyRedemption::cancelled), AllowNullable(FetchedOrder::customerFiscalCode), + AllowNullable(FetchedOrder::electronicInvoicePecEmail), + AllowNullable(FetchedOrder::electronicInvoiceSdiCode), + AllowNullable(FetchedOrder::commercialRelationshipScheme), AllowNullable(FetchedOrder::lang), )