VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Venddor Intelligence: insights e dicas

Gerar edições do briefing

Gera a edição de um dia sob demanda e preenche dias anteriores.

A edição do dia sai sozinha, uma vez por dia, a partir de uma hora configurável (padrão 4h em São Paulo). Estas duas rotas existem para quem precisa refazer uma edição ou preencher um período em que o briefing não rodou. Ambas chamam IA, podem levar vários segundos por dia gerado e exigem manage_settings.

Gerar uma edição

Gera a edição de uma data. O corpo é opcional: sem corpo, gera a de hoje. Com force verdadeiro (o padrão), uma edição que já exista para a data é apagada e refeita; a promoção sugerida da edição antiga é removida se ainda estiver desativada.

POST/api/v1/admin/intelligence/venddor-pulse/runAdmin

Gerar uma edição

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso de um administrador (veja Tokens).
Content-Typestringobrigatório
application/json.

Corpo da requisição

day_typestring
month_startmonth_endmon_plantue_market_intelmidweek_followupthu_hidden_opportunitiesfri_wrapweekend
Força o tipo editorial do dia. Sem valor, é deduzido da data.
as_ofstring
Data da edição, AAAA-MM-DD. Datas passadas marcam a edição como retroativa. Sem valor, hoje.
forcebooleanpadrão: true
false devolve a edição existente sem refazer.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/intelligence/venddor-pulse/run" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "as_of": "2026-10-09",
    "force": false
  }'

Resposta

200Edição gerada ou existente
json
{
  "id": "5f68c2d5-ee3d-439c-a0f9-1b7737878ce4",
  "analysis_date": "2026-10-11",
  "audience": "admin",
  "day_type": "weekend",
  "day_type_label": "Mensagem de Fim de Semana",
  "topics_covered": ["revenue_month_progress", "products_stock_critical"],
  "greeting": "**Oi! Só uma passadinha rápida no fim de semana**",
  "formatted_message": "Oi! A Camisa do Flamengo foi o carro-chefe da semana, com 2 unidades vendidas...",
  "supporting_facts": ["Receita dos últimos 7 dias: R$ 585,87."],
  "news_refs": [{ "title": "Flamengo garrafa com menor preço", "url": "https://exemplo.com.br/noticia" }],
  "generation_status": "completed",
  "is_backfill": false,
  "created_at": "2026-10-11T07:00:12Z",
  "is_read": false
}

Erros

StatusQuandoCorpo
401Sem token ou token inválido/expirado.{"error":"missing authorization header"} ou {"error":"invalid or expired token"}
403O administrador não tem nenhum dos privilégios exigidos.{"error":"insufficient privileges","privilege_required_any":["manage_settings"]}
400day_type desconhecido, as_of fora do formato ou corpo ilegível.{"error":"unknown day_type: zzz"} ou {"error":"invalid as_of date \"11/10/2026\" (expected YYYY-MM-DD)"}
500Falha na geração (por exemplo, nenhum provedor de IA).{"error":"intelligence: no AI provider configured"}
Refaz e apaga

Com o padrão force: true, a edição do dia que os administradores já leram é substituída por outra, e o estado de leitura de cada um se perde. Use force: false se só quer garantir que a edição exista.

Gerar dias anteriores

Gera, em sequência, as edições dos últimos dias até hoje, sempre refazendo as que existirem. Os dias passados saem marcados como retroativos e dispensam a comparação de preços da concorrência.

POST/api/v1/admin/intelligence/venddor-pulse/backfillAdmin

Gerar dias anteriores

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso de um administrador (veja Tokens).

Parâmetros de consulta

daysintegerpadrão: 7
Quantos dias, contando hoje. Padrão 7, teto 14; valor menor que 1 vira 7.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/intelligence/venddor-pulse/backfill?days=3" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Edições geradas
json
{
  "insights": [
    {
      "id": "5f68c2d5-ee3d-439c-a0f9-1b7737878ce4",
      "analysis_date": "2026-10-11",
      "audience": "admin",
      "day_type": "weekend",
      "day_type_label": "Mensagem de Fim de Semana",
      "topics_covered": ["revenue_month_progress", "products_stock_critical"],
      "greeting": "**Oi! Só uma passadinha rápida no fim de semana**",
      "formatted_message": "Oi! A Camisa do Flamengo foi o carro-chefe da semana, com 2 unidades vendidas...",
      "supporting_facts": ["Receita dos últimos 7 dias: R$ 585,87."],
      "news_refs": [{ "title": "Flamengo garrafa com menor preço", "url": "https://exemplo.com.br/noticia" }],
      "generation_status": "completed",
      "is_backfill": false,
      "created_at": "2026-10-11T07:00:12Z",
      "is_read": false
    }
  ],
  "total": 1
}

Campos da resposta

insightsarray
Edições geradas, da mais antiga para a de hoje.
totalinteger
Quantidade gerada.

Erros

StatusQuandoCorpo
401Sem token ou token inválido/expirado.{"error":"missing authorization header"} ou {"error":"invalid or expired token"}
403O administrador não tem nenhum dos privilégios exigidos.{"error":"insufficient privileges","privilege_required_any":["manage_settings"]}
500Nenhum dia pôde ser gerado.{"error":"..."}
Resposta demorada

Cada dia é uma geração completa. Com days=14, espere vários minutos e use um timeout longo. Se alguns dias falharem e outros não, a resposta é 200 com os que deram certo.

Veja também

  • Briefing diário
Anterior
Briefing diário (Dicas do Dia)
Próxima
Alertas por tela
Nesta página
  • Gerar uma edição
  • Exemplo de requisição
  • Resposta
  • Erros
  • Gerar dias anteriores
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também