Solicitar Saque
Utilize este endpoint para enviar fundos da sua conta para o cliente ou parceiro.
Ambientes Disponíveis
- Produção
https://api.unoip.com.br
Endpoint
- Método:
POST - Endpoint:
/withdrawal - Autenticação: Bearer token
Request Body
⚠️ Importante: Valores em Centavos
Todos os valores monetários (amount) devem ser enviados em centavos como números inteiros.
Exemplos:
- R$ 10,00 =
1000 - R$ 99,99 =
9999 - R$ 100,50 =
10050
NÃO use: 99.99, 10.00, valores negativos
USE: 9999, 1000 (sempre inteiros)
| Nome | Tipo | Obrigatório | Descrição | Validações |
|---|---|---|---|---|
amount | number | Sim | Valor do saque (inteiro em centavos) | Deve ser inteiro em centavos; mínimo 10 (R$ 0,10) e máximo 10000000 (R$ 100.000,00) |
pixKey | string | Sim | Chave PIX de destino | Deve ser validada conforme o pixKeyType informado:
|
pixKeyType | string (enum) - CPF, CNPJ, EMAIL, PHONE, EVP | Sim | Tipo da chave | Deve ser um enum válido |
webhookUrl | string (URL) | Não | URL HTTPS para receber notificações | Deve ser URL válida com https obrigatório; sem fragmento (#); host e TLD obrigatórios; query permitida |
externalCode | string | Não | Seu código de referência | Deve ter entre 8 e 255 caracteres |
idempotencyKey | string | Não | Identificador único para evitar duplicações | Deve ter entre 8 e 255 caracteres |
Exemplo de Requisição
- cURL
- JavaScript
curl --request POST \
--url https://api.unoip.com..br/withdrawal \
--header 'Authorization: Bearer seu-token-jwt' \
--header 'Content-Type: application/json' \
--data '{
"amount": 10000,
"pixKey": "12345678910",
"pixKeyType": "CPF",
"webhookUrl": "https://sua-api.com/webhooks/withdrawal",
"externalCode": "SAQUE-123",
"idempotencyKey": "unique-key-12345"
}'
const response = await fetch('https://api.unoip.com..br/withdrawal', {
method: 'POST',
headers: {
'Authorization': 'Bearer seu-token-jwt',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 10000,
pixKey: "12345678910",
pixKeyType: "CPF",
webhookUrl: "https://sua-api.com/webhooks/withdrawal",
externalCode: "SAQUE-123",
idempotencyKey: "unique-key-12345"
})
});
const data = await response.json();
Resposta de Sucesso
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | string (UUID) | Sim | Identificador único do saque |
externalCode | string | Não | Seu código de referência |
amount | number | Sim | Valor do saque (inteiro em centavos) |
status | string (enum) - PENDING | Sim |
|
Exemplo de Resposta
{
"id": "553e8400-e29b-41d4-a716-436251480000",
"externalCode": "SAQUE-123",
"amount": 10000,
"status": "PENDING"
}
Possíveis Erros
| Código | Descrição | Solução |
|---|---|---|
| 401 | Credenciais inválidas | Verifique suas credenciais |
| 403 | Sem permissão/autorização | Contate o suporte |
| 422 | Dados inválidos ou faltando | Verifique o formato dos dados |
| 422 | Validações | Contate o suporte |
| 429 | Muitas requisições | Aguarde e tente novamente |
| 500 | Erro interno | Contate o suporte |