VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Feeds de produtos

Cadastro de feeds

Lista, cria, consulta, altera e exclui os feeds de catálogo do seller.

Cada feed tem um destino (feed_type), um formato, um recorte de produtos (filters) e, opcionalmente, um mapeamento de campos. O recorte já nasce restrito aos produtos do seu seller.

Listar

GET/api/v1/vendor/data-feedsSeller

Listar os feeds

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller (veja Tokens).

Exemplo de requisição (listar)

bash
curl "$BASE_URL/api/v1/vendor/data-feeds" \
  -H "Authorization: Bearer $TOKEN"

Resposta (listar)

200Feeds
json
{
  "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/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
      "file_path": "feed.xml",
      "product_count": 120,
      "filters": {
        "status": "active",
        "in_stock": true,
        "vendor_ids": [
          "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"
        ]
      },
      "field_mapping": {
        "fields": [
          {
            "feed_field": "g:title",
            "product_field": "name",
            "default_value": "",
            "prefix": ""
          }
        ]
      },
      "public_token": "8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c",
      "public_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "created_at": "2026-10-01T12:00:00Z",
      "updated_at": "2026-10-11T06:56:18Z"
    }
  ],
  "total": 1
}

Campos da resposta

feedsarray

Seus feeds, do mais novo ao mais antigo.

idstring (uuid)
Id do feed.
namestring
Nome.
feed_typestring
google_shoppingfacebookmercado_livrecustom
Destino do feed.
file_formatstring
xmlcsvjson
Formato do arquivo.
statusstring
A ativo, D desativado.
schedule_intervalinteger
Segundos entre gerações automáticas. 0 = só manual.
last_generated_atstring | null
Última geração (RFC 3339).
file_urlstring
URL pública do último arquivo gerado. Vazia antes da primeira geração.
file_pathstring
Nome interno do arquivo gerado.
product_countinteger
Produtos no último arquivo.
filtersobject
Recorte de produtos. vendor_ids é sempre o seu seller.
field_mappingobject
Mapeamento de campos do feed.
public_tokenstring
Segredo do link público. Quem tem o link lê o feed.
public_urlstring
Link público do feed, para colar no Google, Meta etc.
vendor_idstring (uuid)
Seu seller.
created_atstring
Criação (RFC 3339).
updated_atstring
Última alteração (RFC 3339).
totalinteger
Quantidade (sem paginação).

Erros (listar)

StatusQuandoCorpo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403Token que não é de seller, ou usuário sem o privilégio exigido pela rota.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]}

Criar

POST/api/v1/vendor/data-feedsSeller

Criar um feed

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller (veja Tokens).

Corpo da requisição

namestringobrigatório
Nome do feed.
feed_typestringobrigatório
google_shoppingfacebookmercado_livrecustom
Destino.
file_formatstringobrigatório
xmlcsvjson
Formato do arquivo.
statusstringpadrão: A
AD
A ou D (ou active/disabled).
schedule_intervalintegerpadrão: 0
Segundos entre gerações. 0 = só manual.
filtersobject

Recorte de produtos.

category_idsarray of string
Só estas categorias.
statusstring
Status dos produtos. Padrão active.
min_priceinteger
Preço mínimo em centavos.
max_priceinteger
Preço máximo em centavos.
in_stockboolean
true = só com estoque.
vendor_idsarray of string
Ignorado: a plataforma força o seu seller.
field_mappingobject
Mapeamento. fields é uma lista de {feed_field, product_field, default_value, prefix}. Sem mapeamento, vale o conjunto padrão do tipo de feed.

Exemplo de requisição (criar)

bash
curl -X POST "$BASE_URL/api/v1/vendor/data-feeds" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Google Shopping",
  "feed_type": "google_shopping",
  "file_format": "xml",
  "schedule_interval": 86400,
  "filters": {
    "in_stock": true
  }
}'

Resposta (criar)

201Feed criado
json
{
  "id": "8b538f09-c820-4fff-a03b-efcc2eebadb0",
  "name": "Google Shopping",
  "feed_type": "google_shopping",
  "file_format": "xml",
  "status": "A",
  "schedule_interval": 86400,
  "last_generated_at": null,
  "file_url": "",
  "file_path": "",
  "product_count": 0,
  "filters": {
    "status": "active",
    "in_stock": true,
    "vendor_ids": [
      "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"
    ]
  },
  "field_mapping": {
    "fields": [
      {
        "feed_field": "g:title",
        "product_field": "name",
        "default_value": "",
        "prefix": ""
      }
    ]
  },
  "public_token": "8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c",
  "public_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "created_at": "2026-10-01T12:00:00Z",
  "updated_at": "2026-10-11T06:56:18Z"
}

Campos da resposta

idstring (uuid)
Id do feed.
namestring
Nome.
feed_typestring
google_shoppingfacebookmercado_livrecustom
Destino do feed.
file_formatstring
xmlcsvjson
Formato do arquivo.
statusstring
A ativo, D desativado.
schedule_intervalinteger
Segundos entre gerações automáticas. 0 = só manual.
last_generated_atstring | null
Última geração (RFC 3339).
file_urlstring
URL pública do último arquivo gerado. Vazia antes da primeira geração.
file_pathstring
Nome interno do arquivo gerado.
product_countinteger
Produtos no último arquivo.
filtersobject
Recorte de produtos. vendor_ids é sempre o seu seller.
field_mappingobject
Mapeamento de campos do feed.
public_tokenstring
Segredo do link público. Quem tem o link lê o feed.
public_urlstring
Link público do feed, para colar no Google, Meta etc.
vendor_idstring (uuid)
Seu seller.
created_atstring
Criação (RFC 3339).
updated_atstring
Última alteração (RFC 3339).

Erros (criar)

StatusQuandoCorpo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403Token que não é de seller, ou usuário sem o privilégio exigido pela rota.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]}
400feed_type ou file_format inválidos, ou corpo inválido.{"error":"invalid feed_type: x (must be google_shopping, facebook, mercado_livre, or custom)"}

Consultar

GET/api/v1/vendor/data-feeds/{id}Seller

Consultar um feed

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller (veja Tokens).

Parâmetros de caminho

idstring (uuid)obrigatório
Id do feed.

Exemplo de requisição (consultar)

bash
curl "$BASE_URL/api/v1/vendor/data-feeds/$FEED_ID" \
  -H "Authorization: Bearer $TOKEN"

Resposta (consultar)

200Feed
json
{
  "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/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
  "file_path": "feed.xml",
  "product_count": 120,
  "filters": {
    "status": "active",
    "in_stock": true,
    "vendor_ids": [
      "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"
    ]
  },
  "field_mapping": {
    "fields": [
      {
        "feed_field": "g:title",
        "product_field": "name",
        "default_value": "",
        "prefix": ""
      }
    ]
  },
  "public_token": "8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c",
  "public_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "created_at": "2026-10-01T12:00:00Z",
  "updated_at": "2026-10-11T06:56:18Z"
}

Campos da resposta

idstring (uuid)
Id do feed.
namestring
Nome.
feed_typestring
google_shoppingfacebookmercado_livrecustom
Destino do feed.
file_formatstring
xmlcsvjson
Formato do arquivo.
statusstring
A ativo, D desativado.
schedule_intervalinteger
Segundos entre gerações automáticas. 0 = só manual.
last_generated_atstring | null
Última geração (RFC 3339).
file_urlstring
URL pública do último arquivo gerado. Vazia antes da primeira geração.
file_pathstring
Nome interno do arquivo gerado.
product_countinteger
Produtos no último arquivo.
filtersobject
Recorte de produtos. vendor_ids é sempre o seu seller.
field_mappingobject
Mapeamento de campos do feed.
public_tokenstring
Segredo do link público. Quem tem o link lê o feed.
public_urlstring
Link público do feed, para colar no Google, Meta etc.
vendor_idstring (uuid)
Seu seller.
created_atstring
Criação (RFC 3339).
updated_atstring
Última alteração (RFC 3339).

Erros (consultar)

StatusQuandoCorpo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403Token que não é de seller, ou usuário sem o privilégio exigido pela rota.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]}
404O feed não existe ou não é seu.{"error":"data feed not found"}

Alterar

PUT/api/v1/vendor/data-feeds/{id}Seller

Alterar um feed

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller (veja Tokens).

Parâmetros de caminho

idstring (uuid)obrigatório
Id do feed.

Corpo da requisição

statusstring
AD
A ou D (ou active/disabled).
schedule_intervalinteger
Segundos entre gerações. 0 = só manual.
filtersobject

Recorte de produtos.

category_idsarray of string
Só estas categorias.
statusstring
Status dos produtos. Padrão active.
min_priceinteger
Preço mínimo em centavos.
max_priceinteger
Preço máximo em centavos.
in_stockboolean
true = só com estoque.
vendor_idsarray of string
Ignorado: a plataforma força o seu seller.
field_mappingobject
Mapeamento. fields é uma lista de {feed_field, product_field, default_value, prefix}. Sem mapeamento, vale o conjunto padrão do tipo de feed.
namestring
Novo nome.
feed_typestring
google_shoppingfacebookmercado_livrecustom
Novo destino.
file_formatstring
xmlcsvjson
Novo formato.

Exemplo de requisição (alterar)

bash
curl -X PUT "$BASE_URL/api/v1/vendor/data-feeds/$FEED_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "schedule_interval": 43200,
  "status": "A"
}'

Resposta (alterar)

200Feed alterado
json
{
  "id": "8b538f09-c820-4fff-a03b-efcc2eebadb0",
  "name": "Google Shopping",
  "feed_type": "google_shopping",
  "file_format": "xml",
  "status": "A",
  "schedule_interval": 43200,
  "last_generated_at": "2026-10-11T06:56:18.590595Z",
  "file_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
  "file_path": "feed.xml",
  "product_count": 120,
  "filters": {
    "status": "active",
    "in_stock": true,
    "vendor_ids": [
      "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"
    ]
  },
  "field_mapping": {
    "fields": [
      {
        "feed_field": "g:title",
        "product_field": "name",
        "default_value": "",
        "prefix": ""
      }
    ]
  },
  "public_token": "8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c",
  "public_url": "https://minhaloja.io.venddor.com.br/api/v1/feeds/8dd4149e4346d49a3a095a97b41b1c22a18d5870d32bf250592ce0073976649c.xml",
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "created_at": "2026-10-01T12:00:00Z",
  "updated_at": "2026-10-11T06:56:18Z"
}

Campos da resposta

idstring (uuid)
Id do feed.
namestring
Nome.
feed_typestring
google_shoppingfacebookmercado_livrecustom
Destino do feed.
file_formatstring
xmlcsvjson
Formato do arquivo.
statusstring
A ativo, D desativado.
schedule_intervalinteger
Segundos entre gerações automáticas. 0 = só manual.
last_generated_atstring | null
Última geração (RFC 3339).
file_urlstring
URL pública do último arquivo gerado. Vazia antes da primeira geração.
file_pathstring
Nome interno do arquivo gerado.
product_countinteger
Produtos no último arquivo.
filtersobject
Recorte de produtos. vendor_ids é sempre o seu seller.
field_mappingobject
Mapeamento de campos do feed.
public_tokenstring
Segredo do link público. Quem tem o link lê o feed.
public_urlstring
Link público do feed, para colar no Google, Meta etc.
vendor_idstring (uuid)
Seu seller.
created_atstring
Criação (RFC 3339).
updated_atstring
Última alteração (RFC 3339).

Erros (alterar)

StatusQuandoCorpo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403Token que não é de seller, ou usuário sem o privilégio exigido pela rota.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]}
404O feed não existe ou não é seu.{"error":"data feed not found"}
400Tipo, formato ou corpo inválidos.{"error":"invalid file_format: x (must be xml, csv, or json)"}

Excluir

DELETE/api/v1/vendor/data-feeds/{id}Seller

Excluir um feed

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller (veja Tokens).

Parâmetros de caminho

idstring (uuid)obrigatório
Id do feed.

Exemplo de requisição (excluir)

bash
curl -X DELETE "$BASE_URL/api/v1/vendor/data-feeds/$FEED_ID" \
  -H "Authorization: Bearer $TOKEN"

Resposta (excluir)

200Feed excluído
json
{
  "message": "data feed deleted"
}

Campos da resposta

messagestring
Confirmação fixa.

Erros (excluir)

StatusQuandoCorpo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403Token que não é de seller, ou usuário sem o privilégio exigido pela rota.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings"]}
404O feed não existe ou não é seu.{"error":"data feed not found"}
Excluir quebra o link

Excluir o feed invalida o public_url. Se o Google ou a Meta ainda leem o link, eles passam a falhar. Desative o feed (status: "D") quando só quiser pausar.

Campos internos na resposta

file_path é só o nome do arquivo gerado; use public_url para o link.

Veja também

  • Feeds de produtos: visão geral
Anterior
Feeds de produtos
Próxima
Gerar o arquivo do feed
Nesta página
  • Listar
  • Exemplo de requisição (listar)
  • Resposta (listar)
  • Erros (listar)
  • Criar
  • Exemplo de requisição (criar)
  • Resposta (criar)
  • Erros (criar)
  • Consultar
  • Exemplo de requisição (consultar)
  • Resposta (consultar)
  • Erros (consultar)
  • Alterar
  • Exemplo de requisição (alterar)
  • Resposta (alterar)
  • Erros (alterar)
  • Excluir
  • Exemplo de requisição (excluir)
  • Resposta (excluir)
  • Erros (excluir)
  • Veja também