Produtos (REST)
Visão geral da API REST de Produtos: a estrutura do produto, as operações principais e os endpoints relacionados de imagens, características e opções.
A API de Produtos gerencia todo o ciclo de vida dos produtos da sua loja Venddor. Você pode criar, consultar, atualizar e excluir produtos e gerenciar as entidades relacionadas: variações, opções, imagens e características.
Esta seção é a parte REST da API Venddor 1.0. Ela trabalha nas URLs genéricas de objeto (/api/products e, na API 2.0, /api/2.0/products) e usa as mesmas credenciais HTTP Basic do restante da API: o e-mail do administrador e a chave de API. Nos exemplos, $BASE_URL é o endereço do e-commerce da sua loja, $EMAIL é o e-mail do administrador e $API_KEY é a chave de API.
Como funciona
Um produto é um único objeto JSON. Abaixo está a estrutura básica, exatamente como a referência a mostra. O texto depois de // é a explicação da própria referência para o código e não faz parte do JSON que você envia.
{
"product_id": "423",
"product_code": "LAPTOP-PRO-15",
"product": "Professional Laptop 15\"",
"company_id": "1",
"product_type": "P", // P - physical, D - digital, S - service
"status": "A", // A - active, D - disabled, H - hidden
"list_price": "1499.99",
"price": "1299.99",
"category_ids": ["42", "56"],
"main_category": "42",
"tax_ids": ["3"],
"tracking": "B", // B - track with options, O - track without options
"amount": "100",
"weight": "2.1",
"length": "14.2",
"width": "9.8",
"height": "0.8",
"shipping_freight": "0",
"is_edp": "N", // Y - downloadable product, N - not downloadable
"edp_shipping": "N", // Y - requires shipping, N - no shipping
"unlimited_download": "N",
"free_shipping": "N",
"zero_price_action": "R", // R - require selection, P - allow add to cart
"product_features": {
// Features array
},
"main_pair": {
// Main image details
},
"image_pairs": {
// Additional images
},
"short_description": "Powerful laptop for professional use",
"full_description": "Detailed product description...",
"meta_keywords": "laptop, professional, business",
"meta_description": "High-performance laptop for business professionals",
"search_words": "notebook computer laptop business",
"page_title": "Professional Laptop 15\" - High Performance",
"options": [
// Product options array
],
"product_options": [
// Available options IDs
],
"variation_features": [
// Variation features
]
}Uma integração típica segue a ordem que a referência recomenda para produtos com variações e opções:
- Crie o produto baseEnvie
POST /api/2.0/productscom os campos do produto. - Adicione opções e variaçõesUse
POST /api/2.0/products/{product_id}/optionspara cada opção. Veja Opções do produto. - Adicione imagens e característicasUse
POST /api/2.0/products/{product_id}/imagesePOST /api/2.0/products/{product_id}/features. Veja Características do produto.
Códigos usados na estrutura
| Campo | Código | Significado |
|---|---|---|
product_type | P | Físico |
product_type | D | Digital |
product_type | S | Serviço |
status | A | Ativo |
status | D | Desativado |
status | H | Oculto |
tracking | B | Controle com opções |
tracking | O | Controle sem opções |
is_edp | Y | Produto para download |
is_edp | N | Sem download |
edp_shipping | Y | Exige envio |
edp_shipping | N | Sem envio |
zero_price_action | R | Exigir seleção |
zero_price_action | P | Permitir adicionar ao carrinho |
Esses são os significados escritos nos comentários da estrutura acima. A página Campos do produto descreve os mesmos campos com redação própria; use essa página ao criar ou atualizar um produto.
Conceitos principais
Textos e identificadores
Identificadores e preços voltam como texto ("product_id": "423", "price": "1299.99"). Os identificadores de categoria e de imposto são listas de textos ("category_ids": ["42", "56"]).
Objetos aninhados
product_features, main_pair e image_pairs são objetos aninhados, e options, product_options e variation_features são listas. Veja Objetos aninhados e Campos do produto.
Palavras de busca
Operações principais de produto
/api/2.0/productsAdminListar produtos
Retorna uma lista de produtos, com suporte a filtros, ordenação e paginação.
/api/2.0/products/{product_id}AdminConsultar um produto
Retorna as informações detalhadas de um produto específico.
Parâmetros de caminho
product_idstringobrigatório/api/2.0/productsAdminCriar um produto
Cria um novo produto no sistema.
/api/2.0/products/{product_id}AdminAtualizar um produto
Atualiza as informações de um produto existente.
Parâmetros de caminho
product_idstringobrigatório/api/2.0/products/{product_id}AdminExcluir um produto
Exclui um produto do sistema.
Parâmetros de caminho
product_idstringobrigatórioEndpoints relacionados
Imagens do produto
/api/2.0/products/{product_id}/imagesAdminListar imagens do produto
Retorna todas as imagens associadas a um produto.
Parâmetros de caminho
product_idstringobrigatório/api/2.0/products/{product_id}/imagesAdminAdicionar imagem ao produto
Adiciona uma nova imagem a um produto.
Parâmetros de caminho
product_idstringobrigatórioCaracterísticas e opções do produto
As características e as opções de um produto têm seções próprias:
GETePOST /api/2.0/products/{product_id}/featuresestão em Características do produto.GETePOST /api/2.0/products/{product_id}/optionsestão em Opções do produto.
Endpoints
| Método | Path | Finalidade | Autenticação | Página |
|---|---|---|---|---|
| GET | /api/2.0/products | Listar produtos | HTTP Basic | Esta página |
| GET | /api/2.0/products/{product_id} | Consultar um produto | HTTP Basic | Esta página |
| POST | /api/2.0/products | Criar um produto | HTTP Basic | Esta página |
| PUT | /api/2.0/products/{product_id} | Atualizar um produto | HTTP Basic | Esta página |
| DELETE | /api/2.0/products/{product_id} | Excluir um produto | HTTP Basic | Esta página |
| GET | /api/2.0/products/{product_id}/images | Listar imagens do produto | HTTP Basic | Esta página |
| POST | /api/2.0/products/{product_id}/images | Adicionar imagem ao produto | HTTP Basic | Esta página |
| GET | /api/2.0/products/{product_id}/features | Listar características do produto | HTTP Basic | Características do produto |
| POST | /api/2.0/products/{product_id}/features | Adicionar característica ao produto | HTTP Basic | Características do produto |
| GET | /api/2.0/products/{product_id}/options | Listar opções do produto | HTTP Basic | Opções do produto |
| POST | /api/2.0/products/{product_id}/options | Adicionar opção ao produto | HTTP Basic | Opções do produto |
| GET | /api/products | Listar produtos | HTTP Basic | Endpoints |
| POST | /api/products | Criar um produto | HTTP Basic | Endpoints |
| GET | /api/products/{id} | Consultar um produto | HTTP Basic | Endpoints |
| PUT | /api/products/{id} | Atualizar um produto | HTTP Basic | Endpoints |
| DELETE | /api/products/{id} | Excluir um produto | HTTP Basic | Endpoints |
| GET | /api/categories/{id}/products | Listar os produtos de uma categoria | HTTP Basic | Endpoints |
| GET | /api/categories/{id}/products/{id} | Consultar um produto de uma categoria | HTTP Basic | Endpoints |
Erros comuns e boas práticas
- Não conte com campos que não estão na referência: qualquer campo que não conste na página Campos do produto é ignorado.
- Use um sistema lógico e consistente para os códigos de produto.
- Informe sempre títulos, descrições e palavras-chave pensados para SEO.
- Garanta que cada produto esteja categorizado corretamente.
- Envie imagens com dimensões e compressão adequadas.
- Use as características do produto para detalhar as especificações.
- Controle o estoque com a configuração de
trackingadequada.