Feeds de produtos
Baixa o arquivo de produtos que a loja publica para Google Merchant Center, Meta, marketplaces e ERPs, pelo link secreto ou pelo id do feed.
Um feed de produtos é um arquivo (XML, CSV ou JSON) com o catálogo da loja, no formato que um portal externo espera: Google Merchant Center, Meta, marketplaces, ERPs. O lojista cria e configura os feeds no painel (módulo de feeds de dados); estas duas rotas só entregam o arquivo, sem login, para o portal buscar de tempos em tempos. Não existe rota pública para criar ou listar feeds.
As duas rotas dependem do módulo de feeds ativo na loja. Com o módulo desligado, a rota por token responde 404, e a rota por id responde 403.
| Rota | Identifica o feed por | Quando usar |
|---|---|---|
GET /api/v1/feeds/{token} | Token secreto de 64 caracteres | O link que o lojista cola no portal. Pode ser rotacionado. |
GET /api/v1/storefront/feeds/{id} | UUID do feed | Integrações que já conhecem o id. Gera na hora se não há arquivo pronto. |
Feed pelo link secreto
O token é a credencial: quem o tem lê o feed. O lojista pode gerar um token novo no painel para invalidar um link vazado. A rota serve o arquivo pronto, gerado pelo agendador da loja; se o feed ainda não foi gerado, responde 404 com o texto Feed has not been generated yet. Um sufixo .xml, .csv ou .json no fim do token é aceito e ignorado (útil para portais que inferem o formato pela extensão): o Content-Type sai do formato configurado no feed.
/api/v1/feeds/{token}PúblicaBaixar um feed pelo token secreto
Parâmetros de caminho
tokenstringobrigatório.xml, .csv, .json).Exemplo de requisição
curl "$BASE_URL/api/v1/feeds/$FEED_TOKEN.xml" -o catalogo.xmlResposta
HTTP/1.1 200 OK
Content-Type: application/xml
Cache-Control: public, max-age=3600
X-Feed-Source: public-token
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">...</feed>Campos da resposta
Content-Typeheaderapplication/xmltext/csvapplication/jsonCache-Controlheaderpublic, max-age=3600: o arquivo é cacheável por 1 hora.X-Feed-Sourceheaderpublic-tokencachedgeneratedpublic-token nesta rota; cached (arquivo pronto) ou generated (montado agora) na rota por id.O corpo é o arquivo no formato configurado. O XML segue o padrão Atom do Google Shopping. Os campos de cada item dependem do tipo de feed escolhido pelo lojista.
Feed pelo id
Mesma entrega, mas pelo UUID do feed e sem token. Se existe um arquivo gerado pelo agendador, ele é servido; se não existe, o feed é montado na hora a partir do catálogo e dos filtros do feed (por padrão, só produtos ativos).
/api/v1/storefront/feeds/{id}PúblicaBaixar um feed pelo id
Parâmetros de caminho
iduuidobrigatórioErros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 403 | Módulo de feeds não está ativo na loja (rota por id) | {"error":"module_disabled","module":"data-feeds"} |
| 404 | Token desconhecido ou módulo desligado (rota por token); feed inexistente (rota por id) | 404 page not found / {"error":"feed not found"} |
| 404 | Rota por token, feed ainda sem arquivo gerado | Feed has not been generated yet (texto puro) |
| 500 | {id} que não é UUID, ou falha ao gerar | {"error":"failed to generate feed","detail":"o valor \"abc\" não é um uuid válido. ..."} |
| 503 | Armazenamento de arquivos de feed não configurado | {"error":"feed storage not configured"} |