Java
Use the official Cobrofácil Java SDK to call the API from Java 8 or newer applications. The package is published as com.cortier:cobrofacil.
Installation
Add the SDK from Sonatype Central.
<dependency>
<groupId>com.cortier</groupId>
<artifactId>cobrofacil</artifactId>
<version>1.0.8</version>
</dependency>
Create a client
Build a CobrofacilClient with an environment and bearer token. Before creating the client, generate a token for the environment you want to use.
import com.cortier.cobrofacil.CobrofacilClient;
import com.cortier.cobrofacil.CobrofacilEnvironment;
CobrofacilClient client = CobrofacilClient.builder()
.environment(CobrofacilEnvironment.SANDBOX)
.bearerToken("token")
.build();
API clients
CobrofacilClient exposes typed clients for the available API resources.
client.clients();
client.transactions();
client.stp();
Clients
import com.cortier.cobrofacil.generated.model.CreateClientRequest;
CreateClientRequest request = new CreateClientRequest()
.firstName("Juan")
.lastName("Mejía")
.phoneNumber("+526640000000")
.middleName("Alberto")
.mmName(null);
client.clients().createClient(request);
client.clients().getClient("client-200");
Transactions
client.transactions().getTransactions(
"2026-01-01",
"2026-01-31",
"client-200",
1
);
STP
client.stp().getStpBalance();
client.stp().createStpPayout();
Error handling
API errors are thrown as CobrofacilApiException. Validation errors return a ValidationErrorResponse with a message and field-level errors. Other documented API errors return an ErrorResponse with a message.
import com.cortier.cobrofacil.CobrofacilApiException;
import com.cortier.cobrofacil.generated.model.ErrorResponse;
import com.cortier.cobrofacil.generated.model.ValidationErrorResponse;
try {
client.clients().getClient("client-200");
} catch (CobrofacilApiException exception) {
if (exception.isValidationError()) {
ValidationErrorResponse error = exception.getValidationErrorResponse();
System.out.println(error.getMessage());
System.out.println(error.getErrors());
return;
}
if (exception.hasErrorResponse()) {
ErrorResponse error = exception.getErrorResponse();
System.out.println(error.getMessage());
return;
}
System.out.println(exception.getResponseBody());
}
Timeouts
The client sets sensible default timeouts. Override them with Duration values when your runtime needs stricter limits.
import com.cortier.cobrofacil.CobrofacilClient;
import com.cortier.cobrofacil.CobrofacilEnvironment;
import java.time.Duration;
CobrofacilClient client = CobrofacilClient.builder()
.environment(CobrofacilEnvironment.PRODUCTION)
.bearerToken("token")
.connectTimeout(Duration.ofSeconds(5))
.readTimeout(Duration.ofSeconds(20))
.writeTimeout(Duration.ofSeconds(20))
.build();