Consultar feeds
Lista os feeds da loja, consulta um feed pelo id e lista os campos disponíveis para cada tipo de feed.
Estas três rotas leem. Use a lista para montar uma tela de gestão ou para achar o public_url de um feed, o detalhe para conferir filtros e mapeamento, e a rota de campos para saber o que cada tipo de feed pode conter antes de criar o seu. Todas exigem o módulo data-feeds ligado e o privilégio manage_data_feeds ou manage_catalog.
/api/v1/admin/data-feedsAdminLista os feeds
Devolve os feeds, do mais novo para o mais antigo, com paginação.
Parâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20vendor_iduuidmarketplace_onlybooleantrue, só os feeds da própria loja (sem seller). Ignorado quando vendor_id vem junto./api/v1/admin/data-feeds/{id}AdminConsulta um feed
Devolve um feed, com public_url montado a partir do domínio da loja.
Parâmetros de caminho
iduuidobrigatório/api/v1/admin/data-feeds/fields/{feed_type}AdminLista os campos de um tipo de feed
Devolve os campos que o tipo suporta. Para google_shopping, facebook e mercado_livre é a lista curta, com os campos que o canal exige marcados como required. Para custom, é o catálogo completo de campos de produto (65), agrupado em categorias.
Parâmetros de caminho
feed_typestringobrigatóriogoogle_shoppingfacebookmercado_livrecustomExemplo de requisição
curl "$BASE_URL/api/v1/admin/data-feeds?per_page=20" \
-H "Authorization: Bearer $TOKEN"
curl "$BASE_URL/api/v1/admin/data-feeds/fields/google_shopping" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"feeds": [
{
"id": "8b538f09-c820-4fff-a03b-efcc2eebadb0",
"name": "Google Shopping",
"feed_type": "google_shopping",
"file_format": "xml",
"status": "A",
"schedule_interval": 86400,
"last_generated_at": "2026-10-11T06:56:18.590595Z",
"file_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/9f3c...e41a.xml",
"file_path": "feed.xml",
"product_count": 4977,
"filters": { "status": "active", "in_stock": true },
"field_mapping": {
"fields": [
{ "feed_field": "g:id", "product_field": "id", "default_value": "", "prefix": "" },
{ "feed_field": "g:title", "product_field": "name", "default_value": "", "prefix": "" }
]
},
"public_token": "9f3c6a0d52b84e1a8c77d3e0f1a2b4c59f3c6a0d52b84e1a8c77d3e0f1a2e41a",
"public_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/9f3c6a0d52b84e1a8c77d3e0f1a2b4c59f3c6a0d52b84e1a8c77d3e0f1a2e41a.xml",
"created_at": "2026-07-20T00:57:26.898539Z",
"updated_at": "2026-10-11T06:56:18.590789Z"
}
],
"total": 3,
"page": 1,
"per_page": 20,
"total_pages": 1
}{
"feed_type": "google_shopping",
"fields": [
{ "name": "g:id", "product_key": "id", "required": true, "description": "Unique product identifier" },
{ "name": "g:title", "product_key": "name", "required": true, "description": "Product title" }
],
"categories": []
}Campos de um feed
iduuidnamestringfeed_typestringgoogle_shoppingfacebookmercado_livrecustomfile_formatstringxmlcsvjsonstatusstringADA ativo, D desativado.schedule_intervalinteger0 é só manual.last_generated_atstringfile_urlstringfile_pathstringfeed.xml). Vazio antes da primeira geração.product_countintegerfiltersobjectstatus, category_ids, vendor_ids, min_price, max_price, in_stock).field_mappingobjectfields), cada um com feed_field, product_field, default_value e prefix.public_tokenstringpublic_urlstringvendor_iduuidcreated_atstringupdated_atstringCampos de cada item de fields
namestringg:title, Name).product_keystringrequiredbooleantrue quando o canal exige o campo.descriptionstringcategorystringcustom (Core, Pricing, Stock, SEO...).Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | feed_type fora da lista | {"error":"invalid feed_type","detail":"must be one of: google_shopping, facebook, mercado_livre, custom"} |
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Módulo desligado | {"error":"module_disabled","module":"data-feeds"} |
| 403 | Falta o privilégio | {"error":"insufficient privileges","privilege_required_any":["manage_data_feeds","manage_catalog"]} |
| 404 | Feed não existe | {"error":"data feed not found"} |
| 500 | Id que não é UUID, ou falha ao consultar | {"error":"failed to get data feed","detail":"..."} |