VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Dashboards

Abas e cards do dashboard do painel: catálogo, criação, execução com dados, compartilhamento, alertas e insights.

O dashboard do painel de administração é construído com esta API. Ele é um conjunto de abas (cada uma com um nome, um período padrão e uma posição), e cada aba tem cards: um número, um gráfico, uma tabela ou uma nota. Os cards não guardam SQL nem dados: guardam uma especificação que diz o que medir, e a plataforma executa quando você pede. Por isso é possível montar telas novas, copiar abas entre pessoas e publicá-las para sellers (lojistas) sem que cada um veja os números do outro.

Pontos-chave
  • Leitura exige view_reports; criar e alterar abas e cards exige manage_dashboards; publicar exige publish_dashboards; cards de SQL livre exigem manage_reports.
  • A falha de um card nunca vira erro HTTP: ela vem em meta.error do resultado daquele card.
  • Editar a aba de fábrica não é possível: duplique-a. Ela pode ser restaurada.
  • Receita e contagem de pedidos dependem da classificação de status da loja.
  • Dinheiro nos resultados vem em centavos; a coluna diz unit: cents.

Como funciona

O ciclo típico de uma integração:

  1. Descobrir o que existe

    Chame Catálogo e modelos para conhecer entidades, campos, métricas e os mais de 200 modelos prontos.

  2. Criar a aba

    Crie a aba e adicione cards: escrevendo a especificação, a partir de um modelo ou por texto.

  3. Testar antes de salvar

    Use o preview para ver os dados de uma especificação sem gravar.

  4. Mostrar os dados

    Execute a aba: uma chamada devolve um resultado por card, com no máximo 4 em paralelo no servidor.

  5. Compartilhar e acompanhar

    Publique a aba, crie alertas e envios agendados e leia os insights.

Tipos de card

spec.kindLetra em card.kindO que é
queryQConsulta montada sobre o catálogo. O tipo normal.
serviceVRelatório pronto da plataforma (RFM, LTV, coortes...).
componentCBloco nativo fixo do painel (ações rápidas, status do sistema...). Não tem dados.
textTNota livre. Não consulta nada.
sqlSSQL escrito à mão. Exige manage_reports.

Conceitos-chave

Aba e card

Uma aba é uma tela do dashboard; um card é um item dentro dela, numa grade de 3 colunas (grid_col 0 a 2) com largura e altura de 1 a 3. O layout fica no card, fora da especificação, por isso a especificação pode ser copiada, publicada e salva como modelo sem carregar posição.

Painel do administrador e do seller

Estas rotas são do painel do administrador (panel: A). O seller (lojista) tem as próprias abas em outro conjunto de rotas, fora desta seção. Uma aba do administrador publicada para sellers aparece para eles em leitura.

Visibilidade

P privada, S compartilhada, G global. Além da visibilidade, o acesso passa por compartilhamentos com permissão R ou W. Quem não pode ver uma aba recebe 404, igual a uma aba que não existe.

Período

Cada aba tem um default_period. Cards com period.mode: inherit usam o período recebido na chamada ou, sem ele, o da aba. Cards com período próprio não mudam.

Controle de versão do layout

Cada aba tem um version (milissegundos Unix da última alteração). Ao reorganizar o layout, devolva o version que você leu: se outra pessoa salvou antes, a API responde 409 com o layout atual em vez de sobrescrever.

Fuso horário

Dias, semanas e meses seguem o fuso da loja (America/Sao_Paulo). As datas dos objetos vêm em RFC 3339, UTC.

Endpoints

MétodoCaminhoPara que serveAutenticação
GET/api/v1/admin/dashboards/catalogCatálogo de entidades, campos e métricasadmin
GET/api/v1/admin/dashboards/templatesBiblioteca de modelos de cardadmin
GET/api/v1/admin/dashboardsListar abas do dashboardadmin
GET/api/v1/admin/dashboards/{id}Consultar uma aba com seus cardsadmin
POST/api/v1/admin/dashboardsCriar uma abaadmin
PUT/api/v1/admin/dashboards/{id}Alterar uma abaadmin
DELETE/api/v1/admin/dashboards/{id}Apagar uma abaadmin
POST/api/v1/admin/dashboards/{id}/duplicateDuplicar uma abaadmin
POST/api/v1/admin/dashboards/{id}/set-defaultDefinir a aba padrãoadmin
POST/api/v1/admin/dashboards/{id}/restore-defaultRestaurar a aba de fábricaadmin
POST/api/v1/admin/dashboards/{id}/cardsCriar um card na abaadmin
PUT/api/v1/admin/dashboards/{id}/cards/{cardId}Alterar um cardadmin
DELETE/api/v1/admin/dashboards/{id}/cards/{cardId}Apagar um cardadmin
PUT/api/v1/admin/dashboards/{id}/layoutReorganizar o layout da abaadmin
POST/api/v1/admin/dashboards/{id}/cards/{cardId}/duplicateDuplicar um cardadmin
POST/api/v1/admin/dashboards/{id}/cards/from-templateCriar um card a partir de um modeloadmin
POST/api/v1/admin/dashboards/{id}/cards/{cardId}/save-as-templateSalvar um card como modelo pessoaladmin
POST/api/v1/admin/dashboards/{id}/cards/{cardId}/approveCarimbar a aprovação de um card de SQLadmin
POST/api/v1/admin/dashboards/previewExecutar uma especificação sem salvaradmin
POST/api/v1/admin/dashboards/{id}/runExecutar todos os cards de uma abaadmin
POST/api/v1/admin/dashboards/cards/{cardId}/drilldownAbrir as linhas por trás de um ponto de gráficoadmin
POST/api/v1/admin/dashboards/ai/specGerar a especificação de um card a partir de textoadmin
POST/api/v1/admin/dashboards/{id}/publishPublicar uma abaadmin
GET/api/v1/admin/dashboards/{id}/sharesListar os compartilhamentos de uma abaadmin
DELETE/api/v1/admin/dashboards/{id}/shares/{shareId}Remover um compartilhamentoadmin
GET/api/v1/admin/dashboards/status-classificationVer a classificação de cada statusadmin
PUT/api/v1/admin/dashboards/status-classification/{code}Classificar um statusadmin
POST/api/v1/admin/dashboards/status-classification/reclassifyReaplicar a classificação aos cardsadmin
GET/api/v1/admin/dashboards/subscriptionsListar assinaturasadmin
POST/api/v1/admin/dashboards/subscriptionsCriar um alerta ou agendamentoadmin
PUT/api/v1/admin/dashboards/subscriptions/{id}Ligar ou desligar uma assinaturaadmin
DELETE/api/v1/admin/dashboards/subscriptions/{id}Apagar uma assinaturaadmin
POST/api/v1/admin/dashboards/subscriptions/{id}/runExecutar uma assinatura agoraadmin
GET/api/v1/admin/dashboards/subscriptions/{id}/runsHistórico de execuçõesadmin
GET/api/v1/admin/dashboards/insightsLer os insights da lojaadmin
POST/api/v1/admin/dashboards/insights/tabGarantir a aba de insightsadmin
POST/api/v1/admin/dashboards/insights/pinFixar um insight como cardadmin
POST/api/v1/admin/dashboards/cards/{cardId}/narrativeGerar um parágrafo de análise de um cardadmin

Erros comuns

  • Esperar dados em GET /dashboards/{id}: ele devolve só a aba e as especificações. Os números vêm de POST .../run.
  • Tratar 200 como sucesso de todos os cards: confira status e meta.error de cada resultado.
  • Usar PUT de card enviando só o que mudou: ele substitui a especificação e o layout inteiros.
  • Tentar renomear ou apagar a aba de fábrica (409 system_dashboard_immutable): duplique.
  • Inventar entity e field: use os ref do catálogo. Campos desconhecidos dão 422 unknown_field.
  • Chamar .../run em assinatura de produção: o e-mail é enviado de verdade.
  • Ler shares como lista sempre: sem compartilhamentos vem null.
  • Dividir centavos por 100 duas vezes: veja columns[].unit.

Próximos passos

Catálogo e modelos
Descubra o que um card pode medir.
Especificação do card
O JSON que descreve um card.
Preview e execução
Traga os dados.
Tokens
Como autenticar as chamadas.
Anterior
Relatório de buscas
Próxima
Especificação do card
Nesta página
  • Como funciona
  • Tipos de card
  • Conceitos-chave
  • Aba e card
  • Painel do administrador e do seller
  • Visibilidade
  • Período
  • Controle de versão do layout
  • Fuso horário
  • Endpoints
  • Erros comuns
  • Próximos passos