Recursos nativos
Lista os recursos nativos configuráveis, lê o formulário de configuração de cada um e liga ou desliga os que permitem isso.
Alguns recursos já vêm embutidos na plataforma (Google Analytics, SEO, cashback, assinaturas...) e não aparecem no catálogo de módulos. Estas rotas servem a tela de Configurações > Recursos: settings entrega o formulário de cada recurso configurável e toggles lista e altera os recursos que podem ser ligados ou desligados por loja. Exigem manage_modules ou manage_settings.
Formulários de configuração
/api/v1/admin/core-features/settingsAdminRecursos nativos com campos configuráveis
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/core-features/settings" \
-H "Authorization: Bearer $TOKEN"Resposta
200Recursos
json
{
"features": [
{
"slug": "google-analytics",
"name": "Google Analytics",
"category": "analytics",
"config_schema": {
"fields": [
{
"key": "ga_measurement_id",
"label": "ID de medição",
"type": "text",
"required": true,
"description": "ex.: G-XXXXXXXXXX"
},
{
"key": "enable_ecommerce",
"label": "Ativar rastreamento de e-commerce",
"type": "boolean"
}
]
},
"settings": {
"enable_ecommerce": false,
"ga_measurement_id": "G-ABC123XYZ9"
}
}
]
}Campos da resposta
featuresarrayUm item por recurso nativo que tem campos de configuração.
features[].slugstringIdentificador do recurso, usado para ler e gravar suas configurações.
features[].namestringNome de exibição, em português.
features[].categorystringAgrupamento (
analytics, marketing, storefront, shipping, security...).features[].config_schemaobjectDescreve o formulário:
fields[] com key, label, type (text, boolean, number, password, select, multi_select...), required, default, description e, nos seletores, options[] com value e label.features[].settingsobjectValores salvos hoje, por
key. Vazio quando a loja ainda não configurou.Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_modules","manage_settings"]} |
| 500 | Catálogo de recursos indisponível. | {"error":"module catalog unavailable"} |
Listar chaves liga/desliga
/api/v1/admin/core-features/togglesAdminRecursos que podem ser ligados ou desligados
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/core-features/toggles" \
-H "Authorization: Bearer $TOKEN"Resposta
200Chaves
json
{
"toggles": [
{
"slug": "cashback",
"label": "Cashback",
"default_on": true,
"enabled": true
},
{
"slug": "vendor-debts",
"label": "Débitos de Fornecedores",
"default_on": false,
"enabled": false
}
]
}Campos da resposta
togglesarrayUm item por recurso:
vendor-debts, catalog-store, cashback, direct-payments, subscriptions, subscriptions-autocharge, subscriptions-dunning e order-documents.toggles[].slugstringIdentificador usado em Ligar ou desligar.
toggles[].labelstringNome de exibição, em português (texto devolvido pela API).
toggles[].default_onbooleanSe o recurso vem ligado quando a loja nunca mexeu.
toggles[].enabledbooleanEstado efetivo agora.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_modules","manage_settings"]} |
Ligar ou desligar
/api/v1/admin/core-features/toggles/{moduleSlug}AdminLiga ou desliga um recurso nativo
Parâmetros de caminho
moduleSlugstringobrigatórioslug de um item de Listar chaves liga/desliga. Qualquer outro valor é recusado.Corpo da requisição
enabledbooleanobrigatóriotrue liga, false desliga.Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/admin/core-features/toggles/cashback" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'Resposta
200Alterado
json
{
"module_slug": "cashback",
"enabled": true
}Campos da resposta
module_slugstringO recurso alterado.
enabledbooleanO novo estado.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_modules","manage_settings"]} |
| 400 | moduleSlug não é um recurso liga/desliga, corpo inválido ou falha ao gravar. | {"error":"not a configurable core feature","detail":"seo"} |