Carteira
Entendendo o sistema de carteira - saldos pendentes e disponíveis em moeda real.
Carteira
Todo membro tem uma carteira que rastreia seus ganhos com indicações. Ao contrário de programas de fidelidade tradicionais com pontos arbitrários, Rafobase usa moeda real (R$).
Saldos da Carteira
Cada carteira tem dois saldos:
| Saldo | Descrição |
|---|---|
| Pendente | Créditos de indicações recentes, ainda dentro do período de garantia |
| Disponível | Créditos que podem ser resgatados |
{
"wallet": {
"pending": 5000, // R$50.00 em centavos
"available": 15000, // R$150.00 em centavos
"currency": "BRL"
}
}Todos os valores monetários na API são representados em centavos para evitar problemas de precisão de ponto flutuante.
Sistema de Ledger
A carteira usa um padrão de ledger imutável. Os saldos nunca são atualizados diretamente - em vez disso, toda mudança cria um novo registro de transação.
┌─────────────────────────────────────────────────────────────────┐
│ LEDGER DA CARTEIRA │
├──────────┬─────────┬──────────┬──────────────────────────────────┤
│ Data │ Tipo │ Valor │ Descrição │
├──────────┼─────────┼──────────┼──────────────────────────────────┤
│ 1º Jan │ CRÉDITO │ +R$20.00 │ Indicação ref_abc123 (pendente) │
│ 8 Jan │ LIBERAÇÃO│ -- │ ref_abc123 garantia completa │
│ 10 Jan │ CRÉDITO │ +R$15.00 │ Indicação ref_def456 (pendente) │
│ 12 Jan │ DÉBITO │ -R$20.00 │ Resgate aplicado à assinatura │
│ 15 Jan │ CANCELAR│ -R$15.00 │ ref_def456 pedido reembolsado │
└──────────┴─────────┴──────────┴──────────────────────────────────┘Tipos de Transação
| Tipo | Efeito | Descrição |
|---|---|---|
credit | +pendente | Nova recompensa de indicação creditada |
release | pendente→disponível | Período de garantia completo |
debit | -disponível | Resgate processado |
cancel | -pendente | Pedido cancelado/reembolsado |
adjustment | ±disponível | Ajuste manual por admin |
Fluxo de Saldo
PERÍODO DE GARANTIA
(7 dias)
┌────────────┐ ┌────────────────┐
│ INDICAÇÃO │ ────────────────────────────►│ LIBERAÇÃO │
│ +R$20 │ │ pendente → disp │
└────────────┘ └────────────────┘
│ │
▼ ▼
┌────────────┐ ┌────────────────┐
│ pendente │ │ disponível │
│ R$20 │ │ R$20 │
└────────────┘ └────────────────┘
│
▼
┌────────────────┐
│ RESGATE │
│ -R$20 │
└────────────────┘Verificando Saldo
API
# Obtenha membro com carteira
curl https://api.rafobase.com/v1/members/mem_xxxxx \
-H "Authorization: Bearer $RAFOBASE_API_KEY"
# Resposta
{
"id": "mem_xxxxx",
"email": "customer@example.com",
"wallet": {
"pending": 5000,
"available": 15000,
"currency": "BRL"
}
}Histórico de Transações
# Obtenha transações da carteira
curl "https://api.rafobase.com/v1/members/mem_xxxxx/transactions" \
-H "Authorization: Bearer $RAFOBASE_API_KEY"Resgate
Os membros podem resgatar seu saldo disponível de várias formas:
1. Desconto em Assinatura (Guru)
Aplique crédito como desconto no próximo cobro de assinatura:
curl -X POST "https://api.rafobase.com/v1/members/mem_xxxxx/redeem" \
-H "Authorization: Bearer $RAFOBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 2000,
"type": "subscription_discount",
"subscription_id": "sub_xxxxx"
}'2. Gerar Crédito de Loja (Yampi)
Crie um código de cupom para a loja:
curl -X POST "https://api.rafobase.com/v1/members/mem_xxxxx/redeem" \
-H "Authorization: Bearer $RAFOBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"type": "store_credit"
}'O resgate só afeta o saldo disponível. O saldo pendente não pode ser resgatado até que o período de garantia expire.
Resgate Mínimo
Você pode configurar um valor mínimo de resgate por campanha:
{
"campaign": {
"min_redemption_amount": 2000 // R$20.00 mínimo
}
}Moeda
Rafobase atualmente suporta BRL (Real Brasileiro). Todos os valores são:
- Armazenados e exibidos em centavos
- Rotulados com código de moeda em respostas
Relacionado
- Membros - Proprietários da carteira
- Indicações - Como os créditos são ganhos
- Guia de Resgate - Fluxos de resgate detalhados