API de dados de preços — aceda aos dados de monitorização a partir dos seus sistemas
A API REST do 4pricing.net permite à sua equipa ler os dados de monitorização de preços e ligá-los aos seus próprios sistemas (ERP, WMS, plataforma de comércio eletrónico). Não existem conectores prontos: a ligação desenvolve-se sobre a API. A autenticação é feita por chave de API, as respostas são em JSON padrão e a especificação é publicada em OpenAPI 3.0, que pode importar diretamente para o seu cliente.
Endpoints principais
A API expõe os dados de monitorização ao nível do produto monitorizado: a lista de produtos com o respetivo preço atual, o histórico de preços de um produto e um mini-histórico em bloco para vistas de lista. Os produtos são identificados pelo product_id devolvido no momento em que os adiciona — o URL do produto serve para o adicionar, não como chave de rota. Os montantes vêm em unidades menores, nos campos current_price_cents e price_cents, juntamente com a moeda, e cada registo inclui a hora exata da verificação (last_scraped_at e scraped_at, respetivamente).
- GET /products/ — os seus produtos monitorizados, com preço atual e moeda
- GET /products/{product_id}/history — o histórico de preços de um produto, com data e hora
- GET /products/sparklines — mini-histórico em bloco, uma linha de preços por produto
- POST /alerts/ — criar um alerta (limite, descida percentual, stock, concorrente)
Autenticação e limite de pedidos
A autenticação utiliza o cabeçalho X-API-Key ou, em alternativa equivalente, Authorization: Bearer com a mesma chave. As chaves são geradas a partir do painel, na secção API e chaves, e o valor completo é apresentado apenas uma vez, no momento da criação. O limite é de 60 pedidos por minuto por conta, partilhado por todas as suas chaves; acima disso, a API responde 429 e envia o cabeçalho Retry-After.
Vantagens e limitações
Vantagens
- Pode ser ligada ao seu ERP/WMS através da API, sem exportação manual para CSV — o desenvolvimento cabe à sua equipa, não existem conectores prontos
- Os alertas podem ser entregues por webhook, pelo que não é obrigado a fazer polling
- Especificação OpenAPI 3.0 publicada, que importa diretamente para o seu cliente
- Acesso ao preço recomendado para o grupo de comparação, não apenas aos dados em bruto
Limitações
- O limite de 60 pedidos/minuto por conta (partilhado por todas as chaves) exige leituras em bloco e cache local em catálogos grandes
- O webhook exige um URL http/https público (porta 80/443) na sua infraestrutura
Veredicto rápido
A API cobre os cenários habituais para construir uma ligação própria aos seus sistemas. Catálogos com mais de 50 000 SKU ativos beneficiam de leituras em bloco e de cache local.
Tabela de especificações
| Endpoint | Método | Resposta |
|---|---|---|
| /products/ | GET | Array JSON dos produtos monitorizados, com current_price_cents |
| /products/{product_id}/history | GET | Array JSON do histórico, com data e hora |
| /products/sparklines | GET | JSON com uma linha de preços por produto |
| /alerts/ | POST | O alerta criado, com o respetivo tipo e limite |
API vs. exportação CSV a pedido
| Critério | API REST | Exportação CSV |
|---|---|---|
| Latência dos dados | Os dados são os da última verificação | Dados do momento em que descarrega |
| Ligação ao seu ERP | Desenvolvida pela sua equipa via HTTP (sem conector pronto) | Importação manual/por cron |
| Alertas push | Sim (webhook) | Não |
Perguntas frequentes
Como obtenho uma chave de API?
A chave é gerada no painel da sua conta 4pricing.net, na secção API e chaves. O valor completo da chave é apresentado apenas uma vez, no momento da criação — se a perder, revogue-a e gere outra.
Posso aceder aos dados de todos os produtos em simultâneo?
Sim, GET /products/?skip=0&limit=200 permite percorrer todo o catálogo monitorizado por páginas; o número total de linhas vem no cabeçalho X-Total-Count. Para listas longas, GET /products/sparklines devolve o mini-histórico de vários produtos numa única chamada. Recomendamos uma leitura noturna agendada por si para catálogos grandes e leituras mais frequentes apenas para os produtos relevantes.
Que formato tem o histórico de preços devolvido pela API?
Um array JSON de objetos {product_id, price_cents, currency, in_stock, scraped_at}, ordenado por data descendente. O preço vem em unidades menores (price_cents), não em unidades monetárias inteiras, e scraped_at é uma data e hora exatas em ISO 8601.
Que eventos envia o webhook?
Existe um URL de webhook por conta, que recebe todos os tipos de alerta que criar: preço abaixo de um limite, preço acima de um limite, descida percentual, reposição de stock, um concorrente que baixa abaixo de si e perda da posição de preço mais baixo. Não existe um alerta sobre o limite de custo em si.