Introdução
O Super Estante é uma plataforma de leitura corporativa SaaS criada para empresas que querem incentivar o desenvolvimento contínuo dos seus colaboradores através de livros e audiobooks curados. Em vez de cada pessoa precisar comprar livros separadamente, a empresa contrata um plano, configura quantos livros cada funcionário pode acessar por mês, e os colaboradores escolhem o conteúdo que querem consumir dentro do catálogo liberado.
A plataforma combina biblioteca digital, audiobooks, gamificação (XP, conquistas, ranking), relatórios de engajamento para gestores, e integrações via API com sistemas internos da empresa (ERPs, RHs, intranets). Tudo isso com white-label completo — sua empresa pode usar domínio próprio, cores próprias, logo próprio, sem qualquer marca do Super Estante.
Como funciona
O fluxo geral da plataforma segue 5 etapas:
- 1Empresa contrata um plano. A empresa fecha um plano com a Super Estante (definindo número de assentos, formato — ebook, audiobook ou ambos — e categorias liberadas).
- 2Admin cadastra os colaboradores. Pelo painel administrativo, importando CSV, cadastrando manualmente ou via API integrada ao sistema de RH.
- 3Cada colaborador recebe créditos mensais. 1 crédito = 1 livro adicionado à estante por mês (configurável).
- 4O colaborador navega o catálogo e resgata os livros. Ao resgatar, o livro vai pra estante e fica disponível pra leitura/escuta. Se não escolher, a plataforma pode atribuir automaticamente um livro popular ao final do mês.
- 5O colaborador lê / escuta, ganha XP, badges, sobe no ranking. Gestores acompanham o engajamento da equipe em tempo real através de relatórios.
Perfis de usuário
A plataforma reconhece 4 tipos de usuário, cada um com permissões e telas próprias:
Leitor
O colaborador da empresa. Acessa o catálogo, resgata livros, lê/escuta, acumula XP, ganha conquistas, vê o ranking da equipe.
Gestor
Acompanha sua equipe (departamento). Vê relatórios de engajamento, ranking interno, taxa de conclusão de livros, sem mexer no catálogo.
Admin
Administra a empresa: cadastra usuários, gerencia o catálogo liberado, configura créditos, banners, white-label, gera API keys e webhooks.
Super Admin
Equipe Super Estante. Cria e administra todas as empresas (tenants) da plataforma, acessa o marketplace de conteúdo, modera publicações.
Sistema de créditos
Os créditos são o mecanismo que controla quantos livros cada colaborador pode adicionar à estante por mês. O padrão é 1 crédito por usuário por mês, mas isso é configurável tanto por empresa (via painel admin) quanto por usuário individual (via API ou painel).
Como funciona o ciclo mensal
- Início do mês: cada usuário ativo recebe a sua cota de créditos (ex: 1 ou 3 ou 5, conforme configurado).
- Resgate: ao clicar em Resgatar em qualquer livro do catálogo, 1 crédito é debitado e o livro vai pra estante permanentemente (não expira).
- Atribuição automática: se ao final do mês o usuário não usou os créditos, o sistema escolhe um livro popular do catálogo e adiciona automaticamente à estante (evitando desperdício).
- Saldo não rola: créditos não usados não acumulam para o mês seguinte. Cada mês começa com a cota cheia.
- Histórico permanente: todo resgate fica registrado e o livro permanece na estante do usuário pra sempre, mesmo se ele trocar de empresa.
Edição de créditos
Admins podem alterar a cota de qualquer usuário a qualquer momento (aumentar, diminuir, zerar) tanto pelo painel quanto via API. Útil pra premiar uma equipe ou liberar créditos extras durante uma campanha.
Catálogo e biblioteca
O catálogo é a lista de livros disponíveis para os colaboradores de uma empresa. Ele é filtrado por empresa: cada tenant pode ter acesso ao catálogo completo do Super Estante ou apenas a categorias específicas (ex: só "Liderança" e "Produtividade").
Organização
- Categorias: Liderança, Produtividade, Comunicação, Inovação, Negócios, Psicologia, etc. Cada livro pode ter múltiplas categorias.
- Tags: palavras-chave adicionais pra busca refinada.
- Nível de dificuldade: Iniciante, Intermediário, Avançado.
- Lançamentos do mês: aparecem primeiro na ordenação, identificados por badge.
- Status: publicado (visível), rascunho (oculto), agendado (com data de lançamento futura), arquivado.
Busca
A busca funciona por título e autor (sem necessidade de filtros). Suporta diacríticos (ex: "Habito" encontra "Hábito") e busca parcial. Há também o botão Buscar... sempre presente na sidebar.
E-book vs Audiobook
Cada livro pode ser disponibilizado em um ou nos dois formatos:
E-book
Leitor de PDF/EPUB embutido. Suporta marcadores, anotações, busca dentro do texto, ajuste de fonte, modo escuro, modo executivo (resumido).
Audiobook
Player de áudio com controle de velocidade (0.5x até 2x), sleep timer, capítulos navegáveis, sincroniza o progresso entre dispositivos.
Estante pessoal
A Estante é o espaço pessoal de cada colaborador, organizada em 4 abas:
- Lendo Agora: livros com leitura iniciada (progresso entre 1% e 99%) e livros recém-resgatados ainda não abertos.
- Concluídos: livros com 100% de leitura ou marcados como concluídos. Contam pra conquistas e ranking.
- Favoritos: livros concluídos que o usuário avaliou com 4+ estrelas.
- Quero Ler: livros do catálogo ainda não adquiridos. Funciona como uma wishlist.
Cada livro da estante mostra o nome e logo da empresa que entregou aquele livro. Essa atribuição é congelada no momento do resgate, então mesmo que o colaborador troque de empresa depois, o histórico mostra corretamente de onde cada livro veio.
Leitor e reprodutor
Para e-books
- Renderização nativa de PDF e EPUB no navegador (sem download obrigatório).
- Marcadores e anotações persistentes, sincronizadas com a conta.
- Ajuste de tamanho da fonte e modo escuro.
- Busca dentro do conteúdo do livro.
- Quiz pós-leitura: ao concluir, o leitor responde perguntas sobre o livro. Acertar gera certificado e XP bônus.
Para audiobooks
- Player com controles de velocidade (0.5x, 1x, 1.25x, 1.5x, 2x).
- Sleep timer (15 / 30 / 60 minutos).
- Navegação por capítulos e barra de progresso interativa.
- Sincronização automática do ponto da escuta — começa onde você parou, mesmo em outro dispositivo.
Gamificação e ranking
A plataforma usa mecânicas de jogo pra incentivar a leitura. Os colaboradores acumulam pontos (XP) e desbloqueiam conquistas conforme avançam:
Pontos (XP)
- Concluir um livro: +100 XP
- Acertar quiz: +50 XP
- Fazer anotação ou marcador: +5 XP
- Avaliar um livro: +10 XP
- Manter sequência de leitura diária: +25 XP por dia
Conquistas (badges)
Mais de 30 conquistas pré-definidas, divididas em níveis (bronze, prata, ouro, diamante). Exemplos: Primeiro Livro, Maratonista (5 livros em 1 mês), Madrugador (ler antes das 6h), Eclético (livros de 5 categorias diferentes), Mentor (compartilhar 10 recomendações).
Ranking
Tabela classificatória dentro da empresa, atualizada em tempo real. Mostra top leitores por mês, por trimestre e geral. Pode ser filtrada por departamento (útil pra competições internas).
Downloads offline
Para ler/ouvir sem conexão, o colaborador pode baixar livros pro dispositivo. O download fica criptografado, vinculado ao usuário e com licença renovável.
- Cada livro pode ser baixado em até 3 dispositivos simultâneos.
- A licença renova automaticamente a cada 30 dias enquanto o usuário estiver ativo e o livro permanecer na estante.
- O progresso de leitura/escuta sincroniza com o servidor quando há conexão.
- Se o usuário sair da empresa, os downloads são revogados na próxima abertura do app.
Notificações
A plataforma envia notificações por 3 canais (configuráveis pelo usuário em Perfil → Preferências):
- In-app (sino na sidebar): tempo real. Novos livros, conquistas, comentários, lembretes.
- Push (PWA): notificações no celular/desktop mesmo com a aba fechada (requer permissão).
- E-mail: resumo semanal de atividade + alertas críticos (créditos a vencer, livro novo numa categoria favorita).
Gestores e equipes
Gestores enxergam apenas a equipe (departamento) sob sua responsabilidade. O painel do gestor mostra:
- Dashboard: KPIs do mês (livros concluídos, tempo total de leitura, % de engajamento).
- Equipe: lista de colaboradores com progresso individual, último acesso, ranking interno.
- Relatórios: exportáveis em CSV/PDF. Útil pra reuniões 1:1, RH, planos de desenvolvimento.
- Recomendações: sugerir livros específicos para um membro da equipe (chega como notificação).
Empresas e multi-tenant
O Super Estante é uma plataforma multi-tenant: cada empresa (tenant) tem seu próprio espaço isolado de dados — usuários, configurações, relatórios, branding. Uma empresa nunca vê dados de outra.
O que o admin configura por empresa
- Plano contratado e limite de assentos (max_seats).
- Cota mensal padrão de créditos por usuário.
- Tipo de conteúdo: e-books, audiobooks, ou ambos.
- Categorias liberadas do catálogo (ou catálogo completo).
- Departamentos da empresa (pra agrupar usuários e dar visão pra gestores).
- Banners customizados na home dos colaboradores.
- Domínio próprio (white-label).
- Cores, logo e tipografia customizadas.
White-label
A plataforma suporta white-label completo. Sua empresa pode oferecer a experiência como se fosse um produto próprio:
- Domínio próprio: ex. leitura.suaempresa.com.br. Configuração via CNAME + certificado SSL automático.
- Logo: versão horizontal (sidebar expandida) e ícone quadrado (sidebar colapsada).
- Paleta de cores: primary, secondary e accent — aplicadas em toda a UI.
- Tipografia: escolha entre fontes pré-configuradas ou Google Fonts customizada.
- Favicon: upload do ícone exibido na aba do navegador.
- E-mails transacionais: também recebem branding (header, footer, cores).
Administradores
O admin tem o painel mais completo. Resumo das seções:
Dashboard
KPIs globais da empresa
Empresas
Multi-tenant (super admin)
Usuários
CRUD, ativar/inativar, bulk import CSV, atribuição de departamentos e cargos
Biblioteca
Cadastro de livros (com upload de capa, PDF, áudio e metadados)
Banners
Customização do carrossel da home
Gamificação
Editar regras de pontos e badges
Conquistas
Criar e configurar badges customizados
Relatórios
Engajamento, leitura, completude por equipe
Relatórios agendados
Envio automático periódico por e-mail
Cobrança
Faturas, plano contratado, próximas cobranças
API Keys
Geração e gestão de chaves e webhooks
API Docs
Documentação técnica e endpoints (com botão Baixar PDF)
White-label
Customização visual completa da plataforma
Marketplace
Conteúdo enviado por outras empresas (super admin)
Moderação
Aprovação/rejeição de conteúdo submetido
Cada admin pode ter permissões granulares: o super admin define quais seções ele enxerga (ex: um admin de RH só vê Usuários e Relatórios; um admin de Conteúdo só vê Biblioteca e Marketplace).
API pública
Documentação da API
OpenAPI 3.0.3 · v1.1.0
API pública para integração com a plataforma SuperEstante. Permite gerenciar livros, usuários e progresso de leitura de forma programática.
Autenticacao
Todas as requisicoes devem incluir o header Authorization: Bearer sk_live_SUA_CHAVE. Gere suas chaves na pagina de API Keys.
Guia Rapido — Primeiros Passos
A API da SuperEstante permite integrar sua plataforma de leitura corporativa com sistemas externos — como ERPs, plataformas de RH, intranets ou ferramentas de BI. Tudo que um admin ou gestor faz no painel pode ser feito via API.
Gere sua API Key
Va ate a pagina API Keys e crie uma chave. Ela sera exibida apenas uma vez — copie e guarde em local seguro.
Autentique as requisicoes
Inclua o header "Authorization: Bearer sk_live_SUA_CHAVE" em todas as chamadas a API.
Faca sua primeira chamada
Teste listando seus livros com GET /api/v1/books. Veja os exemplos cURL abaixo para cada endpoint.
Configure webhooks
Receba notificacoes em tempo real. Cadastre URLs na pagina API Keys para eventos como livro concluido.
O que voce pode fazer com a API:
Dica: Cada API Key esta vinculada ao seu tenant. Dados retornados e criados pela API sao sempre isolados dentro da sua empresa — nao e possivel acessar dados de outros tenants. Rate limit padrao: 60 requisicoes/minuto por chave (configuravel por chave).
Manual Completo de Integracao
Tudo que voce precisa pra integrar sua plataforma com a SuperEstante: autenticacao, exemplos em multiplas linguagens, gestao de usuarios, livros, estante, progresso, webhooks, paginacao, tratamento de erros e limites.
1. Visao Geral
A API REST publica esta em https://superestante.com.br/api/v1. Cada chamada precisa de uma API Key escopada a um tenant (sua empresa). Todas as respostas sao JSON e seguem o formato:
// Sucesso (singular)
{ "data": { ... } }
// Sucesso (lista paginada)
{ "data": [ ... ], "meta": { "page": 1, "per_page": 20, "total": 42, "total_pages": 3 } }
// Erro
{ "error": "mensagem legivel", "code": "23505", "details": "...", "hint": "..." }2. Autenticacao
Inclua o header Authorization: Bearer sk_live_SUA_CHAVE em toda chamada. A chave eh exibida apenas uma vez no momento da criacao — guarde em local seguro (vault, secret manager, variavel de ambiente). Caso seja exposta, rotacione imediatamente pelo painel.
# Teste rapido — lista os 5 primeiros usuarios do seu tenant
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/users?per_page=5"3. Gestao de Usuarios
CRUD completo + ativacao/inativacao. Quando criar sem informar password, a API gera uma senha segura e devolve em temp_password — exibida apenas na resposta, nunca mais.
# Criar usuario (senha gerada automaticamente)
curl -X POST "https://superestante.com.br/api/v1/users" \
-H "Authorization: Bearer sk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"name": "Joao Silva",
"email": "joao@empresa.com",
"role": "reader",
"department": "TI"
}'
# Inativar usuario
curl -X PATCH "https://superestante.com.br/api/v1/users/UUID" \
-H "Authorization: Bearer sk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{"status": "inactive"}'
# Listar com filtros
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/users?status=active&department=TI&page=1&per_page=50"
# Remover (precisa de permissao 'delete')
curl -X DELETE "https://superestante.com.br/api/v1/users/UUID" \
-H "Authorization: Bearer sk_live_SUA_CHAVE"// Node.js / fetch
const API_KEY = process.env.SUPERESTANTE_API_KEY;
async function criarUsuario(dados) {
const r = await fetch("https://superestante.com.br/api/v1/users", {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify(dados),
});
if (!r.ok) throw new Error((await r.json()).error);
return r.json();
}
const novo = await criarUsuario({
name: "Maria Souza",
email: "maria@empresa.com",
department: "RH",
});
console.log(novo.data.id, novo.data.temp_password);# Python / requests
import os, requests
API_KEY = os.environ["SUPERESTANTE_API_KEY"]
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
def criar_usuario(dados):
r = requests.post("https://superestante.com.br/api/v1/users", headers=HEADERS, json=dados)
r.raise_for_status()
return r.json()["data"]
novo = criar_usuario({"name": "Carlos", "email": "carlos@empresa.com"})
print(novo["id"], novo["temp_password"])4. Estante do Usuario (Livros + Progresso)
Retorna a estante completa de um usuario: todos os livros em que ele tem progresso de leitura (em andamento ou concluidos), com dados do livro embutidos.
# Estante completa do usuario
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/users/UUID_USER/shelf"
# Apenas livros em andamento
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/users/UUID_USER/shelf?status=reading"
# Apenas concluidos
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/users/UUID_USER/shelf?status=completed"5. Biblioteca (Livros) — Somente Leitura
O catalogo de livros eh gerenciado exclusivamente pelos admins da plataforma Super Estante via painel administrativo. Empresas parceiras integradoras consomem o catalogo em modo leitura para listar/consultar — criar, editar ou remover livros via API publica retorna 405 Method Not Allowed.
# Listar livros (filtros: search, category, page, per_page)
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/books?search=habito&page=1"
# Filtrar por categoria
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/books?category=Produtividade"6. Progresso de Leitura
Upsert: cria ou atualiza o registro de progresso de um usuario num livro. Quandopercentage_complete chega em 100, o registro vira status: completed e dispara o webhook book_completed.
# Sincronizar progresso de leitura
curl -X POST "https://superestante.com.br/api/v1/progress" \
-H "Authorization: Bearer sk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"user_id": "UUID_USER",
"book_id": "UUID_LIVRO",
"percentage_complete": 75.5,
"current_page": 308
}'
# Consultar progresso de um usuario
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/progress?user_id=UUID_USER&status=reading"6.5 Gestao de Creditos
Cada usuario tem tres cotas mensais de creditos independentes — e-book, audiobook e revista — usadas para resgatar livros. As cotas padrao vao em users.monthly_credits_ebook, users.monthly_credits_audiobook e users.monthly_credits_revista (setadas na criacao). O saldo efetivo de cada mes vive em user_credits (uma linha por mes e por credit_type) e eh manipulado por este endpoint num unico POST — informe ebook, audiobook e/ou revista no mesmo body (sem precisar de tres chamadas). Cada livro tem sempre um unico product_type, entao o resgate consome diretamente o credito correspondente ao formato do livro.
# Definir 5 creditos de e-book, 3 de audiobook e 2 de revista no mesmo POST
curl -X POST "https://superestante.com.br/api/v1/users/UUID/credits" \
-H "Authorization: Bearer sk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{"ebook": 5, "audiobook": 3, "revista": 2, "mode": "set"}'
# Adicionar so 2 creditos de audiobook extras (nao mexe nos outros)
curl -X POST "https://superestante.com.br/api/v1/users/UUID/credits" \
-H "Authorization: Bearer sk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{"audiobook": 2, "mode": "add"}'
# Setar para um mes especifico (ex: julho de 2026)
curl -X POST "https://superestante.com.br/api/v1/users/UUID/credits" \
-H "Authorization: Bearer sk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{"ebook": 8, "month": 7, "year": 2026}'
# Consultar saldo + historico das tres carteiras numa unica chamada
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/users/UUID/credits"6.6 Empresa Vinculada
Cada API key pertence a UMA empresa (tenant). Para criar usuarios em empresas diferentes, gere uma chave dentro de cada uma no painel admin e use a chave correspondente. Este endpoint retorna a empresa vinculada a chave atual:
curl -H "Authorization: Bearer sk_live_SUA_CHAVE" \
"https://superestante.com.br/api/v1/tenant"
# Resposta:
# {
# "data": {
# "id": "uuid...",
# "name": "Meta",
# "company_name": "Meta Plataformas Brasil Ltda",
# "slug": "meta",
# "status": "active",
# "logo_url": "https://...",
# "plan_type": "business",
# "max_seats": 200,
# "content_type": "both", // ebook | audiobook | both
# "allowed_categories": [], // vazio = todas as categorias
# "user_count": 12
# }
# }
#
# IMPORTANTE: content_type eh por empresa, nao por usuario. Todos os
# usuarios criados nessa empresa receberao o mesmo formato. Para
# alterar, edita-se a empresa no painel admin.7. Webhooks
Em vez de fazer polling, voce cadastra uma URL sua no painel (API Keys → Webhooks). Quando um evento acontece, enviamos POST para essa URL com payload JSON e assinatura HMAC.
Eventos disponiveis:
user_created— novo usuario criado via API ou paineluser_updated— usuario atualizado (incluindo ativacao/inativacao)book_completed— usuario concluiu um livro (100%)content_submitted— novo livro adicionado ao catalogo
// Payload entregue ao seu endpoint
{
"event": "user_created",
"timestamp": "2026-05-21T12:00:00.000Z",
"data": {
"user": {
"id": "uuid...",
"name": "Joao Silva",
"email": "joao@empresa.com",
"role": "reader",
"status": "active"
}
}
}Headers enviados:
POST /seu-endpoint HTTP/1.1
Content-Type: application/json
X-Webhook-Event: user_created
X-Webhook-Signature: 8f4a2b... (HMAC-SHA256 do body com o secret do webhook)Validacao da assinatura (sempre faca isso pra garantir que o request veio da SuperEstante):
// Node.js — middleware para validar webhook
import crypto from "crypto";
export function verifyWebhook(req, secret) {
const signature = req.headers["x-webhook-signature"];
const expected = crypto
.createHmac("sha256", secret)
.update(req.rawBody) // IMPORTANTE: body bruto, antes do JSON.parse
.digest("hex");
return signature === expected;
}# Python — validacao
import hmac, hashlib
def verify_webhook(raw_body: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, signature)Politica de re-tentativa: cada falha (status ≠ 2xx ou timeout de 10s) incrementa failure_count. Apos 10 falhas consecutivas, o webhook eh desativado automaticamente e voce precisa reativar manualmente.
8. Paginacao e Filtros
Todas as listagens aceitam page (default 1) e per_page (default 20, maximo 100). O objeto meta na resposta indica o total e quantas paginas existem.
// Iterar por todas as paginas
async function listarTodosUsuarios() {
const todos = [];
let page = 1;
while (true) {
const r = await fetch(`https://superestante.com.br/api/v1/users?page=${page}&per_page=100`, {
headers: { Authorization: `Bearer ${API_KEY}` }
});
const { data, meta } = await r.json();
todos.push(...data);
if (page >= meta.total_pages) break;
page++;
}
return todos;
}9. Codigos de Erro
| Status | Significado | Causa Comum |
|---|---|---|
| 200/201 | Sucesso | Operacao concluida |
| 400 | Dados invalidos | JSON malformado, campo obrigatorio ausente, valor fora do enum |
| 401 | Nao autenticado | Header Authorization ausente ou chave invalida |
| 403 | Sem permissao | A chave nao tem permissao 'write' ou 'delete' para a operacao |
| 404 | Nao encontrado | Recurso nao existe OU pertence a outro tenant |
| 429 | Rate limit | Excedeu requisicoes por minuto da chave |
| 500 | Erro interno | Problema no servidor — tente novamente em alguns segundos |
10. Rate Limits
Cada chave tem um limite de requisicoes por minuto (padrao: 60, configuravel ate 10.000 por chave na criacao). Quando excede, retornamos HTTP 429. Implemente backoff exponencial no seu cliente.
// Backoff exponencial simples
async function comRetry(fn, max = 5) {
for (let i = 0; i < max; i++) {
const r = await fn();
if (r.status !== 429) return r;
const espera = Math.min(1000 * 2 ** i, 30_000);
await new Promise(res => setTimeout(res, espera));
}
throw new Error("Rate limit persistente apos retries");
}11. Seguranca e Boas Praticas
• Nunca exponha a API Key no front-end. Use sempre no servidor / backend.
• Armazene em variavel de ambiente / secret manager, nao no codigo-fonte.
• Rotacione periodicamente (botao "Rotacionar" no painel mantem o mesmo nome e permissoes).
• Use chaves diferentes para ambientes distintos (dev, staging, producao).
• Conceda apenas as permissoes necessarias (chave de read-only para BI/relatorios, write so onde precisar criar/atualizar).
• Sempre valide a assinatura HMAC dos webhooks antes de processar.
• Trate 4xx (problema seu) e 5xx (problema nosso) de forma diferente — so faca retry em 429 e 5xx.
12. Suporte
Duvidas sobre a API, problemas de integracao ou solicitacoes de novos endpoints: suporte@superestante.com.br. Spec OpenAPI atualizada em tempo real: GET https://superestante.com.br/api/v1/docs (importavel no Postman / Insomnia / Swagger UI).
Endpoints
Schemas
Webhooks
Configure webhooks para receber notificacoes em tempo real quando eventos ocorrem na plataforma. Os payloads sao assinados com HMAC SHA-256.
| Evento | Descricao |
|---|---|
content_submitted | Disparado quando um novo livro e criado via API |
user_created | Disparado quando um novo usuario e criado via API |
book_completed | Disparado quando um usuario completa a leitura de um livro (progresso >= 100%) |
Headers enviados
X-Webhook-Signature: HMAC-SHA256 do body com seu secret X-Webhook-Event: nome do evento
Segurança e privacidade
- Autenticação: JWT em cookies httpOnly + refresh tokens. Tokens expiram em 1h, refresh em 7 dias. Senhas armazenadas com bcrypt (cost factor 10).
- Isolamento multi-tenant: toda query é escopada ao
tenant_iddo usuário autenticado. Não é possível ler dados de outra empresa. - CSRF: middleware bloqueia requests mutativos com Origin diferente do Host.
- Rate limiting: por IP em login (5 tentativas/min) e por API key (configurável).
- Sessões revogáveis: logout invalida o refresh token via tabela
revoked_tokens. Lista de sessões ativas visível no perfil do usuário. - Headers de segurança: X-Frame-Options DENY, X-Content-Type-Options nosniff, CSP restritiva, HSTS em produção, Referrer-Policy strict-origin-when-cross-origin.
- Auditoria: tabela
audit_logsregistra logins, logouts, alterações de senha, criação/edição de usuários, com IP e user-agent. - LGPD: direito de exclusão atendido via remoção de usuário (cascateia para progresso, conquistas, notas). Política completa em Central LGPD.
Acesso mobile e PWA
O Super Estante é um PWA (Progressive Web App). Funciona em qualquer navegador moderno (Chrome, Safari, Firefox, Edge) e pode ser "instalado" no celular como um app nativo:
- Android: ao abrir no Chrome, aparece banner "Adicionar à tela inicial".
- iPhone: Safari → Compartilhar → Adicionar à Tela de Início.
- Desktop: Chrome/Edge mostram ícone de instalação na barra de endereço.
- Push notifications funcionam tanto no celular quanto no desktop após instalação.
- Modo offline disponível para livros previamente baixados (ver seção Downloads).
Suporte e contato
Canais oficiais de atendimento:
- E-mail comercial: contato@superestante.com.br
- Suporte técnico: suporte@superestante.com.br
- Privacidade / DPO: dpo@superestante.com.br
- WhatsApp comercial: +55 46 99917-1969
- Formulário: Página de Contato
Perguntas frequentes
Quanto custa o Super Estante?
O valor depende do plano e do número de assentos. Há planos para pequenas equipes (10+ usuários) e enterprise (1.000+). Consulte a página de Planos ou fale com o time comercial.
Quem escolhe os livros do catálogo?
O catálogo base é curado pela equipe Super Estante. Cada empresa pode adicionalmente subir conteúdo próprio (PDFs internos, manuais, livros corporativos) que ficam visíveis apenas para sua empresa.
Os colaboradores podem manter os livros se sairem da empresa?
Não. Ao desligar um usuário, os livros voltam à licença da empresa. O histórico de leitura fica preservado caso o colaborador volte futuramente.
Posso trocar de plano depois?
Sim, a qualquer momento. Upgrades entram em vigor imediatamente, downgrades no próximo ciclo de cobrança.
Qual a diferença entre crédito e livro permanente?
O crédito é o mecanismo mensal — você usa 1 crédito pra trazer 1 livro pra sua estante. Uma vez resgatado, o livro fica lá permanentemente enquanto você for usuário da empresa.
Tem app nativo iOS / Android?
Não, é um PWA. A vantagem é que funciona em todos os dispositivos sem precisar passar pelas lojas, e atualizações são instantâneas. Pode ser instalado como app a partir do navegador.
Como posso integrar com meu sistema de RH?
Use a API pública (gere uma API key no painel) para criar/atualizar/desativar usuários sempre que houver mudança no seu RH. Ou configure webhooks para receber notificações quando eventos acontecerem aqui.
Tem suporte a outros idiomas?
A interface é em português brasileiro. O catálogo pode conter livros em qualquer idioma — o campo language do livro indica.
Pronto para começar?
Fale com o time comercial ou faça login se sua empresa já está cadastrada.