VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa/Catálogo do app do vendedor

Produtos do seller

Lista os produtos do seller com busca e filtro de status, e exclui produtos em lote.

Duas operações sobre o conjunto de produtos do seller. A lista (GET) devolve só os produtos do seller autenticado, em páginas, com busca por texto e filtro de status. A exclusão em lote (POST) recebe uma lista de ids e exclui os que pertencem ao seller.

POST em vendor_products exclui

No contrato do app antigo, POST /vendor_products (plural) exclui produtos; ele não cria. Quem quer criar usa POST /vendor_product (singular), descrito em Produto: escrita. Trocar o singular pelo plural apaga produtos.

Listar os produtos

GET/api/v1.0/vendor_productsSeller

Listar os produtos do seller

Parâmetros de consulta

pageintegerpadrão: 1
Página, a partir de 1.
items_per_pageintegerpadrão: 10
Itens por página, de 1 a 250. Fora dessa faixa, ou inválido, volta para 10 sem erro.
qstring
Busca por texto no catálogo do seller.
statusstring
ADHRX
Filtra pelo status do produto: A ativo, D desativado, H oculto, R aguardando moderação, X recusado.

Cabeçalhos

Authorizationstringobrigatório
Basic base64(e-mail:chave_de_api) ou Bearer $TOKEN do usuário de um seller ativo.
GET/api/vendor_productsSeller

Alias de GET /api/v1.0/vendor_products

Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_products. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.

GET/api/v1.0/vn_products_apiSeller

Alias de GET /api/v1.0/vendor_products

Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_products.

GET/api/vn_products_apiSeller

Alias de GET /api/v1.0/vendor_products

Mesmo corpo, mesma resposta e mesmo comportamento de GET /api/v1.0/vendor_products. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.

Excluir produtos em lote

POST/api/v1.0/vendor_productsSeller

Excluir produtos do seller em lote

Para cada id da lista, a plataforma confere se o produto é do seller e, só então, o exclui. Ids de outro seller ou que não existem são ignorados em silêncio. A resposta diz apenas se ao menos um foi excluído; não informa quantos nem quais.

Corpo da requisição

product_idsarrayobrigatório
Ids dos produtos a excluir (UUID, como strings). Na URL sem v1.0, aceita também os ids numéricos devolvidos pela lista.
POST/api/vendor_productsSeller

Alias de POST /api/v1.0/vendor_products

Mesmo corpo, mesma resposta e mesmo comportamento de POST /api/v1.0/vendor_products. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.

POST/api/v1.0/vn_products_apiSeller

Alias de POST /api/v1.0/vendor_products

Mesmo corpo, mesma resposta e mesmo comportamento de POST /api/v1.0/vendor_products.

POST/api/vn_products_apiSeller

Alias de POST /api/v1.0/vendor_products

Mesmo corpo, mesma resposta e mesmo comportamento de POST /api/v1.0/vendor_products. Nesta URL (sem /v1.0), os ids de entidades usam o formato numérico legado.

Exemplo de requisição

bash
# Listar
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/v1.0/vendor_products?items_per_page=5&q=camisa"

# Excluir em lote
curl -u "$EMAIL:$API_KEY" -X POST "$BASE_URL/api/v1.0/vendor_products" \
  -H "Content-Type: application/json" \
  -d '{"product_ids":["22fbd12a-1b6e-41ea-a84f-4d9cf06c8766"]}'

Resposta

200Produtos do seller
json
{
  "status": 200,
  "data": {
    "success": true,
    "message": "",
    "products": [
      {
        "product_id": "22fbd12a-1b6e-41ea-a84f-4d9cf06c8766",
        "product": "Camisa do Flamengo Masculina I 26 Adidas",
        "price": "300.00",
        "list_price": "449.90",
        "status": "A",
        "amount": 38,
        "main_image": "/uploads/dfe2555e/product/22fbd12a/camisa.png"
      }
    ],
    "search": { "page": 1, "items_per_page": 5, "total_items": 1 }
  }
}
200Exclusão em lote concluída
json
{ "status": 200, "data": { "success": true, "message": "Product(s) deleted successfully" } }

Campos da resposta

data.products[].product_iduuid
Id do produto. Use em Produto: leitura.
data.products[].productstring
Nome do produto.
data.products[].pricestring
Preço de venda em reais, string decimal com duas casas ("300.00").
data.products[].list_pricestring
Preço "de", no mesmo formato. "0.00" se não houver.
data.products[].statusstring
ADHRX
Status do produto: A ativo, D desativado, H oculto, R aguardando moderação, X recusado.
data.products[].amountinteger
Saldo em estoque, arredondado para baixo.
data.products[].main_imagestring
URL da primeira imagem, ou vazio.
data.searchobject
page, items_per_page e total_items (total de produtos que combinam com os filtros).

Erros

StatusQuandoCorpo
200Conta que não é de seller ativo{"status": 200, "data": {"success": false, "message": "User is not a vendor", "action": "logout"}}
200Falha ao ler os produtos{"status": 200, "data": {"success": false, "message": "Failed to load products"}}
200Exclusão: corpo inválido{"status": 200, "data": {"success": false, "message": "Invalid request body"}}
200Exclusão: nenhum produto excluído (lista vazia, ids alheios ou inexistentes){"status": 200, "data": {"success": false, "message": "No products were deleted"}}
401Sem credencial ou credencial inválida{"message": "Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.", "status": 401}
403Usuário cliente (não seller nem administrador){"message": "Forbidden: vendor scope required", "status": 403}
Exclusão parcial parece sucesso

Se você mandar 10 ids e só 3 forem do seller, a resposta é success: true ("Product(s) deleted successfully") e os outros 7 seguem intactos, sem aviso. Para saber o que foi excluído, liste de novo.

Veja também

  • Produto: leitura
  • Produto: escrita
Anterior
Categorias do app
Próxima
Produto: leitura
Nesta página
  • Listar os produtos
  • Excluir produtos em lote
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também