Pular para o conteúdo

// implementação · preços concorrentes · Brasil

Mercado Livre no Power BI, com n8n e Postgres

Uma busca recorrente, snapshots no seu banco e dados prontos para um relatório de preços. Baixe o workflow, experimente o dataset e conecte sua própria coleta.

Sem cadastro para baixar · agenda desativada · credenciais configuradas por você

Do monitoramento ao pipeline executável

Este kit dá continuidade ao guia de monitoramento de preços do Mercado Livre e à arquitetura PLP para descoberta, PDP para detalhe. Comece com uma keyword e a primeira página; selecione ofertas equivalentes antes de aumentar a cobertura.

  1. 1. GeckoAPI

    Busca PLP por keyword, em BRL.

  2. 2. n8n

    Confere resposta e campos; repete uma falha transitória uma vez.

  3. 3. Postgres

    Guarda horário, URL e vendedor sem duplicar a execução.

  4. 4. Power BI

    Lê o histórico pelo Power Query e atualiza o relatório.

Arquivos para começar hoje

O dataset tem seis linhas fictícias, duas ofertas e três datas. Um preço ausente fica nulo. As URLs DEMO não são produtos reais. Para dados atuais, use a sua chave no workflow e uma busca real.

Captura da prévia do kit com gráfico de preços fictícios e estado de preço ausente
Captura da prévia HTML incluída no kit. Dados sintéticos; não é uma captura do Power BI.
Abrir prévia visual do dataset e do fluxo →
Workflow importado no n8n: busca Mercado Livre, retentativa limitada, validação e gravação no Postgres
Workflow do kit importado em n8n 2.44.5. A agenda diária permanece desativada até você configurá-la.

Como monitorar preços do Mercado Livre com n8n

1. Teste a busca que você quer acompanhar

No sandbox PLP, envie a keyword e page: 1. Confira moeda, URLs e relevância. A busca pode misturar marcas, volumes e condições. Use PDP por URL para confirmar variante e vendedor das ofertas selecionadas.

2. Prepare o banco e importe o workflow

Execute schema.sql em seu Postgres. No editor do n8n, escolha Import from File e abra workflow.json. Em “Configuração”, troque a keyword. Crie uma credencial Header Auth com nome Authorization e valor Bearer SUA_CHAVE; selecione-a nos dois nodes HTTP. Configure sua credencial Postgres no último node.

A agenda vem desativada. Execute manualmente e confira o número de registros inseridos. Reprocessar o mesmo executionId não duplica snapshots.

Conferir a última captura
SELECT captured_at, product_id, seller_name, price,
       previous_price, price_change_pct, currency
FROM gecko_monitor.latest_prices
ORDER BY captured_at DESC;

3. Carregue no Power BI

Sem banco, crie o parâmetro de texto SampleFilePath apontando para o CSV e cole power-query-sample.pq no Editor Avançado de uma consulta em branco. Com Postgres, crie Server e Database e use power-query-postgres.pq. Informe uma credencial de leitura do banco; a chave GeckoAPI fica somente no n8n.

Monte um gráfico por captured_at, product_id e price. Use uma tabela com seller_name, currency e price_change_pct. No dataset, o produto 1 vai de R$ 100 para R$ 95 e R$ 90; a última variação é −5,26%. O produto 2 termina com preço ausente. Não some preços de produtos diferentes.

4. Ative coleta e refresh separadamente

Depois da validação, habilite “Todo dia às 08h” e publique/ative o workflow no fuso America/Sao_Paulo. No Power BI Service, configure credenciais, conexão/gateway e atualização do modelo após a coleta, por exemplo às 08h30. O refresh do Power BI lê Postgres; não faz uma nova chamada à GeckoAPI.

Mostre a última captured_at no relatório e revise o histórico de refresh. Se o banco for local ou privado, o gateway precisa alcançá-lo. Frequência e limites dependem da licença do Power BI.

Quatro análises que usam os mesmos snapshots

Preço por oferta

Compare price com previous_price para a mesma URL, vendedor e moeda. Um campo nulo exige revisão; não gera alerta de queda para zero.

Cobertura da busca

Conte ofertas por query e data. Lista vazia é uma execução válida sem itens; não confirma que todos os produtos saíram de estoque.

Sinais de reputação

Acompanhe rating e review_count quando presentes. São valores observados, não um histórico completo de avaliações nem vendas.

Atualidade do relatório

Compare MAX(captured_at) com o horário atual. Uma atualização bem-sucedida no BI pode estar lendo uma coleta antiga se o n8n falhou.

Falhas ficam visíveis, sem inventar dados

Erros 400/401/403 param a execução. Respostas 429 e 500/502/503/504 recebem uma tentativa adicional com espera e Retry-After. Timeouts param para inspeção. Uma moeda inesperada ou um contrato inválido não chega ao banco. Preços ausentes ficam null; buscas vazias e notFound registram a execução sem criar produtos.

A transação no Postgres evita um lote parcialmente gravado. Consulte o README para repetir uma gravação sem refazer a coleta e para configurar um Error Trigger no n8n. O kit não envia mensagens automaticamente.

O que foi validado

Workflow importado e executado em n8n 2.44.5 e PostgreSQL 17, com uma chamada real à API e replay de uma resposta capturada em 21/10/2026. Foram exercitados sucesso, duplicatas, falhas transitórias, autenticação, resultados vazios, preço nulo e contrato inválido. PLP e o PDP selecionado foram consultados na API pública.

Os dois arquivos passaram no parser M oficial da Microsoft; a consulta Postgres usa o conector oficial. Power BI Desktop não está disponível no ambiente Linux desta validação; a abertura do relatório e o refresh no Service precisam ser conferidos no seu ambiente. O kit não inclui PBIX.

Referências e próximo passo

Para escolher produtos e frequência, volte ao guia de monitoramento. Para autenticação e campos, consulte Mercado Livre PLP.

Referências: HTTP Request no n8n, Postgres no n8n, conector PostgreSQL do Power Query e refresh agendado no Power BI.