Saque Automático
Configura saques automáticos para sub-contas.
POST /api/customer/{id}/account
Endpoint
POST https://api.divipay.com.br/api/customer/{id}/accountHeaders
| Header | Valor | Obrigatório |
|---|---|---|
| Authorization | Bearer | Sim |
| Content-Type | application/json | Sim |
Path Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | string | ID da sub-conta |
Tipos de Saque
1. Saque via Chave Pix
json
{
"type": "DICT",
"keyPix": "joao@email.com",
"periodType": "DAILY",
"days": [1, 15]
}2. Saque via Dados Bancários
json
{
"type": "MANU",
"accountHolderDocument": "12345678901",
"accountHolderName": "João Silva",
"account": "12345",
"accountType": "CC",
"agency": "0001",
"ispb": "00000000",
"periodType": "WEEKLY",
"days": [1, 5]
}Períodos de Saque
| Tipo | Descrição | Dias |
|---|---|---|
| HOURLY | A cada hora | - |
| DAILY | Dias do mês | 1-31 |
| WEEKLY | Dias da semana | 0-6 (0=Domingo) |
| MONTHLY | Uma vez por mês | Dia do mês |
Exemplo - Chave Pix
bash
curl -X POST https://api.divipay.com.br/api/customer/sub_abc123/account \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "DICT",
"keyPix": "joao@email.com",
"periodType": "DAILY",
"days": [1, 15]
}'javascript
const response = await fetch(
'https://api.divipay.com.br/api/customer/sub_abc123/account',
{
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
type: 'DICT',
keyPix: 'joao@email.com',
periodType: 'DAILY',
days: [1, 15]
})
}
);
const result = await response.json();Resposta
json
{
"id": "auto_withdraw_xyz789"
}Exemplos de Configuração
Saque Diário
javascript
{
"type": "DICT",
"keyPix": "11999999999",
"periodType": "DAILY",
"days": [1, 10, 20] // Dias 1, 10 e 20 de cada mês
}Saque Semanal
javascript
{
"type": "DICT",
"keyPix": "12345678901",
"periodType": "WEEKLY",
"days": [1, 5] // Segunda e sexta-feira
}Saque Mensal
javascript
{
"type": "DICT",
"keyPix": "joao@email.com",
"periodType": "MONTHLY",
"days": [5] // Dia 5 de cada mês
}Saque Horário
javascript
{
"type": "DICT",
"keyPix": "joao@email.com",
"periodType": "HOURLY",
"days": []
}Exemplo Completo
javascript
async function setupAutoWithdraw(customerId, config) {
try {
const response = await fetch(
`https://api.divipay.com.br/api/customer/${customerId}/account`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(config)
}
);
if (!response.ok) {
const error = await response.json();
throw new Error(error.message);
}
const result = await response.json();
console.log('✅ Saque automático configurado:', result.id);
return result;
} catch (error) {
console.error('❌ Erro ao configurar saque:', error);
throw error;
}
}
// Uso
await setupAutoWithdraw('sub_abc123', {
type: 'DICT',
keyPix: 'joao@email.com',
periodType: 'WEEKLY',
days: [1, 5] // Segunda e sexta
});Validação de Chave Pix
javascript
function validatePixKey(key) {
// CPF/CNPJ
if (/^\d{11}$/.test(key) || /^\d{14}$/.test(key)) {
return { valid: true, type: 'CPF/CNPJ' };
}
// Email
if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(key)) {
return { valid: true, type: 'Email' };
}
// Telefone
if (/^\d{10,11}$/.test(key)) {
return { valid: true, type: 'Telefone' };
}
// Chave aleatória
if (/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i.test(key)) {
return { valid: true, type: 'Aleatória' };
}
return { valid: false, type: null };
}