Kobana

Tudo que ajusta o comportamento da plataforma em uma tela.

Organization settings, dunning, NFe defaults, portal toggles, backup schedule, branding. Mudanças refletidas em workers e cobrança automaticamente.

Sistema
Tela de configurações da organização
1
Organization por tenant
AES-256-GCM
GlobalSettings encryption
Versionado
em AuditLog
Real-time
aplicação imediata

Categorias de configuração

Organização
Razão social, CNPJ, endereço, contato. Vinculado à Person da organização. Aplicado em e-mails, NFe, documentos.
  • Razão social, CNPJ, endereço
  • Vinculado à Person
  • Aplicado em e-mails e NFe
Branding
Logo (light + dark), favicon, cores primárias. Aplicado em portal, e-mails e PDFs.
  • Logo light + dark
  • Favicon e cores
  • Portal, e-mails, PDFs
Dunning
DunningConfig — maxRetries, retryIntervalDays, gracePeriodDays, suspendAfterRetries, métodos para retry.
  • maxRetries + retryIntervalDays
  • gracePeriodDays
  • Métodos para retry
NFe
NfeConfig — provider, política de emissão, retry, descrição padrão.
  • Provider
  • Política de emissão
  • Retry config
Portal
PortalConfig — toggles, branding, custom domain.
  • Toggles
  • Branding
  • Custom domain
Subscription Change
SubscriptionChangeConfig — controla item changes (allow add/remove, proration, timing).
  • Add/remove items
  • Proration
  • Timing
Plan Change
PlanChangeConfig — allowUpgrade, allowDowngrade, proration method, timing (immediate vs end_of_period).
  • allowUpgrade / allowDowngrade
  • Proration method
  • Immediate vs end_of_period
Backup
Backup config — frequência, retenção, storage. Worker backup executa via pg_dump.
  • Frequência configurável
  • Retenção
  • pg_dump
Notificações
Defaults para canal + tipo. NotificationPreference por billing account herda destes defaults.
  • Defaults por canal
  • Herança em BillingAccount
  • Override granular
API + Rate Limits
RateLimitConfig — limites GET vs mutation, por minuto e por hora.
  • GET vs mutation
  • Por minuto e por hora
  • Configurável por org

Recursos avançados

GlobalSettings (Secrets)
Chaves sensíveis (tokens de integração, API keys de terceiros) armazenadas em GlobalSettings com valueEncrypted (AES-256-GCM).
  • sensitive=true impede exibição
  • Acesso apenas via service
  • Soft delete preserva histórico
Backup Automático
Worker backup cria snapshot do tenant. Storage S3 com retenção configurável. RestoreLog rastreia restaurações.
  • pg_dump por organização
  • Download via URL assinada
  • Restore com confirmação dupla
  • Worker backup-cleanup (diário 03:00 UTC)
Aplicação Imediata
Mudanças refletidas no próximo ciclo dos workers (5min a 6h dependendo do job). Sem deploy necessário.
  • Próximo ciclo do worker
  • Sem deploy
  • Real-time effect
Versionamento via AuditLog
Toda mudança em settings registra previousValues + newValues + userEmail + timestamp em AuditLog.
  • previousValues + newValues
  • userEmail + timestamp
  • Em AuditLog
Restore Stale Detection
Worker stale-restore-check (a cada 30 min) marca restaurações cujos jobs BullMQ ficaram travados como failed.
  • A cada 30 min
  • Detecta jobs travados
  • Mark as failed
Multi-Layer Configuration
Hierarquia: GlobalSettings (sistema) → Organization defaults → Company override → BillingAccount preference. Cada layer pode override.
  • 4 camadas
  • Cada layer pode override
  • Hierarquia clara
LGPD: DataPurge Schedule
Configurar período de retenção de dados pessoais. Worker data-purge aplica conforme política.
  • Retenção de dados pessoais
  • Worker data-purge
  • Política configurável
Configuração via API
Todas configurações editáveis via REST. Útil para multi-tenant automatizado.
  • REST API
  • Multi-tenant automatizado
  • Provisionamento via código

Atualizar dunning config via API

bash
curl -X PATCH https://api.billing.kobana.com.br/v1/organizations/settings/dunning \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "max_retries": 4,
    "retry_interval_days": [2, 5, 10, 20],
    "grace_period_days": 15,
    "suspend_after_retries": true
  }'
response
{
  "id": "dc_xyz",
  "max_retries": 4,
  "retry_interval_days": [2, 5, 10, 20],
  "updated_at": "2026-06-06T12:00:00Z"
}

Perguntas frequentes

Configure uma vez, opere todo dia