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

Características

O que são as características dos produtos (marca, cor, tamanho, peso), como viram filtros da loja e o mapa de todas as rotas.

Uma característica é um atributo que muitos produtos compartilham e que a loja quer cadastrar, exibir e filtrar de forma padronizada: marca, cor, tamanho, material, peso, voltagem, garantia. Você cria a característica uma vez (por exemplo, "Cor") e depois informa o valor dela em cada produto ("Vermelho"). É isso que alimenta a aba de informações adicionais da página do produto, a tabela de comparação e a barra de filtros da vitrine.

Esta seção documenta as rotas de administração de características (/api/v1/admin/features). Os grupos de características têm uma seção própria: Grupos de características.

Pontos-chave
  • Característica e "feature" são a mesma coisa. A plataforma e a API dizem feature. O painel em português diz Características. A rota /api/v1/admin/characteristics é um apelido em português das mesmas operações de /api/v1/admin/features: mesmo código, mesma tabela, mesmo corpo.
  • Uma característica tem um tipo (select, text, number, color...). Só os tipos com lista de opções (select, multi_select, brand, author, color) podem virar filtro da vitrine.
  • As opções de uma característica (Vermelho, Azul, P, M, G) se chamam variantes (variants) na API. Elas só existem nos tipos de lista.
  • Uma característica vale para todas as categorias ou só para as que você listar em categories_path.

Como funciona

Do cadastro ao filtro da vitrine

Criar o grupo→Criar a característica→Criar as opções→Informar o valor no produto→Filtro na vitrine
  1. Crie a característica

    Use Criar característica com um nome e um tipo. Para uma característica de lista (cor, tamanho, marca), crie também as opções com Opções de uma característica.

  2. Escolha onde ela vale

    Deixe categories_path vazio para valer em todas as categorias, ou informe os ids das categorias separados por vírgula. Se a característica pertence a um grupo, ela herda as categorias do grupo.

  3. Informe o valor em cada produto

    O valor mora no produto, não na característica. Você grava os valores de um produto com PUT /api/v1/admin/products/{id}/features (troca todos) ou acrescenta um com POST /api/v1/admin/products/{id}/characteristics. O corpo escolhe o campo certo para o tipo: variant_id para tipos de lista, value_text para texto, value_num para número, value_date para data. Essas rotas fazem parte da seção de produtos.

  4. Ligue o filtro

    Com filterable ligado, status ativo e pelo menos um produto com valor, a característica aparece na barra de filtros da categoria na vitrine, com a contagem de produtos por opção.

Tipos de característica

O tipo é sempre um nome, em minúsculas.

TipoO valor no produtoAparece como filtro
selectUma opção da lista (variant_id)Sim
multi_selectVárias opções da listaSim
colorUma opção da lista, cada uma com uma cor em hexadecimal (#FF0000)Sim, com amostras de cor
brandUma marca da lista. Cada marca tem página própria na vitrine (/brands)Sim
authorNome do criador ou autorSim
textTexto livre (value_text)Não
numberNúmero (value_num), com prefixo e sufixo de exibição, como kg ou cmNão
dateData (value_date, formato YYYY-MM-DD)Não
boolSim ou não (caixa de marcação)Não
groupNão guarda valor: é um grupo que reúne outras característicasNão

A coluna "Aparece como filtro" reflete o que a vitrine monta hoje: os filtros da loja só listam características dos tipos select, multi_select, brand, author e color. O campo filterable pode ser gravado em qualquer tipo, mas nos demais não produz filtro.

Grupos

Um grupo agrupa características parecidas sob um título ("Dimensões" reúne Largura, Altura, Profundidade e Peso). Na página do produto e no cadastro, as características aparecem organizadas por grupo. Um grupo é, no armazenamento, uma característica com feature_type igual a group; as características filhas apontam para ele em group_id. Veja Grupos de características.

Status

O status da característica é uma letra de 1 caractere. A API aceita também a palavra por extenso na escrita e nos filtros.

LetraPalavra aceitaSignificado
AactiveAtiva. Aparece no cadastro, na página do produto (se display_on_product) e nos filtros.
HhiddenOculta da vitrine. Continua no cadastro.
DdisabledDesativada.

Como a característica aparece na vitrine

Três botões independentes controlam isso, todos booleanos:

CampoO que faz
display_on_productMostra o valor na página do produto (aba de informações adicionais).
display_on_catalogMostra o valor como selo nos cartões de produto das listagens.
comparableInclui a característica na tabela de comparação de produtos.

E um quarto, filterable, decide se ela vira filtro (veja acima).

Para que serve purpose

O campo purpose liga a característica ao mecanismo de variações de produto (o mesmo produto em várias cores e tamanhos). Os valores aceitos são três:

ValorUso
vazio ("")Característica comum, sem relação com variações.
group_catalog_itemCada opção gera um item de catálogo distinto, como a Cor.
group_variation_catalog_itemCada opção gera uma subvariação dentro do item, como o Tamanho.

Textos em vários idiomas

O name e o description da característica são guardados no idioma padrão da loja. Para traduzir, envie descriptions na criação ou na alteração, um objeto cujas chaves são os códigos de idioma (en, es, pt-BR...) e cujos valores têm name e description. Para ler todas as traduções de uma vez, consulte a característica com ?include_descriptions=1. Um grupo só tem name traduzido. As marcas (opções de uma característica brand) têm descrição própria por idioma, veja Opções de uma característica.

Ids, datas e formatos

  • Todo id (característica, opção, grupo, produto) é um UUID em string.
  • As datas são RFC 3339 em UTC.
  • Os booleanos são true ou false.
  • Dinheiro não aparece nesta seção.

Autenticação e permissão

AutenticaçãoBearer JWT (POST /api/v1/auth/login)
PermissãoPrivilégio manage_features, exigido também para leitura
Erros{"error":"...","detail":"..."}
Lista{"features":[...],"total","page","per_page","total_pages"}
Identificação da lojaSubdomínio da loja ou cabeçalho X-Tenant-ID

Endpoints

Todas as rotas exigem administrador. O privilégio é manage_features.

MétodoRotaO que fazPágina
GET/api/v1/admin/features, /api/v1/admin/characteristicsLista característicasListar características
GET/api/v1/admin/features/{id}, /api/v1/admin/characteristics/{id}Consulta uma característicaConsultar característica
POST/api/v1/admin/features, /api/v1/admin/characteristicsCria característicaCriar característica
PUT, PATCH/api/v1/admin/features/{id}, /api/v1/admin/characteristics/{id}Altera característicaAlterar característica
DELETE/api/v1/admin/features/{id}, /api/v1/admin/characteristics/{id}Exclui característicaExcluir característica
POST/api/v1/admin/features/bulk-delete, /api/v1/admin/characteristics/bulk-deleteExclui váriasExcluir característica
GET, POST/api/v1/admin/features/{id}/variantsLista e cria opçõesOpções de uma característica
PUT, DELETE/api/v1/admin/feature-variants/{id}Altera e exclui uma opçãoOpções de uma característica
GET, POST, PUT/api/v1/admin/features/{id}/synonymsDicionário de sinônimosSinônimos de valores
POST/api/v1/admin/features/{id}/synonyms/removeRemove um sinônimoSinônimos de valores
POST/api/v1/admin/features/seed-defaultsCadastra as características padrãoCaracterísticas padrão
GET, POST/api/v1/admin/feature-groups, /api/v1/admin/characteristic-groupsLista e cria gruposGrupos de características
GET, PUT, PATCH, DELETE/api/v1/admin/feature-groups/{id}, /api/v1/admin/characteristic-groups/{id}Consulta, altera e exclui um grupoGrupos de características

Erros comuns

  1. Esperar as opções na lista. A lista de características não traz as opções. Para ver as opções, consulte a característica por id ou use GET /api/v1/admin/features/{id}/variants.
  2. Mandar um tipo desconhecido. Só valem os tipos da tabela acima (select, multi_select, color, brand, author, text, number, date, bool e group). Um tipo fora da lista volta 500.
  3. Esquecer de ligar o filtro. filterable, os botões de exibição e categories_path nascem desligados ou vazios. Informe-os já na criação.
  4. Excluir uma característica que ainda está em uso. Se algum produto tem valor nela, a exclusão é recusada com 409. Tire o valor dos produtos primeiro.
  5. Cadastrar a mesma opção duas vezes. Nome de característica é único por tipo e valor de opção é único por característica, sem diferenciar maiúsculas de minúsculas. A repetição volta 409.
  6. Estranhar as opções em minúsculas. Ao criar uma opção, a plataforma passa o texto para minúsculas, tira espaços repetidos e troca sinônimos cadastrados pela opção oficial. "Vermelho Escuro" vira vermelho escuro. Na alteração, o texto é gravado como você enviou.
  7. Mandar id inválido. Um id que não é UUID volta 500 em vez de 400. Valide o id antes de chamar.

Próximos passos

Criar característica
Cadastre Cor, Tamanho, Marca ou qualquer atributo.
Opções de uma característica
Crie as opções e as cores das amostras.
Grupos de características
Organize as características em blocos.
Características padrão
Comece com o conjunto pronto para o varejo brasileiro.
Anterior
Ficha técnica da categoria
Próxima
Listar características
Nesta página
  • Como funciona
  • Do cadastro ao filtro da vitrine
  • Tipos de característica
  • Grupos
  • Status
  • Como a característica aparece na vitrine
  • Para que serve purpose
  • Textos em vários idiomas
  • Ids, datas e formatos
  • Autenticação e permissão
  • Endpoints
  • Erros comuns
  • Próximos passos