diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt b/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt index cf535e806..9b546e214 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/ApiClient.kt @@ -195,6 +195,7 @@ interface OrdersApiClient { fun deleteOrderItemOptionFiles(request: OrderItemOptionFilesDeleteRequest): OrderItemOptionFileDeleteResult fun searchDeletedOrders(request: DeletedOrdersSearchRequest): DeletedOrdersSearchResult fun searchDeletedOrdersAsSequence(request: DeletedOrdersSearchRequest): Sequence + fun getRepeatOrderURL(request: RepeatOrderURLRequest): RepeatOrderURLResult } // Product types @@ -269,6 +270,7 @@ interface CartsApiClient { fun updateCart(request: CartUpdateRequest): CartUpdateResult fun calculateOrderDetails(request: CalculateOrderDetailsRequest): CalculateOrderDetailsResult fun convertCartToOrder(request: ConvertCartToOrderRequest): ConvertCartToOrderResult + fun getRepeatCartURL(request: RepeatCartURLRequest): RepeatCartURLResult } // Discount coupons diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/RepeatCartURLRequest.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/RepeatCartURLRequest.kt new file mode 100644 index 000000000..c49ff8541 --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/request/RepeatCartURLRequest.kt @@ -0,0 +1,16 @@ +package com.ecwid.apiclient.v3.dto.cart.request + +import com.ecwid.apiclient.v3.dto.ApiRequest +import com.ecwid.apiclient.v3.impl.RequestInfo + +data class RepeatCartURLRequest( + val orderNumber: Long = 0 +) : ApiRequest { + override fun toRequestInfo() = RequestInfo.createGetRequest( + pathSegments = listOf( + "carts", + "$orderNumber", + "repeat" + ) + ) +} diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/RepeatCartURLResult.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/RepeatCartURLResult.kt new file mode 100644 index 000000000..2f7d553bb --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/cart/result/RepeatCartURLResult.kt @@ -0,0 +1,7 @@ +package com.ecwid.apiclient.v3.dto.cart.result + +import com.ecwid.apiclient.v3.dto.common.ApiResultDTO + +data class RepeatCartURLResult( + val repeatCartUrl: String = "" +) : ApiResultDTO diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/RepeatOrderURLRequest.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/RepeatOrderURLRequest.kt new file mode 100644 index 000000000..6237e68a7 --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/RepeatOrderURLRequest.kt @@ -0,0 +1,16 @@ +package com.ecwid.apiclient.v3.dto.order.request + +import com.ecwid.apiclient.v3.dto.ApiRequest +import com.ecwid.apiclient.v3.impl.RequestInfo + +data class RepeatOrderURLRequest( + val orderNumber: Long = 0 +) : ApiRequest { + override fun toRequestInfo() = RequestInfo.createGetRequest( + pathSegments = listOf( + "orders", + "$orderNumber", + "repeat" + ) + ) +} diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/RepeatOrderURLResult.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/RepeatOrderURLResult.kt new file mode 100644 index 000000000..8032b4529 --- /dev/null +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/result/RepeatOrderURLResult.kt @@ -0,0 +1,7 @@ +package com.ecwid.apiclient.v3.dto.order.result + +import com.ecwid.apiclient.v3.dto.common.ApiResultDTO + +data class RepeatOrderURLResult( + val repeatOrderUrl: String = "" +) : ApiResultDTO diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/impl/CartsApiClientImpl.kt b/src/main/kotlin/com/ecwid/apiclient/v3/impl/CartsApiClientImpl.kt index a8476befc..aea96e24f 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/impl/CartsApiClientImpl.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/impl/CartsApiClientImpl.kt @@ -33,4 +33,7 @@ internal data class CartsApiClientImpl( override fun convertCartToOrder(request: ConvertCartToOrderRequest) = apiClientHelper.makeObjectResultRequest(request) + + override fun getRepeatCartURL(request: RepeatCartURLRequest) = + apiClientHelper.makeObjectResultRequest(request) } 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 045bced92..c8e2a67ea 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/impl/OrdersApiClientImpl.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/impl/OrdersApiClientImpl.kt @@ -55,4 +55,7 @@ internal class OrdersApiClientImpl( offsetRequest = offsetRequest.copy(offset = offsetRequest.offset + searchResult.count) } while (searchResult.count >= searchResult.limit) } + + override fun getRepeatOrderURL(request: RepeatOrderURLRequest) = + apiClientHelper.makeObjectResultRequest(request) }