
com.squareup.square.TeamClient 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;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.squareup.square.core.ClientOptions;
import com.squareup.square.core.MediaTypes;
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.types.CreateJobRequest;
import com.squareup.square.types.CreateJobResponse;
import com.squareup.square.types.ListJobsRequest;
import com.squareup.square.types.ListJobsResponse;
import com.squareup.square.types.RetrieveJobRequest;
import com.squareup.square.types.RetrieveJobResponse;
import com.squareup.square.types.UpdateJobRequest;
import com.squareup.square.types.UpdateJobResponse;
import java.io.IOException;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
public class TeamClient {
protected final ClientOptions clientOptions;
public TeamClient(ClientOptions clientOptions) {
this.clientOptions = clientOptions;
}
/**
* Lists jobs in a seller account. Results are sorted by title in ascending order.
*/
public ListJobsResponse listJobs() {
return listJobs(ListJobsRequest.builder().build());
}
/**
* Lists jobs in a seller account. Results are sorted by title in ascending order.
*/
public ListJobsResponse listJobs(ListJobsRequest request) {
return listJobs(request, null);
}
/**
* Lists jobs in a seller account. Results are sorted by title in ascending order.
*/
public ListJobsResponse listJobs(ListJobsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/team-members/jobs");
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()) {
return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListJobsResponse.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);
}
}
/**
* Creates a job in a seller account. A job defines a title and tip eligibility. Note that
* compensation is defined in a job assignment in a team member's wage setting.
*/
public CreateJobResponse createJob(CreateJobRequest request) {
return createJob(request, null);
}
/**
* Creates a job in a seller account. A job defines a title and tip eligibility. Note that
* compensation is defined in a job assignment in a team member's wage setting.
*/
public CreateJobResponse createJob(CreateJobRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/team-members/jobs")
.build();
RequestBody body;
try {
body = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
} catch (JsonProcessingException e) {
throw new SquareException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
.url(httpUrl)
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.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(), CreateJobResponse.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);
}
}
/**
* Retrieves a specified job.
*/
public RetrieveJobResponse retrieveJob(RetrieveJobRequest request) {
return retrieveJob(request, null);
}
/**
* Retrieves a specified job.
*/
public RetrieveJobResponse retrieveJob(RetrieveJobRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/team-members/jobs")
.addPathSegment(request.getJobId())
.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(), RetrieveJobResponse.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);
}
}
/**
* Updates the title or tip eligibility of a job. Changes to the title propagate to all
* JobAssignment
, Shift
, and TeamMemberWage
objects that reference the job ID. Changes to
* tip eligibility propagate to all TeamMemberWage
objects that reference the job ID.
*/
public UpdateJobResponse updateJob(UpdateJobRequest request) {
return updateJob(request, null);
}
/**
* Updates the title or tip eligibility of a job. Changes to the title propagate to all
* JobAssignment
, Shift
, and TeamMemberWage
objects that reference the job ID. Changes to
* tip eligibility propagate to all TeamMemberWage
objects that reference the job ID.
*/
public UpdateJobResponse updateJob(UpdateJobRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v2/team-members/jobs")
.addPathSegment(request.getJobId())
.build();
RequestBody body;
try {
body = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
} catch (JsonProcessingException e) {
throw new SquareException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
.url(httpUrl)
.method("PUT", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.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(), UpdateJobResponse.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