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

Dashboards do seller

Como o seller monta abas e cards, executa os dados e recebe alertas, pela API do painel do seller.

Um dashboard do seller é uma coleção de abas, e cada aba é uma grade de cards. Um card responde a uma pergunta de negócio (por exemplo, "quanto vendi neste mês?") e é desenhado como número, gráfico ou tabela. O seller (lojista) monta as próprias abas, o painel guarda a definição de cada card e a plataforma executa essas definições e devolve os dados prontos para desenhar. Esta seção documenta as rotas /api/v1/vendor/dashboards.

O ponto central: o card não é código nem SQL. É um documento JSON, a spec, que diz qual entidade do catálogo consultar (pedidos, produtos, devoluções...), quais métricas somar, como agrupar e filtrar, e como desenhar. A plataforma valida a spec, compila a consulta e sempre a restringe ao seller do token: não existe parâmetro para escolher outro seller.

Pontos principais
  • A primeira chamada a GET /vendor/dashboards cria a aba de fábrica do seller (com cards prontos) se ele ainda não tiver nenhuma. É uma leitura com efeito colateral, uma vez só.
  • Os cards são JSON. Veja Formato do card para o que pode entrar e os limites.
  • POST /vendor/dashboards/{id}/run executa a aba inteira numa chamada e sempre responde 200: o erro de um card vem dentro do resultado dele.
  • Valores em dinheiro nos dados vêm em centavos e, nas linhas, como texto ("22500"). Use columns[].type e unit para saber como formatar.
  • O seller só edita as próprias abas. Uma aba do administrador publicada para sellers aparece como somente leitura e pode ser duplicada.
  • Rotas de aba de outro seller respondem 404, nunca 403.

Como funciona

  1. Descubra o que dá para consultar

    GET /vendor/dashboards/catalog lista as entidades, campos e métricas disponíveis para o seller, com limites e tipos de gráfico.

  2. Monte e teste a spec

    POST /vendor/dashboards/preview executa uma spec sem salvar. Ajuste até o resultado fazer sentido. Se preferir, POST /vendor/dashboards/ai/spec gera a spec a partir de uma frase.

  3. Salve o card na aba

    POST /vendor/dashboards/{id}/cards guarda o card. A spec é revalidada: card que não compila não entra.

  4. Execute e desenhe

    POST /vendor/dashboards/{id}/run devolve os dados de todos os cards. POST .../cards/{cardId}/drilldown abre as linhas por trás de um ponto do gráfico.

  5. Acompanhe sem abrir o painel

    POST /vendor/dashboards/subscriptions cria um alerta de limite ou um envio periódico por e-mail.

Conceitos-chave

Aba e card

Uma aba (dashboard) tem nome, ícone, cor, um período padrão e posição. Um card pertence a uma aba, guarda a spec e o lugar na grade (grid_row, grid_col, width, height, de 1 a 3 colunas ou linhas). O layout fica fora da spec de propósito, para o mesmo card poder ser copiado ou virar modelo.

Aba de fábrica

Todo seller recebe uma aba fabrica (is_system: true) com cards prontos. Ela não pode ser renomeada nem apagada, mas pode ser restaurada ao estado original e duplicada para virar um ponto de partida seu.

Tipos de card

kind na specLetra no cardO que é
queryQConsulta montada pelo catálogo. É o tipo comum e o único com drilldown.
sqlSSQL escrito à mão, para uso avançado. Exige privilégio e uma declaração de escopo (veja Cards).
componentCBloco nativo do painel (atalhos, status), sem dados.
serviceVIndicador pronto da plataforma (por exemplo RFM, coortes).
textTNota em texto livre; não consulta nada.

Dataset

Executar um card devolve um dataset: columns (cada uma com key, label, type, role dimensão ou métrica, unit), rows (lista de listas, na ordem das colunas) e meta (row_count, truncated, limit, elapsed_ms, cached, spec_hash, warnings, error). Um erro de execução não vira status HTTP: vem em meta.error (ou em error no resultado de run) com um code e uma message_key.

Período

O período de cada card pode ser inherit (usa o da aba ou o enviado na chamada), preset (today, yesterday, last7, last30, last90, thisMonth, lastMonth, thisQuarter, thisYear, lastYear), relative (last_n_days de 1 a 1095) ou fixed (from e to). Sem nenhum período, vale last30. Os dias são os de Brasília.

Status contados na receita

Métricas como orders.revenue e orders.orders_count dependem de quais status de pedido contam como venda. Ao salvar o card, a plataforma grava em status_scope a lista de status naquele momento (mode: store_default acompanha a regra da loja; mode: custom congela a lista). O número do card é, portanto, reproduzível.

Endpoints

MétodoCaminhoPara que servePágina
GET/api/v1/vendor/dashboardsLista as abas.Abas
POST/api/v1/vendor/dashboardsCria uma aba.Abas
GET/api/v1/vendor/dashboards/{id}Uma aba com seus cards.Abas
PUT/api/v1/vendor/dashboards/{id}Edita a aba.Abas
DELETE/api/v1/vendor/dashboards/{id}Apaga a aba.Abas
POST/api/v1/vendor/dashboards/{id}/duplicateCopia a aba.Ações sobre a aba
POST/api/v1/vendor/dashboards/{id}/set-defaultDefine a aba padrão.Ações sobre a aba
POST/api/v1/vendor/dashboards/{id}/restore-defaultRestaura a aba de fábrica.Ações sobre a aba
POST/api/v1/vendor/dashboards/{id}/cardsCria um card.Cards
PUT/api/v1/vendor/dashboards/{id}/cards/{cardId}Edita um card.Cards
DELETE/api/v1/vendor/dashboards/{id}/cards/{cardId}Apaga um card.Cards
POST/api/v1/vendor/dashboards/{id}/cards/{cardId}/duplicateCopia um card.Cards
POST/api/v1/vendor/dashboards/{id}/cards/{cardId}/approveAprova um card SQL.Cards
PUT/api/v1/vendor/dashboards/{id}/layoutSalva posição e tamanho dos cards.Layout e modelos
GET/api/v1/vendor/dashboards/templatesBiblioteca de modelos.Layout e modelos
POST/api/v1/vendor/dashboards/{id}/cards/from-templateCria um card de um modelo.Layout e modelos
POST/api/v1/vendor/dashboards/{id}/cards/{cardId}/save-as-templateSalva um card como modelo.Layout e modelos
POST/api/v1/vendor/dashboards/{id}/runExecuta todos os cards da aba.Executar dados
POST/api/v1/vendor/dashboards/previewExecuta uma spec ainda não salva.Executar dados
POST/api/v1/vendor/dashboards/cards/{cardId}/drilldownLinhas por trás de um ponto do gráfico.Executar dados
GET/api/v1/vendor/dashboards/catalogO que dá para consultar.Catálogo
POST/api/v1/vendor/dashboards/{id}/publishCompartilha a aba.Compartilhamento
GET/api/v1/vendor/dashboards/{id}/sharesLista os compartilhamentos.Compartilhamento
DELETE/api/v1/vendor/dashboards/{id}/shares/{shareId}Remove um compartilhamento.Compartilhamento
GET/api/v1/vendor/dashboards/insightsInsights gerados para o seller.Insights
POST/api/v1/vendor/dashboards/insights/tabCria a aba de insights.Insights
POST/api/v1/vendor/dashboards/insights/pinFixa um insight como card.Insights
POST/api/v1/vendor/dashboards/cards/{cardId}/narrativeTexto explicativo de um card.Insights
POST/api/v1/vendor/dashboards/ai/specGera a spec de um card a partir de um pedido em texto.Card por pedido em texto
GET/api/v1/vendor/dashboards/subscriptionsLista alertas e agendamentos.Alertas e agendamentos
POST/api/v1/vendor/dashboards/subscriptionsCria um alerta ou agendamento.Alertas e agendamentos
PUT/api/v1/vendor/dashboards/subscriptions/{id}Liga ou desliga.Alertas e agendamentos
DELETE/api/v1/vendor/dashboards/subscriptions/{id}Apaga.Alertas e agendamentos
POST/api/v1/vendor/dashboards/subscriptions/{id}/runExecuta agora.Execuções de alerta
GET/api/v1/vendor/dashboards/subscriptions/{id}/runsHistórico de execuções.Execuções de alerta

Erros comuns

  • Tratar GET /vendor/dashboards como leitura pura. Na primeira vez ele cria a aba de fábrica. Se a lista vem vazia numa conta nova, não é erro: chame de novo.
  • Esperar status HTTP de erro por card. run e preview respondem 200 mesmo quando um card falha. Olhe status (ok, error, native) de cada resultado.
  • Formatar dinheiro pelo valor. Em rows, dinheiro vem como texto em centavos. Dividir por 100 só vale quando columns[].unit é cents.
  • Mandar campos extras na spec. A spec é estrita: qualquer campo desconhecido é recusado com unknown_field.
  • Tentar editar uma aba publicada pelo administrador. Ela é somente leitura. Duplique-a e edite a cópia.
  • Salvar o layout sem a versão. Sem version, uma edição concorrente é sobrescrita sem aviso. Envie o version da última leitura e trate o 409.
  • Confundir card sem dados com card quebrado. Um card que usa uma entidade que o seller não pode consultar (por exemplo, uma aba do administrador publicada) mostra um erro próprio no resultado, não derruba a aba.

Próximos passos

Formato do card
O JSON que define um card e seus limites.
Abas
Listar, criar, editar e apagar abas.
Executar dados
Run, preview e drilldown.
Alertas e agendamentos
Receba o número no e-mail.
Anterior
Configuração de métricas
Próxima
Formato do card
Nesta página
  • Como funciona
  • Conceitos-chave
  • Aba e card
  • Aba de fábrica
  • Tipos de card
  • Dataset
  • Período
  • Status contados na receita
  • Endpoints
  • Erros comuns
  • Próximos passos