Rafobase Logo

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:

SaldoDescrição
PendenteCréditos de indicações recentes, ainda dentro do período de garantia
DisponívelCré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

TipoEfeitoDescrição
credit+pendenteNova recompensa de indicação creditada
releasependente→disponívelPeríodo de garantia completo
debit-disponívelResgate processado
cancel-pendentePedido cancelado/reembolsado
adjustment±disponívelAjuste 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

On this page