Gerar feed e trocar o token
Gera agora o arquivo de um feed (e o publica no link público) e troca o token do link quando ele vazou ou precisa ser rotacionado.
O link público de um feed serve um arquivo já gerado. Estas duas rotas controlam esse arquivo e o acesso a ele: uma gera o arquivo agora, a outra troca o token do link. Ambas exigem o módulo data-feeds e o privilégio manage_data_feeds ou manage_catalog.
/api/v1/admin/data-feeds/{id}/generateAdminGera o arquivo do feed agora
Monta o arquivo com os filtros e o mapeamento do feed, grava no servidor (o que passa a ser servido pelo link público) e devolve o conteúdo na própria resposta. Atualiza no feed last_generated_at, product_count, file_path e file_url.
A resposta não é JSON: é o arquivo, com o Content-Type do formato (application/xml, text/csv ou application/json). Em feeds grandes ele pode ter muitos megabytes. Sem corpo na requisição.
Parâmetros de caminho
iduuidobrigatórioCabeçalhos da resposta
X-Feed-Persistedstringtruefalsetrue quando o arquivo foi gravado e o link público já serve a versão nova. false quando a geração funcionou mas a gravação falhou: o conteúdo veio na resposta, mas o link público continua com a versão antiga (ou 404, se nunca houve uma)./api/v1/admin/data-feeds/{id}/regenerate-tokenAdminTroca o token do link público
Cria um token novo. O link antigo deixa de funcionar na hora (404), e o public_url da resposta é o novo. Sem corpo.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
# gerar e guardar uma cópia local
curl -X POST "$BASE_URL/api/v1/admin/data-feeds/$FEED/generate" \
-H "Authorization: Bearer $TOKEN" -D - -o feed.xml
# rotacionar o token do link
curl -X POST "$BASE_URL/api/v1/admin/data-feeds/$FEED/regenerate-token" \
-H "Authorization: Bearer $TOKEN"Resposta
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
<title>Venddor Product Feed</title>
<updated>2026-10-11T21:09:26Z</updated>
<entry>
<title>Relógio Max Verde 02517</title>
<link rel="alternate" href="https://minhaloja.io.venddor.com.br/products/relogio-max-verde-02517-2517"></link>
<g:id>aa595524-5b8c-41d6-b865-cb50f0314197</g:id>
<g:price>11.68 BRL</g:price>
<g:sale_price>9.90 BRL</g:sale_price>
<g:availability>in_stock</g:availability>
<g:condition>new</g:condition>
</entry>
</feed>{
"id": "18310126-9730-4558-92c1-d9357c8d2792",
"name": "Google Shopping",
"feed_type": "google_shopping",
"file_format": "xml",
"status": "A",
"schedule_interval": 86400,
"last_generated_at": "2026-10-11T21:09:26.743834Z",
"file_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/e60cf94168cb...be26.xml",
"file_path": "feed.xml",
"product_count": 48,
"filters": { "status": "active", "in_stock": true },
"field_mapping": {},
"public_token": "7c1d0b9e4a2f83d65e1c0a9b7f3d2e4a8b6c5d1e0f9a7b3c2d4e6f8a0b1c2d3e",
"public_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/7c1d0b9e4a2f83d65e1c0a9b7f3d2e4a8b6c5d1e0f9a7b3c2d4e6f8a0b1c2d3e.xml",
"created_at": "2026-10-11T21:09:26.676535Z",
"updated_at": "2026-10-11T21:09:40.100000Z"
}Campos da resposta (troca de token)
public_tokenstringpublic_urlstringfile_urlstringpublic_url, não file_url.Os demais campos do feed estão em Consultar feeds.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Módulo desligado, ou falta o privilégio | {"error":"module_disabled","module":"data-feeds"} |
| 404 | Feed não existe | {"error":"data feed not found"} |
| 500 | Falha ao montar o arquivo, ou id que não é UUID | {"error":"failed to generate feed","detail":"..."} |