https://sandbox.javalibridge.com. As credenciais do sandbox são separadas das de produção e são entregues no onboarding.
Como funciona
Na produção, validação, compliance, câmbio, Pix e o passar do tempo levam os seus registros de um status para o próximo. No sandbox cada registro espera: você escolhe o próximo status com um endpoint,POST /v1/sandbox/simulations.
Erros do endpoint de simulação:
Toda simulação também está disponível no portal do sandbox: abra o registro e use Simulate. Ele chama o mesmo endpoint.
O que você pode simular
Remetentes
POST /v1/senders cria o remetente em PENDING. Ele fica PENDING até você simular a decisão de compliance.
Qualquer status pode ir para qualquer outro. O nível de compliance é calculado a partir dos dados que você envia, como na produção: um remetente sem os dados do
LEVEL_1 fica LEVEL_0 e não envia, mesmo ACTIVE.
Beneficiários e chaves Pix
POST /v1/beneficiaries cria o beneficiário em PENDING e cada chave Pix em SCREENING. Eles são aprovados separadamente, como na produção.
Uma remessa precisa do beneficiário
ACTIVE e da chave Pix APPROVED. Qualquer chave Pix é aceita no cadastro.
Cotações
POST /v1/fx/quotes retorna uma cotação AVAILABLE com a validade padrão. Para testar uma cotação expirada sem esperar, simule QUOTE → EXPIRED.
Withdrawals
POST /v1/remittances/withdrawals cria a remessa em RECEIVED e envia o primeiro remittance.status_changed. RECEIVED significa que a requisição foi aceita e aguarda a validação. No sandbox ela fica RECEIVED até você simular o próximo passo.
Os caminhos que você vai querer testar:
Os efeitos são os mesmos da produção:
PROCESSINGreserva o limite de crédito, o saldo pré-fundado ou o volume do Inventory.REJECTEDlibera o que foi reservado. A cotação e o external ID não são liberados: use novos para tentar de novo.COMPLETEDdisponibiliza o comprovante emGET /v1/remittances/{remittanceId}/receipt. Uma remessaCREDITentra no lote de liquidação aberto.FUNDS_HELD_BRLeREFUNDED_BY_USERnão devolvem nada para as suas wallets nem para a sua linha de crédito.
Simular
PROCESSING roda a validação real. Se o withdrawal tiver um problema real, como um remetente ainda PENDING, a remessa vai para REJECTED com o código real, e a resposta da simulação mostra isso.Rejeições
Uma rejeição é uma remessa que vai paraREJECTED, com a causa em rejectedCode e um texto legível em rejectedDescription. Para testar uma, crie um withdrawal e simule REJECTED com o código que você quer:
GET /v1/remittances/{remittanceId} passam a retornar:
rejectedCode é obrigatório quando você simula REJECTED. rejectedDescription é preenchida com o texto padrão do código, sempre em inglês: você não envia.
A partir de RECEIVED, estes códigos são aceitos:
A partir de
PROCESSING ou ON_HOLD, o único código aceito é COMPLIANCE_REJECTED: o compliance recusou a remessa, e o motivo não é detalhado.
Erros na resposta
Só erros da própria requisição voltam na resposta HTTP do withdrawal. Você os reproduz com uma requisição real, sem o endpoint de simulação.Liquidações
Um lote abre quando a primeira remessaCREDIT do dia fica COMPLETED. O tempo e o pagamento em USDC são simulados.
CLOSED, DUE e OVERDUE seguem essa ordem. Lotes não geram webhook: consulte-os em GET /v1/settlements.
Inventory Lots
POST /v1/inventories cria o lote com status = ACTIVE e obligation.status = PENDING.
Indisponível no sandbox
RATE_LIMITED (429), INTERNAL_ERROR (500) e SERVICE_UNAVAILABLE (503) não podem ser reproduzidos sob demanda. Siga as regras de nova tentativa em Convenções da API.
Saldos e limites
A conta do sandbox começa com saldo USD pré-fundado, uma linha de crédito e as modalidades de funding acordadas para a sua conta. Consulte-os emGET /v1/wallets, GET /v1/credit-line e GET /v1/limits. Nenhum dinheiro real se move.
Antes de ir para produção
Execute cada cenário abaixo. Um cenário está concluído quando a API retornou o esperado e cada webhook mostra uma entrega2xx em GET /v1/webhooks/{webhookId}/deliveries.
Os cenários 15 a 17 valem só para as modalidades de funding habilitadas na sua conta.

