From 01cb6524dc034f4b45f44076a0a44ab39532b98b Mon Sep 17 00:00:00 2001 From: Oleg Shchelykalnov Date: Mon, 20 Oct 2025 09:32:21 +0400 Subject: [PATCH] ECWID-174260 OE2: add preview tax invoice endpoint to ecwid-java-api-client --- .../com/ecwid/apiclient/v3/OrdersApiClient.kt | 1 + .../request/OrderTaxInvoicePreviewRequest.kt | 19 +++++++++++++++++++ .../apiclient/v3/impl/OrdersApiClientImpl.kt | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrderTaxInvoicePreviewRequest.kt diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/OrdersApiClient.kt b/src/main/kotlin/com/ecwid/apiclient/v3/OrdersApiClient.kt index 2f0c72437..db9e37f07 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/OrdersApiClient.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/OrdersApiClient.kt @@ -23,6 +23,7 @@ interface OrdersApiClient { fun deleteOrderItemOptionFiles(request: OrderItemOptionFilesDeleteRequest): OrderItemOptionFileDeleteResult fun searchDeletedOrders(request: DeletedOrdersSearchRequest): DeletedOrdersSearchResult fun searchDeletedOrdersAsSequence(request: DeletedOrdersSearchRequest): Sequence + fun previewOrdersTaxInvoice(request: OrderTaxInvoicePreviewRequest): String } @Suppress("EXTENSION_SHADOWED_BY_MEMBER") diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrderTaxInvoicePreviewRequest.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrderTaxInvoicePreviewRequest.kt new file mode 100644 index 000000000..19e461f33 --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrderTaxInvoicePreviewRequest.kt @@ -0,0 +1,19 @@ +package com.ecwid.apiclient.v3.dto.order.request + +import com.ecwid.apiclient.v3.dto.ApiRequest +import com.ecwid.apiclient.v3.httptransport.HttpBody +import com.ecwid.apiclient.v3.impl.RequestInfo + +data class OrderTaxInvoicePreviewRequest( + val order: UpdatedOrder = UpdatedOrder() +) : ApiRequest { + override fun toRequestInfo() = RequestInfo.createPostRequest( + pathSegments = listOf( + "orders", + "tax-invoice-preview", + ), + httpBody = HttpBody.JsonBody( + obj = order + ) + ) +} diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/impl/OrdersApiClientImpl.kt b/src/main/kotlin/com/ecwid/apiclient/v3/impl/OrdersApiClientImpl.kt index f4c54c076..f14253d78 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/impl/OrdersApiClientImpl.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/impl/OrdersApiClientImpl.kt @@ -75,4 +75,6 @@ internal class OrdersApiClientImpl( offsetRequest = offsetRequest.copy(offset = offsetRequest.offset + searchResult.count) } while (searchResult.count >= searchResult.limit) } + + override fun previewOrdersTaxInvoice(request: OrderTaxInvoicePreviewRequest) = apiClientHelper.makeStringResultRequest(request) }