VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Variações e opções

Valores de opção

Lista, cria, altera e exclui os valores escolhíveis de uma opção de compra, com ajuste de preço e peso.

Cada valor é uma escolha da opção (P, M, G...) e pode somar ou subtrair do preço e do peso do produto. Na rota, esses valores se chamam variants, mas não são as variações (produtos filhos) de Variações.

Listar

GET/api/v1/vendor/products/{id}/options/{optionId}/variantsSeller

Listar os valores de uma opção

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 produto.
optionIdstring (uuid)obrigatório
Id da opção.

Exemplo de requisição (listar)

bash
curl "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/options/$OPTION_ID/variants" \
  -H "Authorization: Bearer $TOKEN"

Resposta (listar)

200Valores
json
{
  "variants": [
    {
      "id": "a1b2c3d4-0002-4aaa-8bbb-111122223333",
      "option_id": "a1b2c3d4-0001-4aaa-8bbb-111122223333",
      "value": "M",
      "price_modifier": 0,
      "price_modifier_type": "absolute",
      "weight_modifier": 0,
      "weight_modifier_type": "absolute",
      "sku_suffix": "-M",
      "position": 0
    }
  ]
}

Campos da resposta

variantsarray

Valores da opção.

idstring (uuid)
Id do valor.
option_idstring (uuid)
Opção dona.
valuestring
Texto do valor, como M ou Vermelho.
price_modifierinteger
Ajuste de preço: centavos se absolute, pontos-base (1000 = 10%) se percentage. Pode ser negativo.
price_modifier_typestring
absolutepercentage
Tipo do ajuste de preço.
weight_modifierinteger
Ajuste de peso: gramas se absolute, pontos-base se percentage.
weight_modifier_typestring
absolutepercentage
Tipo do ajuste de peso.
sku_suffixstring
Sufixo somado ao SKU do produto no pedido.
positioninteger
Ordem de exibiçã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_catalog"]}
403O produto existe mas é de outro seller (ou da loja).{"error":"you do not have access to this product"}
404A opção não existe.{"error":"option not found"}

Criar

POST/api/v1/vendor/products/{id}/options/{optionId}/variantsSeller

Criar um valor

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 produto.
optionIdstring (uuid)obrigatório
Id da opção.

Corpo da requisição

valuestringobrigatório
Texto do valor.
price_modifierintegerpadrão: 0
Ajuste de preço. Positivo = acréscimo, negativo = desconto.
price_modifier_typestringpadrão: absolute
absolutepercentage
absolute (centavos) ou percentage (pontos-base).
weight_modifierintegerpadrão: 0
Ajuste de peso.
weight_modifier_typestringpadrão: absolute
absolutepercentage
absolute (gramas) ou percentage (pontos-base).
sku_suffixstring
Sufixo do SKU.
positioninteger
Ordem de exibição.

Exemplo de requisição (criar)

bash
curl -X POST "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/options/$OPTION_ID/variants" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "value": "G",
  "price_modifier": 500,
  "price_modifier_type": "absolute",
  "sku_suffix": "-G",
  "position": 2
}'

Resposta (criar)

201Valor criado
json
{
  "id": "a1b2c3d4-0002-4aaa-8bbb-111122223333",
  "option_id": "a1b2c3d4-0001-4aaa-8bbb-111122223333",
  "value": "G",
  "price_modifier": 500,
  "price_modifier_type": "absolute",
  "weight_modifier": 0,
  "weight_modifier_type": "absolute",
  "sku_suffix": "-G",
  "position": 2
}

Campos da resposta

idstring (uuid)
Id do valor.
option_idstring (uuid)
Opção dona.
valuestring
Texto do valor, como M ou Vermelho.
price_modifierinteger
Ajuste de preço: centavos se absolute, pontos-base (1000 = 10%) se percentage. Pode ser negativo.
price_modifier_typestring
absolutepercentage
Tipo do ajuste de preço.
weight_modifierinteger
Ajuste de peso: gramas se absolute, pontos-base se percentage.
weight_modifier_typestring
absolutepercentage
Tipo do ajuste de peso.
sku_suffixstring
Sufixo somado ao SKU do produto no pedido.
positioninteger
Ordem de exibição.

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_catalog"]}
400value vazio.{"error":"variant value is required"}
403O produto existe mas é de outro seller (ou da loja).{"error":"you do not have access to this product"}
500Opção inexistente.{"error":"failed to create variant","detail":"..."}

Alterar

PUT/api/v1/vendor/products/{id}/options/{optionId}/variants/{variantId}Seller

Alterar um valor

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 produto.
optionIdstring (uuid)obrigatório
Id da opção.
variantIdstring (uuid)obrigatório
Id do valor.

Corpo da requisição

valuestring
Novo texto.
price_modifierinteger
Novo ajuste de preço.
price_modifier_typestring
absolutepercentage
Tipo do ajuste.
weight_modifierinteger
Novo ajuste de peso.
weight_modifier_typestring
absolutepercentage
Tipo do ajuste de peso.
sku_suffixstring
Novo sufixo.
positioninteger
Nova ordem.

Exemplo de requisição (alterar)

bash
curl -X PUT "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/options/$OPTION_ID/variants/$VARIANT_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "price_modifier": 700
}'

Resposta (alterar)

200Valor alterado
json
{
  "id": "a1b2c3d4-0002-4aaa-8bbb-111122223333",
  "option_id": "a1b2c3d4-0001-4aaa-8bbb-111122223333",
  "value": "M",
  "price_modifier": 700,
  "price_modifier_type": "absolute",
  "weight_modifier": 0,
  "weight_modifier_type": "absolute",
  "sku_suffix": "-M",
  "position": 0
}

Campos da resposta

idstring (uuid)
Id do valor.
option_idstring (uuid)
Opção dona.
valuestring
Texto do valor, como M ou Vermelho.
price_modifierinteger
Ajuste de preço: centavos se absolute, pontos-base (1000 = 10%) se percentage. Pode ser negativo.
price_modifier_typestring
absolutepercentage
Tipo do ajuste de preço.
weight_modifierinteger
Ajuste de peso: gramas se absolute, pontos-base se percentage.
weight_modifier_typestring
absolutepercentage
Tipo do ajuste de peso.
sku_suffixstring
Sufixo somado ao SKU do produto no pedido.
positioninteger
Ordem de exibição.

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_catalog"]}
400Valor inexistente ou corpo sem campo para alterar.{"error":"option value not found"}
403O produto existe mas é de outro seller (ou da loja).{"error":"you do not have access to this product"}

Excluir

DELETE/api/v1/vendor/products/{id}/options/{optionId}/variants/{variantId}Seller

Excluir um valor

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 produto.
optionIdstring (uuid)obrigatório
Id da opção.
variantIdstring (uuid)obrigatório
Id do valor.

Exemplo de requisição (excluir)

bash
curl -X DELETE "$BASE_URL/api/v1/vendor/products/$PRODUCT_ID/options/$OPTION_ID/variants/$VARIANT_ID" \
  -H "Authorization: Bearer $TOKEN"

Resposta (excluir)

200Valor excluído
json
{
  "message": "variant 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_catalog"]}
403O produto existe mas é de outro seller (ou da loja).{"error":"you do not have access to this product"}
404Valor inexistente.{"error":"variant not found"}
Ajuste percentual

Com price_modifier_type: "percentage", 1000 soma 10% ao preço. Um valor negativo dá desconto: -500 tira 5%.

Veja também

  • Variações e opções: visão geral
  • Produtos do seller
Anterior
Opções de compra
Próxima
Variações
Nesta página
  • Listar
  • Exemplo de requisição (listar)
  • Resposta (listar)
  • Erros (listar)
  • Criar
  • Exemplo de requisição (criar)
  • Resposta (criar)
  • Erros (criar)
  • Alterar
  • Exemplo de requisição (alterar)
  • Resposta (alterar)
  • Erros (alterar)
  • Excluir
  • Exemplo de requisição (excluir)
  • Resposta (excluir)
  • Erros (excluir)
  • Veja também