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

Opções do produto

Visão geral das opções do produto: os tipos de opção, a estrutura de uma opção, as operações da API 2.0 e todos os endpoints da seção.

Os produtos podem ter opções: propriedades adicionais que os clientes podem escolher ao comprar um produto. Em roupas, por exemplo, seriam cor, tamanho ou acessórios opcionais. As opções permitem oferecer variações e personalizações do produto sem criar cadastros de produto separados.

Esta seção tem dois grupos de URLs. As URLs da API 2.0 trabalham nas opções de um produto (/api/2.0/products/{product_id}/options) e são descritas nesta página. As URLs da API 1.0 trabalham nas próprias opções (/api/options) e têm uma página cada: listar, consultar, criar, atualizar e excluir. As credenciais são as do HTTP Basic do administrador ($EMAIL e $API_KEY).

Pontos principais
  • A URL base da API 2.0 para as opções de um produto é $BASE_URL/api/2.0/products/{product_id}/options.
  • Uma opção tem um tipo (caixa de seleção, grupo de opções, caixa de marcação, campo de texto, área de texto, envio de arquivo ou data) e, nos tipos de escolha, variantes.
  • Só as opções com inventory=Y podem ser usadas no controle de estoque e nas combinações de opções.
  • Os campos de uma opção estão em Detalhes da opção e os de uma variante em Variantes da opção.

Como funciona

Tipos de opção

Tipo de opçãoCódigoDescrição
Select BoxSUm menu suspenso em que o cliente escolhe uma opção de uma lista (por exemplo, tamanho: P, M, G, GG).
Radio GroupRUm conjunto de botões de opção em que o cliente escolhe uma opção (por exemplo, cor: vermelho, azul, verde).
CheckboxCUma caixa de marcação em que o cliente inclui ou retira uma opção (por exemplo, embalagem de presente: sim ou não).
Input FieldIUm campo de texto em que o cliente digita uma informação personalizada (por exemplo, o texto de uma gravação).
Text AreaTUm campo de texto com várias linhas para entradas mais longas do cliente (por exemplo, instruções especiais).
File UploadFPermite que o cliente envie um arquivo (por exemplo, uma imagem de design personalizado).
DateDUm seletor de data (por exemplo, a data de entrega).

Estrutura de uma opção

A estrutura de uma opção, como a referência a mostra. O texto depois de // é a explicação da referência para o código.

json
{
  "option_id": "16",
  "product_id": "423",
  "option_name": "Color",
  "option_type": "S",
  "position": 10,
  "required": "Y",
  "comment": "Please select your preferred color",
  "inventory": "Y",
  "variants": [
    {
      "variant_id": "42",
      "variant_name": "Black",
      "position": 10,
      "modifier_type": "A", // A - absolute, P - percentage
      "modifier": "0.00",
      "weight_modifier": "0.00",
      "status": "A"
    },
    {
      "variant_id": "43",
      "variant_name": "White",
      "position": 20,
      "modifier_type": "A",
      "modifier": "0.00",
      "weight_modifier": "0.00",
      "status": "A"
    },
    {
      "variant_id": "44",
      "variant_name": "Red",
      "position": 30,
      "modifier_type": "A",
      "modifier": "5.00",
      "weight_modifier": "0.00",
      "status": "A"
    }
  ]
}

Conceitos principais

Campos da opção

  • option_type: define como a opção é exibida aos clientes (veja a tabela acima).
  • required: indica se o cliente precisa escolher esta opção antes de adicionar o produto ao carrinho (Y ou N).
  • inventory: indica se esta opção afeta o controle de estoque (Y ou N).
  • comment: texto de apoio exibido ao cliente para ajudar na escolha.

Campos da variante

  • modifier_type: como o preço muda com esta variante. A é absoluto (soma ou subtrai um valor fixo) e P é percentual (soma ou subtrai uma porcentagem do preço base).
  • modifier: o valor que altera o preço do produto. Pode ser positivo ou negativo.
  • weight_modifier: o valor que altera o peso do produto. Pode ser positivo ou negativo.
  • status: indica se a variante está ativa (A) ou desativada (D).
Observação

Somente as opções com o atributo inventory=Y podem ser usadas no controle de estoque e nas combinações de opções.

Endpoints da API

GET/api/2.0/products/{product_id}/optionsAdmin

Listar as opções de um produto

Retorna todas as opções associadas a um produto específico.

Parâmetros de caminho

product_idstringobrigatório
Identificador do produto.
GET/api/2.0/products/{product_id}/options/{option_id}Admin

Consultar uma opção de um produto

Retorna os detalhes de uma opção específica do produto.

Parâmetros de caminho

product_idstringobrigatório
Identificador do produto.
option_idstringobrigatório
Identificador da opção.
POST/api/2.0/products/{product_id}/optionsAdmin

Adicionar uma opção a um produto

Cria uma nova opção para um produto.

Parâmetros de caminho

product_idstringobrigatório
Identificador do produto.

Corpo da requisição

option_namestring
O nome da opção.
option_typestring
SRCITFD
Como a opção é exibida aos clientes (veja os tipos de opção acima).
positioninteger
A posição da opção entre as demais.
requiredstring
YN
Indica se o cliente precisa escolher esta opção antes de adicionar o produto ao carrinho.
commentstring
Texto de apoio exibido ao cliente para ajudar na escolha.
inventorystring
YN
Indica se esta opção afeta o controle de estoque.
variantsarray

As variantes da opção.

variant_namestring
O nome da variante.
positioninteger
A posição da variante.
modifier_typestring
AP
Como o preço muda: absoluto (A) ou percentual (P).
modifierstring
O valor que altera o preço do produto. Pode ser positivo ou negativo.
weight_modifierstring
O valor que altera o peso do produto. Pode ser positivo ou negativo.
statusstring
AD
Indica se a variante está ativa (A) ou desativada (D).
PUT/api/2.0/products/{product_id}/options/{option_id}Admin

Atualizar uma opção de um produto

Atualiza uma opção existente do produto.

Parâmetros de caminho

product_idstringobrigatório
Identificador do produto.
option_idstringobrigatório
Identificador da opção.
DELETE/api/2.0/products/{product_id}/options/{option_id}Admin

Excluir uma opção de um produto

Exclui uma opção do produto.

Parâmetros de caminho

product_idstringobrigatório
Identificador do produto.
option_idstringobrigatório
Identificador da opção.

Exemplo: criar uma opção de tamanho

POST /api/2.0/products/423/options com o corpo abaixo cria uma opção "Size" com quatro variantes para o produto 423.

bash
curl -X POST "$BASE_URL/api/2.0/products/423/options" \
  -u "$EMAIL:$API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "option_name": "Size",
  "option_type": "S",
  "position": 20,
  "required": "Y",
  "comment": "Please select your size",
  "inventory": "Y",
  "variants": [
    {
      "variant_name": "Small",
      "position": 10,
      "modifier_type": "A",
      "modifier": "0.00",
      "weight_modifier": "-0.20",
      "status": "A"
    },
    {
      "variant_name": "Medium",
      "position": 20,
      "modifier_type": "A",
      "modifier": "0.00",
      "weight_modifier": "0.00",
      "status": "A"
    },
    {
      "variant_name": "Large",
      "position": 30,
      "modifier_type": "A",
      "modifier": "2.00",
      "weight_modifier": "0.30",
      "status": "A"
    },
    {
      "variant_name": "Extra Large",
      "position": 40,
      "modifier_type": "A",
      "modifier": "5.00",
      "weight_modifier": "0.50",
      "status": "A"
    }
  ]
}'
Dica

Ao criar opções que afetam o estoque (com inventory=Y), atualize também as combinações de opções do produto, para que reflitam o estoque correto de cada combinação possível.

Trabalhando com combinações de opções

Quando há várias opções com controle de estoque ativado, é preciso gerenciar o estoque de combinações específicas de opções. Por exemplo, você pode ter 10 camisas "Azul" e "P", mas só 5 camisas "Vermelha" e "G".

As combinações de opções são gerenciadas por um endpoint separado, /api/2.0/products/{product_id}/options/combinations: o GET retorna todas as combinações de opções de um produto e o POST cria uma nova combinação com dados de estoque. Elas estão documentadas em Combinações de opções.

Importante

Quando um produto tem opções com inventory=Y, é preciso criar combinações de opções com níveis de estoque específicos. Caso contrário, os clientes não conseguem comprar o produto com essas combinações de opções.

Endpoints

MétodoPathFinalidadeAutenticaçãoPágina
GET/api/2.0/products/{product_id}/optionsListar as opções de um produtoHTTP BasicEsta página
GET/api/2.0/products/{product_id}/options/{option_id}Consultar uma opção de um produtoHTTP BasicEsta página
POST/api/2.0/products/{product_id}/optionsAdicionar uma opção a um produtoHTTP BasicEsta página
PUT/api/2.0/products/{product_id}/options/{option_id}Atualizar uma opção de um produtoHTTP BasicEsta página
DELETE/api/2.0/products/{product_id}/options/{option_id}Excluir uma opção de um produtoHTTP BasicEsta página
GET/api/optionsListar as opções de um produtoHTTP BasicListar opções
GET/api/options/{option_id}Consultar uma opçãoHTTP BasicConsultar uma opção
POST/api/options/Criar uma opçãoHTTP BasicCriar uma opção
PUT/api/options/{option_id}/Atualizar uma opçãoHTTP BasicAtualizar uma opção
DELETE/api/options/{option_id}Excluir uma opçãoHTTP BasicExcluir uma opção

Erros comuns e boas práticas

  • Não exija opções demais: muitas escolhas obrigatórias podem complicar o processo de compra.
  • Use nomes de opção claros, descritivos e fáceis de entender.
  • Use o campo comment para orientar o cliente nas escolhas.
  • Defina valores de position para que as opções apareçam em uma sequência lógica.
  • Aplique modificadores de preço que façam sentido para as variantes (por exemplo, materiais premium custam mais).
  • Mantenha a estrutura das opções consistente entre produtos semelhantes, para oferecer uma experiência de compra uniforme.

Próximos passos

Detalhes da opção
Todos os campos de uma opção.
Variantes da opção
Todos os campos de uma variante e como os modificadores funcionam.
Criar uma opção
A forma da API 1.0 de criar uma opção.
Anterior
Excluir uma exceção de opções
Próxima
Listar opções do produto
Nesta página
  • Como funciona
  • Tipos de opção
  • Estrutura de uma opção
  • Conceitos principais
  • Campos da opção
  • Campos da variante
  • Endpoints da API
  • Exemplo: criar uma opção de tamanho
  • Trabalhando com combinações de opções
  • Endpoints
  • Erros comuns e boas práticas
  • Próximos passos