Pular para o conteúdo principal

Solicitar Saque

Use esta rota para solicitar um saque do saldo disponível da sua conta ou de um parceiro específico. O saque é processado de forma assíncrona, por isso a resposta síncrona retorna o status processing.

Importante

Esta rota depende de habilitação prévia pela Marlim. Entre em contato com o nosso time de suporte para mais informações.

POSTv3/financial/withdrawal

Request Body Params

AtributoTipoDescrição
amountint32Valor em centavos a ser sacado. Campo obrigatório, deve ser um número inteiro maior ou igual a 1000 (R$ 10,00).
sub_seller_idstringID do parceiro que terá o saque solicitado. Quando omitido, o saque é realizado na sua conta (seller).
Exemplo de Request Body (saque da conta)
{
"amount": 10000
}
Exemplo de Request Body (saque do parceiro)
{
"amount": 5000,
"sub_seller_id": "sub_k4m6Rw5rlQszEY7fiuRe"
}
Dica

Antes de solicitar um saque, consulte o saldo disponível pela rota Consultar Saldo. O valor informado em amount não pode ser maior que balance.available.amount.

Regras do saque

Ao solicitar um saque, a API valida as seguintes condições:

RegraDescrição
Saque em andamentoNão é permitido iniciar um novo saque enquanto já existir outro saque em andamento.
Saldo suficienteO valor solicitado deve ser menor ou igual ao saldo disponível em centavos.
Valor mínimoO valor mínimo de saque é 1000 centavos (R$ 10,00).

Saque de parceiro (sub_seller)

Quando sub_seller_id for informado, regras adicionais se aplicam:

RegraDescrição
Saque automáticoParceiros com automatic_withdrawal igual a true não podem solicitar saque manual por esta rota.
Atenção

O processamento do saque junto à adquirente ocorre de forma assíncrona. A resposta HTTP com status 200 e status: "processing" indica que o saque foi aceito para processamento, não que o valor já foi creditado na conta bancária.

Response Object

AtributoTipoDescrição
statusstringStatus do saque. Valor retornado: processing.
amountint32Valor em centavos efetivamente solicitado para saque.
withdrawal_idstringID do saque.
Exemplo de Response
{
"status": "processing",
"amount": 10000,
"withdrawal_id": "withdrawal_1234567890"
}

Error Object

AtributoTipoDescrição
errorsarrayArray com todos os erros encontrados ao processar a requisição.
errors[][type]stringTipo de erro ocorrido.
errors[][message]stringMensagem detalhada do erro ocorrido.
Exemplo de erro
{
"errors": [
{
"type": "withdrawal",
"message": "Insufficient balance to withdraw"
}
]
}

Exemplos

ATENÇÃO

Os valores utilizados nos exemplos abaixo são apenas para ilustração e não devem ser usados para fazer requests nas APIs da Marlim.

Request
curl -X POST "https://api.marlim.co/v3/financial/withdrawal" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"amount": 10000
}'
Response200
{
"status": "processing",
"amount": 10000,
"withdrawal_id": "withdrawal_1234567890"
}