
com.squareup.square.disputes.EvidenceClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of square Show documentation
Show all versions of square Show documentation
Java client library for the Square API
The newest version!
/**
* This file was auto-generated by Fern from our API Definition.
*/
package com.squareup.square.disputes;
import com.squareup.square.core.ClientOptions;
import com.squareup.square.core.ObjectMappers;
import com.squareup.square.core.QueryStringMapper;
import com.squareup.square.core.RequestOptions;
import com.squareup.square.core.SquareApiException;
import com.squareup.square.core.SquareException;
import com.squareup.square.core.SyncPagingIterable;
import com.squareup.square.disputes.types.DeleteEvidenceRequest;
import com.squareup.square.disputes.types.GetEvidenceRequest;
import com.squareup.square.disputes.types.ListEvidenceRequest;
import com.squareup.square.types.DeleteDisputeEvidenceResponse;
import com.squareup.square.types.DisputeEvidence;
import com.squareup.square.types.GetDisputeEvidenceResponse;
import com.squareup.square.types.ListDisputeEvidenceResponse;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
public class EvidenceClient {
protected final ClientOptions clientOptions;
public EvidenceClient(ClientOptions clientOptions) {
this.clientOptions = clientOptions;
}
/**
* Returns a list of evidence associated with a dispute.
*/
public SyncPagingIterable list(ListEvidenceRequest request) {
return list(request, null);
}
/**
* Returns a list of evidence associated with a dispute.
*/
public SyncPagingIterable list(ListEvidenceRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/disputes")
.addPathSegment(request.getDisputeId())
.addPathSegments("evidence");
if (request.getCursor().isPresent()) {
QueryStringMapper.addQueryParameter(
httpUrl, "cursor", request.getCursor().get(), false);
}
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json");
Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
if (response.isSuccessful()) {
ListDisputeEvidenceResponse parsedResponse =
ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListDisputeEvidenceResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListEvidenceRequest nextRequest = ListEvidenceRequest.builder()
.from(request)
.cursor(startingAfter)
.build();
List result = parsedResponse.getEvidence().orElse(Collections.emptyList());
return new SyncPagingIterable(
startingAfter.isPresent(), result, () -> list(nextRequest, requestOptions));
}
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
throw new SquareApiException(
"Error with status code " + response.code(),
response.code(),
ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class));
} catch (IOException e) {
throw new SquareException("Network error executing HTTP request", e);
}
}
/**
* Returns the metadata for the evidence specified in the request URL path.
* You must maintain a copy of any evidence uploaded if you want to reference it later. Evidence cannot be downloaded after you upload it.
*/
public GetDisputeEvidenceResponse get(GetEvidenceRequest request) {
return get(request, null);
}
/**
* Returns the metadata for the evidence specified in the request URL path.
* You must maintain a copy of any evidence uploaded if you want to reference it later. Evidence cannot be downloaded after you upload it.
*/
public GetDisputeEvidenceResponse get(GetEvidenceRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/disputes")
.addPathSegment(request.getDisputeId())
.addPathSegments("evidence")
.addPathSegment(request.getEvidenceId())
.build();
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl)
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json");
Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
if (response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetDisputeEvidenceResponse.class);
}
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
throw new SquareApiException(
"Error with status code " + response.code(),
response.code(),
ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class));
} catch (IOException e) {
throw new SquareException("Network error executing HTTP request", e);
}
}
/**
* Removes specified evidence from a dispute.
* Square does not send the bank any evidence that is removed.
*/
public DeleteDisputeEvidenceResponse delete(DeleteEvidenceRequest request) {
return delete(request, null);
}
/**
* Removes specified evidence from a dispute.
* Square does not send the bank any evidence that is removed.
*/
public DeleteDisputeEvidenceResponse delete(DeleteEvidenceRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/disputes")
.addPathSegment(request.getDisputeId())
.addPathSegments("evidence")
.addPathSegment(request.getEvidenceId())
.build();
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl)
.method("DELETE", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json");
Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
if (response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), DeleteDisputeEvidenceResponse.class);
}
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
throw new SquareApiException(
"Error with status code " + response.code(),
response.code(),
ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class));
} catch (IOException e) {
throw new SquareException("Network error executing HTTP request", e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy