Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7,571 changes: 4,844 additions & 2,727 deletions openapi.json

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions src/main/java/com/sumup/sdk/SumUpAsyncClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.sumup.sdk.clients.ReadersAsyncClient;
import com.sumup.sdk.clients.ReceiptsAsyncClient;
import com.sumup.sdk.clients.RolesAsyncClient;
import com.sumup.sdk.clients.SalesAsyncClient;
import com.sumup.sdk.clients.TokensAsyncClient;
import com.sumup.sdk.clients.TransactionsAsyncClient;
import com.sumup.sdk.core.ApiClient;
Expand All @@ -32,6 +33,7 @@ public final class SumUpAsyncClient {
private final ReadersAsyncClient readers;
private final ReceiptsAsyncClient receipts;
private final RolesAsyncClient roles;
private final SalesAsyncClient sales;
private final TokensAsyncClient tokens;
private final TransactionsAsyncClient transactions;

Expand Down Expand Up @@ -73,6 +75,7 @@ private SumUpAsyncClient(ApiClient apiClient) {
this.readers = new ReadersAsyncClient(this.apiClient);
this.receipts = new ReceiptsAsyncClient(this.apiClient);
this.roles = new RolesAsyncClient(this.apiClient);
this.sales = new SalesAsyncClient(this.apiClient);
this.tokens = new TokensAsyncClient(this.apiClient);
this.transactions = new TransactionsAsyncClient(this.apiClient);
}
Expand Down Expand Up @@ -217,6 +220,15 @@ public RolesAsyncClient roles() {
return roles;
}

/**
* Returns the SalesAsyncClient client for the "Sales" API group.
*
* @return Client for the associated API group.
*/
public SalesAsyncClient sales() {
return sales;
}

/**
* Returns the TokensAsyncClient client for the "Tokens" API group.
*
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/sumup/sdk/SumUpClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.sumup.sdk.clients.ReadersClient;
import com.sumup.sdk.clients.ReceiptsClient;
import com.sumup.sdk.clients.RolesClient;
import com.sumup.sdk.clients.SalesClient;
import com.sumup.sdk.clients.TokensClient;
import com.sumup.sdk.clients.TransactionsClient;
import com.sumup.sdk.core.ApiClient;
Expand All @@ -32,6 +33,7 @@ public final class SumUpClient {
private final ReadersClient readers;
private final ReceiptsClient receipts;
private final RolesClient roles;
private final SalesClient sales;
private final TokensClient tokens;
private final TransactionsClient transactions;

Expand Down Expand Up @@ -73,6 +75,7 @@ private SumUpClient(ApiClient apiClient) {
this.readers = new ReadersClient(this.apiClient);
this.receipts = new ReceiptsClient(this.apiClient);
this.roles = new RolesClient(this.apiClient);
this.sales = new SalesClient(this.apiClient);
this.tokens = new TokensClient(this.apiClient);
this.transactions = new TransactionsClient(this.apiClient);
}
Expand Down Expand Up @@ -217,6 +220,15 @@ public RolesClient roles() {
return roles;
}

/**
* Returns the SalesClient client for the "Sales" API group.
*
* @return Client for the associated API group.
*/
public SalesClient sales() {
return sales;
}

/**
* Returns the TokensClient client for the "Tokens" API group.
*
Expand Down
272 changes: 272 additions & 0 deletions src/main/java/com/sumup/sdk/clients/SalesAsyncClient.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
// Code generated by sumup-java/codegen. DO NOT EDIT.
package com.sumup.sdk.clients;

import com.fasterxml.jackson.core.type.TypeReference;
import com.sumup.sdk.core.ApiClient;
import com.sumup.sdk.core.ApiException;
import com.sumup.sdk.core.HttpMethod;
import com.sumup.sdk.core.RequestOptions;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.CompletableFuture;

/**
* Client for the "Sales" API group.
*
* <p>Operations related to reading sales data.
*/
public final class SalesAsyncClient {
private final ApiClient apiClient;

/**
* Creates a new SalesAsyncClient instance backed by the provided ApiClient.
*
* @param apiClient Configured API client used to send HTTP requests.
*/
public SalesAsyncClient(ApiClient apiClient) {
this.apiClient = Objects.requireNonNull(apiClient, "apiClient");
}

/**
* Gets a sale
*
* <p>Returns `Sale` for `sale_id`, including item lines and `payments[]`. Non-finalised sales are
* never returned; only fully-paid sales.
*
* <p>Operation ID: GetSaleV10
*
* @param merchantCode The merchant code.
* @param saleId The sale ID.
* <p>Call the overload that accepts RequestOptions to customize headers, authorization, or
* request timeout.
* @return CompletableFuture resolved with com.sumup.sdk.models.Sale parsed response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.Sale> getSaleV10(String merchantCode, String saleId)
throws ApiException {
return getSaleV10(merchantCode, saleId, null);
}

/**
* Gets a sale
*
* <p>Returns `Sale` for `sale_id`, including item lines and `payments[]`. Non-finalised sales are
* never returned; only fully-paid sales.
*
* <p>Operation ID: GetSaleV10
*
* @param merchantCode The merchant code.
* @param saleId The sale ID.
* @param requestOptions Request-specific overrides (headers, authorization, or timeout). Pass
* {@code null} to use client defaults.
* @return CompletableFuture resolved with com.sumup.sdk.models.Sale parsed response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.Sale> getSaleV10(
String merchantCode, String saleId, RequestOptions requestOptions) throws ApiException {
Objects.requireNonNull(merchantCode, "merchantCode");
Objects.requireNonNull(saleId, "saleId");
String path = "/v1.0/merchants/{merchant_code}/sales/{sale_id}";
path =
path.replace(
"{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode)));
path = path.replace("{sale_id}", ApiClient.urlEncode(ApiClient.parameterValue(saleId)));

return this.apiClient.sendAsync(
HttpMethod.GET,
path,
null,
null,
null,
new TypeReference<com.sumup.sdk.models.Sale>() {},
requestOptions);
}

/**
* Lists sales
*
* <p>Returns a paginated list of `Sale` objects. Results are sorted **newest first** by the
* **newest event** recorded for each sale. Pagination tokens follow that order. Covers the
* merchant’s **last two years** of sales. Non-finalised sales are never returned; only fully-paid
* sales. Use `POST /sales/search` for filtered queries.
*
* <p>Operation ID: ListSalesV10
*
* @param merchantCode The merchant code.
* <p>Call the overload that accepts optional parameter objects or RequestOptions to customize
* headers, authorization, query values, or timeouts.
* @return CompletableFuture resolved with com.sumup.sdk.models.SalePage parsed response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.SalePage> listSalesV10(String merchantCode)
throws ApiException {
return listSalesV10(merchantCode, null);
}

/**
* Lists sales
*
* <p>Returns a paginated list of `Sale` objects. Results are sorted **newest first** by the
* **newest event** recorded for each sale. Pagination tokens follow that order. Covers the
* merchant’s **last two years** of sales. Non-finalised sales are never returned; only fully-paid
* sales. Use `POST /sales/search` for filtered queries.
*
* <p>Operation ID: ListSalesV10
*
* @param merchantCode The merchant code.
* @param listSalesV10 Optional query parameters for this request.
* <p>Call the overload that accepts RequestOptions to customize headers, authorization, or
* request timeout.
* @return CompletableFuture resolved with com.sumup.sdk.models.SalePage parsed response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.SalePage> listSalesV10(
String merchantCode, ListSalesV10QueryParams listSalesV10) throws ApiException {
return listSalesV10(merchantCode, listSalesV10, null);
}

/**
* Lists sales
*
* <p>Returns a paginated list of `Sale` objects. Results are sorted **newest first** by the
* **newest event** recorded for each sale. Pagination tokens follow that order. Covers the
* merchant’s **last two years** of sales. Non-finalised sales are never returned; only fully-paid
* sales. Use `POST /sales/search` for filtered queries.
*
* <p>Operation ID: ListSalesV10
*
* @param merchantCode The merchant code.
* @param listSalesV10 Optional query parameters for this request.
* @param requestOptions Request-specific overrides (headers, authorization, or timeout). Pass
* {@code null} to use client defaults.
* @return CompletableFuture resolved with com.sumup.sdk.models.SalePage parsed response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.SalePage> listSalesV10(
String merchantCode, ListSalesV10QueryParams listSalesV10, RequestOptions requestOptions)
throws ApiException {
Objects.requireNonNull(merchantCode, "merchantCode");
String path = "/v1.0/merchants/{merchant_code}/sales";
path =
path.replace(
"{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode)));
Map<String, Object> queryParams = new LinkedHashMap<>();
if (listSalesV10 != null) {
queryParams.putAll(listSalesV10.toMap());
}

return this.apiClient.sendAsync(
HttpMethod.GET,
path,
queryParams,
null,
null,
new TypeReference<com.sumup.sdk.models.SalePage>() {},
requestOptions);
}

/**
* Searches sales
*
* <p>Returns a paginated list of `SaleSearchItem` rows matching filter criteria. Results are
* sorted **newest first** by **sale close date**. Filters from different categories stack with
* **logical AND**; multiple values in one array field stack with **logical OR**. Results cover
* the merchant’s **last two years** of sales (narrow further with `start_date` / `end_date`).
* Pagination tokens are not interchangeable with `GET /sales`.
*
* <p>Operation ID: SearchSalesV10
*
* @param merchantCode The merchant code.
* @param request Request body payload.
* <p>Call the overload that accepts RequestOptions to customize headers, authorization, or
* request timeout.
* @return CompletableFuture resolved with com.sumup.sdk.models.SaleSearchResponse parsed
* response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.SaleSearchResponse> searchSalesV10(
String merchantCode, com.sumup.sdk.models.SaleSearchRequest request) throws ApiException {
return searchSalesV10(merchantCode, request, null);
}

/**
* Searches sales
*
* <p>Returns a paginated list of `SaleSearchItem` rows matching filter criteria. Results are
* sorted **newest first** by **sale close date**. Filters from different categories stack with
* **logical AND**; multiple values in one array field stack with **logical OR**. Results cover
* the merchant’s **last two years** of sales (narrow further with `start_date` / `end_date`).
* Pagination tokens are not interchangeable with `GET /sales`.
*
* <p>Operation ID: SearchSalesV10
*
* @param merchantCode The merchant code.
* @param request Request body payload.
* @param requestOptions Request-specific overrides (headers, authorization, or timeout). Pass
* {@code null} to use client defaults.
* @return CompletableFuture resolved with com.sumup.sdk.models.SaleSearchResponse parsed
* response.
* @throws ApiException if the SumUp API returns an error.
*/
public CompletableFuture<com.sumup.sdk.models.SaleSearchResponse> searchSalesV10(
String merchantCode,
com.sumup.sdk.models.SaleSearchRequest request,
RequestOptions requestOptions)
throws ApiException {
Objects.requireNonNull(merchantCode, "merchantCode");
Objects.requireNonNull(request, "request");
String path = "/v1.0/merchants/{merchant_code}/sales/search";
path =
path.replace(
"{merchant_code}", ApiClient.urlEncode(ApiClient.parameterValue(merchantCode)));

return this.apiClient.sendAsync(
HttpMethod.POST,
path,
null,
null,
request,
new TypeReference<com.sumup.sdk.models.SaleSearchResponse>() {},
requestOptions);
}

/** Optional query parameters for this request. */
public static final class ListSalesV10QueryParams {
private final Map<String, Object> values = new LinkedHashMap<>();

/**
* Sets the pagination_limit query parameter.
*
* @param value Maximum number of results per page.
* @return This ListSalesV10QueryParams instance.
*/
public ListSalesV10QueryParams paginationLimit(Long value) {
this.values.put("pagination_limit", Objects.requireNonNull(value, "paginationLimit"));
return this;
}

/**
* Sets the pagination_token query parameter.
*
* @param value Pagination token for subsequent requests. Should only be set by clients if they
* have received a token in the previous response, and this request is an immediate
* follow-up request to that response to load the subsequent page. Clients should treat this
* as an opaque token and should not attempt to parse it in any way.
* @return This ListSalesV10QueryParams instance.
*/
public ListSalesV10QueryParams paginationToken(String value) {
this.values.put("pagination_token", Objects.requireNonNull(value, "paginationToken"));
return this;
}

/**
* Converts query parameters to a map understood by ApiClient.
*
* @return Collected query parameters keyed by API name.
*/
Map<String, Object> toMap() {
return values;
}
}
}
Loading
Loading