Chaves de recursos
Lê e liga ou desliga as chaves de recursos da loja, como lista de desejos, blog e modo multi-seller.
As feature flags são interruptores por loja. Cada chave liga ou desliga um recurso inteiro: com a chave desligada, as rotas daquele recurso deixam de funcionar para a loja. Ambas as rotas exigem especificamente o privilégio manage_settings.
Ler as chaves
/api/v1/admin/feature-flagsAdminEstado de todas as chaves
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/feature-flags" \
-H "Authorization: Bearer $TOKEN"Resposta
200Chaves
json
{
"wishlists": true,
"bestsellers": false,
"banners": true,
"seo": true,
"promotions": true,
"multi_vendor": true,
"blog": false,
"newsletter": false,
"live_chat": false,
"order_audit_log": false,
"soft_delete": false,
"field_masking": false,
"cdn_support": false,
"categories_by_vendor": true,
"product_premoderation": true,
"vendor_debt_payout": false,
"vendor_categories_fee": false,
"master_products": true,
"realtime_order_notify": true
}Campos da resposta
wishlistsbooleanLista de desejos da vitrine.
bestsellersbooleanRecurso de mais vendidos.
bannersbooleanBanners promocionais.
seobooleanRecursos de SEO.
promotionsbooleanMotor de promoções.
multi_vendorbooleanObsoleta. Foi substituída pela configuração de cadastro de sellers e é mantida só para dados já gravados.
blogbooleanBlog da loja.
newsletterbooleanRecurso de newsletter.
live_chatbooleanChat ao vivo.
order_audit_logbooleanAuditoria de alterações em pedidos.
categories_by_vendorbooleanCada seller tem suas próprias categorias. Padrão:
false.product_premoderationbooleanModeração: produtos de sellers passam por aprovação do admin antes de ir ao ar. Padrão:
true.product_premoderation_updatesbooleanEstende a moderação às edições de produtos que já estão no ar. Só tem efeito com
product_premoderation ligada. Padrão: true; ausente na resposta enquanto ninguém decidiu explicitamente.vendor_debt_payoutbooleanRecurso de pagamento de débitos de sellers. Padrão:
false.vendor_categories_feebooleanTaxa por categoria do seller. Padrão:
false.master_productsbooleanProdutos master. Padrão:
false.realtime_order_notifybooleanNotificação de pedido em tempo real. Padrão:
true.master_products_list_masters_onlybooleanSomente leitura aqui: com produtos mestre ligados, a vitrine lista só o cartão do mestre, não cada oferta. Aparece apenas quando é
true e não pode ser alterado por esta rota.soft_delete / field_masking / cdn_supportbooleanAposentadas. Continuam aparecendo na leitura, mas não fazem nada e não podem mais ser alteradas.
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_settings"]} |
| 500 | Falha ao ler. | {"error":"failed to get features","detail":"..."} |
Alterar uma chave
/api/v1/admin/feature-flags/{key}AdminLiga ou desliga uma chave
Parâmetros de caminho
keystringobrigatóriowishlistsbestsellersbannersseopromotionsmulti_vendorblognewsletterlive_chatorder_audit_logcategories_by_vendorproduct_premoderationproduct_premoderation_updatesvendor_debt_payoutvendor_categories_feemaster_productsrealtime_order_notifyNome da chave, como aparece na leitura. As aposentadas não são aceitas.
Corpo da requisição
enabledbooleanobrigatóriotrue liga, false desliga. Se omitido vale false: a chave é desligada.Exemplo de requisição
bash
curl -X PATCH "$BASE_URL/api/v1/admin/feature-flags/blog" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'Resposta
200Chaves atualizadas
json
{
"wishlists": true,
"bestsellers": false,
"banners": true,
"seo": true,
"promotions": true,
"multi_vendor": true,
"blog": false,
"newsletter": false,
"live_chat": false,
"order_audit_log": false,
"soft_delete": false,
"field_masking": false,
"cdn_support": false,
"categories_by_vendor": true,
"product_premoderation": true,
"vendor_debt_payout": false,
"vendor_categories_fee": false,
"master_products": true,
"realtime_order_notify": true
}O corpo é o conjunto completo de chaves depois da mudança, no mesmo formato da leitura.
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_settings"]} |
| 400 | Chave desconhecida, ou corpo inválido. | {"error":"unknown feature key","detail":"bloggg"} |
| 410 | Chave aposentada (soft_delete, field_masking, cdn_support). Nada é gravado. | {"error":"feature flag deprecated","detail":"soft_delete"} |
| 500 | Falha ao gravar. | {"error":"failed to update feature","detail":"..."} |