Pular para o conteúdo principal

Quickstart

O que você irá aprender com esse artigo?
  • Como instanciar o MerxClient.
  • Como criar um produtor e uma fazenda em poucas linhas.
  • Onde encontrar exemplos completos e executáveis.

Instanciando o cliente

import com.merx.sdk.api.MerxClient;
import com.merx.sdk.core.Environment;

MerxClient merx = MerxClient.builder()
.apiKey(System.getenv("MERX_API_KEY"))
.environment(Environment.SANDBOX)
.build();

Criando um produtor e uma fazenda

import com.merx.sdk.model.baseline.producer.CreateProducerRequest;
import com.merx.sdk.model.baseline.farm.CreateFarmRequest;
import com.merx.sdk.model.common.IdResponse;

IdResponse producer = merx.producers().create(CreateProducerRequest.builder()
.companyName("Fazenda X LTDA")
.tradingName("Fazenda X")
.socialIdentity("12345678000199")
.build());

System.out.println("Producer id: " + producer.getId());

IdResponse farm = merx.farms().create(producer.getId(), CreateFarmRequest.builder()
.name("Fazenda X - Sede")
.own(true)
.car("PR-1234567890")
.area("250.50")
.build());

System.out.println("Farm id: " + farm.getId());

Tratamento de erros

O SDK mapeia respostas de erro para exceções tipadas (MerxBadRequestException, MerxUnauthorizedException, MerxNotFoundException, MerxValidationException, etc.). Falhas transientes (5xx, timeouts) já passam por retry automático com backoff — erros 4xx sobem direto.

import com.merx.sdk.core.exception.MerxNotFoundException;

try {
// operações que mutam lançam exceção em erro HTTP (finders retornam Optional)
merx.producers().disable(producerId);
} catch (MerxNotFoundException e) {
// 404 — recurso não existe
}

Exemplos completos e executáveis

Para fluxos end-to-end prontos para clonar e rodar, use o repositório de exemplos merx-java-sdk-examples. Uma empresa fictícia (Cooperativa Demo) executa a mesma jornada — cadastro, relatórios e negociação — em três stacks, para você comparar lado a lado:

MóduloStack
examples-basicJava puro (console)
examples-springSpring Boot (REST)
examples-quarkusQuarkus (REST)

O módulo examples-core concentra todas as chamadas ao SDK (um método por endpoint), servindo de catálogo de referência copiável.

git clone https://github.com/merx-delevopers/merx-java-sdk-examples.git
cd merx-java-sdk-examples
export MERX_API_KEY=<seu-token>
mvn clean install # build dos 4 módulos
mvn -q -pl examples-basic exec:java # roda a jornada em Java puro