Selo de estado:
Preview(teto atual do produto) · Curso ACD-100 — Fundamentos Ingestia · Aula 10 de 10 · Atualizado em 2026-10-04.
Objetivo#
Ao final desta aula você vai escolher entre /d, /painel, /r, embed; explicar franquia e maximumBytesBilled — decidir quanta exposição um painel merece e saber de onde sai o dinheiro de cada ação cara.
Vídeo#
Identificador no manifesto: acd-100-10-compartilhar-e-custos · duração-alvo 7 min · tela do produto: /billing.
Roteiro de gravação (6 capítulos):
| # | Minutagem-alvo | Capítulo | Tela do produto |
|---|---|---|---|
| 1 | 0:00–0:30 | Abertura: título + selo. As duas decisões que só o dono toma: exposição e dinheiro. | painel em consulta |
| 2 | 0:30–2:00 | Três portas em ordem de risco: 1 · Link secreto (/d, noindex) · 2 · Embed (token assinado; Preview; Business+) · 3 · Publicar na web (/painel, indexável, opt-in). E /r: snapshot imutável de relatório. | painel → Compartilhar |
| 3 | 2:00–3:00 | Regras: só o dono decide; exige painel publicado; link secreto não é controle de acesso; snapshot não consulta o BigQuery e fica no ar mesmo em atraso; /painel é 404 até ligar. | /d/<slug> |
| 4 | 3:00–4:30 | Assinatura por e-mail com RLS por destinatário; entrega real de e-mail = Preview. | painel → Compartilhar |
| 5 | 4:30–6:00 | Dinheiro: créditos, franquia (uma vez por ciclo), recarga Pix, entitlements por plano; maximumBytesBilled; a regra do dinheiro (402). | /billing · /costs |
| 6 | 6:00–7:00 | Erros comuns e o "faça você mesmo": gerar um /d e localizar o saldo. | /billing |
Conteúdo#
Três portas, em ordem de risco
Compartilhar é decisão do dono do workspace — quem não é dono vê "Só o dono do workspace decide como este painel é compartilhado." — e exige painel publicado. As portas aparecem em ordem de exposição:
| Porta | Endereço | Indexação | Para quem |
|---|---|---|---|
| 1 · Link secreto | /d/<slug> — endereço não-adivinhável | noindex; o robots.txt manda os buscadores nem entrarem em /d | Mandar para alguém específico. É o padrão. |
| 2 · Embed na sua aplicação | SDK JS com token assinado, eventos e filtros | depende da sua aplicação | Colocar o painel dentro do seu produto (Preview; a partir do Business) |
| 3 · Publicar na web | /painel/<slug> | indexável e rastreável | Quem quer divulgar (prestação de contas, obras públicas) |
E há um quarto endereço, que não é porta de painel: /r/<slug>, o snapshot de relatório — a versão pública imutável do relatório enviado. Renderiza o resultado congelado no envio e nunca re-consulta o BigQuery: "o número enviado é o número da página". É a mesma fonte do PDF, é noindex, e para visitante anônimo a PII é sempre mascarada.
Regras que não mudam
/painel/<slug>é 404 até o dono ligar explicitamente "Publicar na web" — mesmo que já exista link privado. Quando liga,/painelvira o endereço canônico e o/dantigo redireciona para lá (links já enviados continuam funcionando).- O link privado serve um snapshot: leitura barata, sem custo de BigQuery para o dono — por isso continua no ar mesmo se a assinatura estiver em atraso (não passa pela verificação de assinatura). Tem freio de abuso: acessos demais do mesmo endereço em um minuto recebem uma página de "muitos acessos".
/painele/dpassam por um canário de exposição (chave de desligamento painel público e embed): desligá-lo derruba o painel público antes de carregar qualquer dado. É ortogonal à inadimplência.
Link secreto não é controle de acesso
Um endereço difícil de adivinhar não substitui autenticação. Publicar na web torna o painel indexável. Pense na audiência antes de abrir a porta — e nunca mande um /d de painel com faturamento para um grupo aberto.
Assinatura por e-mail (com RLS)
Para envio recorrente, configure uma assinatura: destinatários, frequência e formato. O envio aplica RLS por destinatário — cada pessoa recebe apenas as linhas que pode ver — e gera um recibo de entrega no ledger (estado, retry, DLQ). O viewer pode assinar por conta própria o que já tem permissão de ver. Enviar relatório é ação cara (report_run), bloqueada em inadimplência. Os limites são do plano: relatórios com agenda ativa e destinatários por relatório (tabela abaixo).
O dinheiro: créditos, franquia, recarga, entitlements
- Créditos de uso: saldo em R$ que cobre o consumo de nuvem (consultas no BigQuery, egress de IA).
- Franquia mensal: os créditos inclusos do plano, creditados exatamente uma vez por ciclo (
YYYY-MM). É idempotente (reprocessar não credita duas vezes), soma ao saldo único, sem expiração nem rollover. Enterprise/custom não tem franquia self-service. - Recarga: créditos adicionais via Pix, somados ao saldo.
- Entitlements: limites por plano.
| Entitlement | Starter | Growth | Business | Scale |
|---|---|---|---|---|
| Relatórios com agenda ativa | 1 | 10 | ilimitado* | ilimitado* |
| Destinatários por relatório | 3 | 10 | 50 | 200 |
| Narrativa executiva por IA | — | ✓ | ✓ | ✓ |
| PDF anexo no relatório | — | — | ✓ | ✓ |
| Alertas inteligentes | — | — | ✓ | ✓ |
| Modos de atualização | batch | batch, near_rt | batch, near_rt | batch, near_rt |
* "ilimitado" = teto muito alto (999). Modo ao vivo (rt) só com nuvem própria (BYOC), fora do plano.
Guarda de custo e regra do dinheiro
maximumBytesBilledé o teto de bytes por consulta: evita fatura-surpresa. "Consulta cortada por custo" significa que o teto foi atingido — reduza o escopo. O ledger de IA é atômico (reserva → liquidação): consumo nunca vaza o teto. Budgets por workload são advisory e fail-closed — a plataforma nunca troca o modo de execução sozinha.- Regra do dinheiro: mesmo com o papel certo, uma ação cara (refresh, export, IA, relatório) é bloqueada se a assinatura estiver em atraso (402). A página pública de snapshot não passa por essa verificação — por isso o
/dcontinua servindo. - Gerir créditos, recargas e plano é ação de owner (
billing.manage).
Onde ver no produto
- Administração → Créditos (
/billing): saldo e extrato. O extrato distingue franquia (franquia:<ws>:<ciclo>), recarga (id do pagamento) e storage, cada um no seu bucket. Recarga via Pix. - Administração → Custos (
/costs): a estimativa mensal — assinatura fixa + consumo de infraestrutura previsto, com composição e projeção de 6 meses. É área do dono e não é a fatura.
Exemplo: a Comércio Aurora
Maria compartilha "Aurora — Vendas" por link secreto com a diretoria e agenda uma assinatura semanal para os gerentes: cada um recebe o e-mail já filtrado pela sua filial — o gerente de Campinas não vê Sorocaba. No plano Growth, a Aurora recebe R$ 150 de franquia no início do ciclo; num mês de pico, Maria recarrega R$ 300 via Pix, e o extrato mostra "Franquia mensal do plano Growth — ciclo 2026-09" e a recarga em linhas separadas.
Erros comuns
| Sintoma | Causa provável | O que fazer |
|---|---|---|
/painel/<slug> dá 404 | "Publicar na web" não foi ligado | ligue em Compartilhar (o padrão é privado) |
| Compartilhamento negado | não é dono, ou painel não publicado | peça ao dono; publique antes |
| E-mail não chega | entrega real é Preview (domínio não verificado) | esperado em preview/demo |
| Destinatário vê linhas demais | RLS não configurada | defina o atributo por destinatário |
| Ação cara bloqueada | saldo esgotado ou assinatura em atraso | recarregue; regularize em Planos |
| Consulta cortada por custo | atingiu maximumBytesBilled | reduza o escopo |
Snapshot /r com número "velho" | é imutável por design | gere um novo envio |
Estado
Assinatura com RLS no envio é GA-candidato; recibo real de e-mail, embed/web público, PDF/PPTX e WhatsApp são Preview (dependem de infraestrutura paga, allowlist e verificação de domínio). Franquia, ledger e entitlements são determinísticos (GA-candidato); custo faturado em BRL e escala real não foram medidos — todo valor em R$ no produto é projeção.
Faça você mesmo#
No workspace de treino Aurora Varejo, como dona:
- Abra o painel Aurora — Vendas (aula 8) e confirme que está Publicado — Compartilhar exige isso.
- Em Detalhes — selos, datas, versões e compartilhamento, use compartilhar e escolha 1 · Link secreto. Copie o endereço
/d/<slug>. - Abra o
/dnuma janela anônima: deve abrir o snapshot sem login. Troque/d/por/painel/no endereço e confirme o 404 — você não ligou "Publicar na web". - Não ligue a web aberta. Escreva uma frase para cada porta dizendo para quem você a usaria:
/d, embed,/painel— e uma para/r. - Abra Administração → Créditos (
/billing): localize o saldo e, no extrato, a linha de franquia do ciclo atual (franquia:<ws>:<ciclo>) separada das recargas. - Abra Administração → Custos (
/costs) e compare a estimativa mensal com o saldo. Explique em uma frase a diferença: previsão × dinheiro. - Na tabela de entitlements, marque o que o plano Growth permite (10 relatórios agendados, 10 destinatários, narrativa por IA) e o que não permite (PDF anexo, alertas inteligentes).
Você terminou quando tem um /d abrindo sem login, o /painel ainda em 404, o saldo e a linha de franquia localizados — e consegue explicar maximumBytesBilled e a regra do dinheiro em uma frase cada.
Checagem rápida#
Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.
Documentação relacionada#
- primeiros-passos/compartilhar-dashboard
- primeiros-passos/links-publicos-e-snapshots
- administracao/consumo-e-quotas
- administracao/custos-e-previsao
Capacidades ensinadas#
C00.6 — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".