Características
Lista as características de produto da loja e os valores permitidos de cada uma, para o seller escolher ao cadastrar produtos.
Listar características
Devolve as características ativas da loja. Por padrão só vêm as que servem de eixo de variação ou seleção (select, multi_select e brand); passe feature_type=all para todas. O seller não cria nem altera características: isso é do administrador.
/api/v1/vendor/featuresSellerListar características
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário do painel do seller (lojista), obtido no login (veja Tokens).Parâmetros de consulta
feature_typestringTipo a listar. Omitido, vêm
select, multi_select e brand. all traz todos os tipos.searchstringTexto procurado no nome.
category_iduuidSó as características que valem para esta categoria (ou para todas).
pageintegerpadrão: 1Página, a partir de 1.
per_pageintegerpadrão: 100Itens por página. Padrão 100, máximo 100.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/vendor/features?feature_type=select&per_page=50" \
-H "Authorization: Bearer $TOKEN"Resposta
200Características
json
{
"features": [
{
"id": "dfae5ba1-09d3-41c1-85dc-be137fb5b61c",
"name": "Material",
"code": "",
"feature_type": "select",
"description": "",
"purpose": "group_catalog_item",
"prefix": "",
"suffix": "",
"categories_path": "795ac349-83c1-4bcc-a64a-3317bf84ab5e,47377eee-567c-46f0-83d6-e46f224af80c",
"display_on_product": true,
"display_on_catalog": false,
"filterable": false,
"comparable": true,
"position": 0,
"status": "A",
"created_at": "2026-07-19T09:03:39.153946Z",
"updated_at": "2026-10-11T03:11:17.679394Z",
"feature_id": "dfae5ba1-09d3-41c1-85dc-be137fb5b61c",
"feature": "Material",
"timestamp": 1784451819,
"updated_timestamp": 1791688277
}
],
"total": 11,
"page": 1,
"per_page": 50,
"total_pages": 1
}Campos da resposta
totalintegerTotal de características que atendem ao filtro.
pageintegerPágina.
per_pageintegerItens por página.
total_pagesintegerTotal de páginas.
featuresarrayCaracterísticas da página.
features[].iduuidId da característica.
features[].namestringNome mostrado ao cliente.
features[].codestringCódigo interno. Pode ser vazio.
features[].feature_typestringTipo:
select, multi_select, brand, author, color, text, number, date, bool ou group.features[].purposestringPapel nas variações do produto:
group_catalog_item (gera itens de catálogo distintos, como Cor), group_variation_catalog_item (gera variações dentro do item, como Tamanho) ou vazio.features[].prefixstringPrefixo de exibição (por exemplo
R$).features[].suffixstringSufixo de exibição (por exemplo
kg).features[].categories_pathstringIds de categoria onde a característica vale, separados por vírgula. Vazio, vale em todas.
features[].display_on_productbooleanAparece na página do produto.
features[].display_on_catalogbooleanAparece nas listas de produtos.
features[].filterablebooleanPode ser usada como filtro.
features[].comparablebooleanAparece na comparação de produtos.
features[].positionintegerOrdem de exibição.
features[].statusstringSituação (letra):
A ativa, H oculta.features[].group_iduuidCaracterística-grupo pai. Ausente se não houver.
features[].feature_iduuidApelido de
id, mantido por compatibilidade com a plataforma 1.0.features[].featurestringApelido de
name (compatibilidade 1.0).features[].timestampintegerCriação em Unix (segundos). Compatibilidade 1.0.
features[].updated_timestampintegerÚltima alteração em Unix (segundos).
features[].created_atstringRFC 3339.
features[].updated_atstringRFC 3339.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} / {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller (por exemplo, é de um administrador da loja). | {"error":"insufficient permissions"} |
| 403 | O cadastro do seller ainda está em análise (só a tela de cadastro funciona até a aprovação). | {"error":"vendor_pending_review","message":"..."} |
| 403 | O usuário tem papel de seller, mas não está ligado a nenhum seller. | {"error":"no vendor account associated with this user"} |
| 403 | O usuário da equipe do seller não tem nenhum dos privilégios exigidos: vendor_catalog, vendor_view_catalog, vendor_manage_products, vendor_manage_master, vendor_manage_mix, vendor_manage_quotes, vendor_manage_features, vendor_import_products. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog","vendor_view_catalog","vendor_manage_products","vendor_manage_master","vendor_manage_mix","vendor_manage_quotes","vendor_manage_features","vendor_import_products"]} |
| 500 | Falha ao listar (inclui category_id que não é UUID). | {"error":"failed to list features","detail":"..."} |
Valores de uma característica
Devolve os valores permitidos de uma característica de lista (por exemplo, Cor: Azul, Verde). Característica de valor livre devolve lista vazia.
/api/v1/vendor/features/{id}/variantsSellerListar os valores de uma característica
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário do painel do seller (lojista), obtido no login (veja Tokens).Parâmetros de caminho
iduuidobrigatórioId da característica.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/vendor/features/$FEATURE_ID/variants" \
-H "Authorization: Bearer $TOKEN"Resposta
200Valores
json
{
"variants": [
{
"id": "d6befb0c-4d7b-4f23-af05-74a402108cc7",
"feature_id": "dfae5ba1-09d3-41c1-85dc-be137fb5b61c",
"value": "algodão",
"code": "",
"position": 0,
"created_at": "2026-07-19T20:23:02.039066Z",
"variant_id": "d6befb0c-4d7b-4f23-af05-74a402108cc7",
"variant": "algodão",
"timestamp": 1784492582
}
],
"total": 1
}Campos da resposta
variantsarrayValores da característica.
variants[].iduuidId do valor.
variants[].feature_iduuidCaracterística dona.
variants[].valuestringTexto do valor.
variants[].codestringCódigo interno.
variants[].positionintegerOrdem.
variants[].image_urlstringImagem do valor (amostra de cor, logo da marca). Ausente se não houver.
variants[].colorstringCor do valor. Ausente se não houver.
variants[].variant_iduuidApelido de
id (compatibilidade 1.0).variants[].variantstringApelido de
value (compatibilidade 1.0).variants[].timestampintegerCriação em Unix (segundos).
variants[].created_atstringRFC 3339.
totalintegerQuantidade de valores.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} / {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller (por exemplo, é de um administrador da loja). | {"error":"insufficient permissions"} |
| 403 | O cadastro do seller ainda está em análise (só a tela de cadastro funciona até a aprovação). | {"error":"vendor_pending_review","message":"..."} |
| 403 | O usuário tem papel de seller, mas não está ligado a nenhum seller. | {"error":"no vendor account associated with this user"} |
| 403 | O usuário da equipe do seller não tem nenhum dos privilégios exigidos: vendor_catalog, vendor_view_catalog, vendor_manage_products, vendor_manage_master, vendor_manage_mix, vendor_manage_quotes, vendor_manage_features, vendor_import_products. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog","vendor_view_catalog","vendor_manage_products","vendor_manage_master","vendor_manage_mix","vendor_manage_quotes","vendor_manage_features","vendor_import_products"]} |
| 500 | id que não é UUID, ou falha ao consultar. | {"error":"failed to get feature variants","detail":"..."} |