VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Configurações da loja

Configurações por seção

Lê todas as configurações da loja de uma vez e grava uma seção por vez, com mesclagem dos campos enviados.

GET /settings devolve as configurações da loja organizadas em seções (general, checkout, payment...). PUT /settings grava uma seção por vez. É a rota por trás das telas de Configurações do painel.

Exigem o privilégio manage_settings.

A leitura traz segredos em texto aberto

A resposta do GET inclui credenciais como a senha do SMTP (notification.smtp_password) e o token da integração fiscal (focusnfe.api_token). Não registre essa resposta em log, não a repasse a terceiros e dê o privilégio manage_settings só a quem precisa.

Ler as configurações

GET/api/v1/admin/settingsAdmin

Ler todas as seções de configuração

Sem parâmetros. Devolve um objeto com uma chave por seção.

bash
curl "$BASE_URL/api/v1/admin/settings" \
  -H "Authorization: Bearer $TOKEN"
200Configurações (resumo)
json
{
  "general": { "store_name": "Loja Exemplo", "store_email": "contato@loja.example.com", "currency": "BRL", "language": "pt-BR", "timezone": "America/Sao_Paulo" },
  "checkout": { "min_order_amount": 5000, "allow_guest_checkout": true, "one_step_checkout": false },
  "payment": { "default_gateway": "", "enable_pix": true, "pix_discount_percent": 500, "max_installments": 12, "min_installment_value": 500, "interest_rate": 0, "free_installments": 3 },
  "shipping": { "default_method": "standard", "free_ship_min": 19900, "enable_tracking": true },
  "notification": { "order_confirmation": true, "admin_email": "admin@loja.example.com", "smtp_host": "smtp.example.com", "smtp_port": 587 }
}

A resposta real traz as 12 seções: general, features, checkout, payment, shipping, notification, storefront_filters, security, appearance, vendors, focusnfe e order_timeline.

Gravar uma seção

PUT/api/v1/admin/settingsAdmin

Gravar os campos de uma seção

Grava os campos de data dentro da seção section. A gravação mescla: as chaves que você manda são atualizadas, as outras ficam como estão. Valores null são ignorados (nunca apagam). Se a chave já existe, o novo valor é convertido para o mesmo tipo (um "12" vira 12 onde o campo é número).

Corpo da requisição

sectionstringobrigatório
generalfeaturescheckoutpaymentshippingnotificationstorefront_filterssearchfocusnfesecurityappearancevendorssocial_proofprice_transparencyproduct_qapdp_mediafbtreview_rewardsorder_timeline
Seção a gravar.
dataobjectobrigatório
Campos da seção a atualizar. Só as chaves enviadas mudam.
bash
curl -X PUT "$BASE_URL/api/v1/admin/settings" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"section":"payment","data":{"max_installments":10,"pix_discount_percent":500}}'
200Seção gravada
json
{ "message": "settings updated" }

Campos de cada seção

Dinheiro em centavos inteiros. Porcentagens de juros e do PIX em pontos-base (500 = 5%).

general

CampoTipoSignificado
store_nametextoNome da loja.
store_email, support_email, support_phonetextoContatos exibidos.
dpo_name, dpo_email, dpo_phonetextoEncarregado de dados (LGPD), citado na política de privacidade padrão.
currency, language, timezonetextoMoeda (BRL), idioma (pt-BR) e fuso.
logo_url, favicon_urltextoLogo e favicon.
category_include_childrenbooleanoAo filtrar por categoria, inclui os produtos das subcategorias.
hide_empty_categoriesbooleanoEsconde categorias sem produtos.
simple_registrationbooleanoCadastro só com contato (nome, e-mail, telefone, CPF/CNPJ); o endereço fica para depois.
company_year_startedinteiroAno de fundação, usado em rodapés de e-mail.
admin_primary_color, vendor_primary_color, seller_primary_colortextoCor de destaque (hexadecimal) do painel do administrador, do painel do seller e do app de campo. Vazio herda a anterior.
seller_monthly_goal_centsinteiroMeta mensal de vendas exibida no app de campo, em centavos.

payment

CampoTipoSignificado
default_gatewaytextoMeio de pagamento padrão.
enable_pix, enable_boleto, enable_cardbooleanoLiga cada forma de pagamento.
pix_discount_percentinteiroDesconto do PIX em pontos-base (500 = 5%, 0 = sem desconto). Aplicado pelo servidor ao pagar com PIX.
max_installmentsinteiroMáximo de parcelas (padrão 12).
min_installment_valueinteiroValor mínimo da parcela, em centavos (padrão 500).
interest_rateinteiroJuros mensais em pontos-base (150 = 1,5%; 0 = sem juros).
free_installmentsinteiroQuantas parcelas sem juros (padrão 3).

shipping

CampoTipoSignificado
default_methodtextoForma de envio padrão.
free_ship_mininteiroTotal do pedido, em centavos, a partir do qual o frete é grátis.
enable_trackingbooleanoLiga o rastreamento.

notification

CampoTipoSignificado
order_confirmation, shipping_update, promotion_emailsbooleanoQuais avisos a loja envia ao cliente.
admin_emailtextoE-mail geral da equipe. Departamentos sem e-mail próprio usam este.
orders_department_email, users_department_email, help_department_email, newsletter_reply_to_emailtextoE-mails por departamento e de resposta da newsletter.
smtp_host, smtp_port, smtp_username, smtp_password, smtp_encryptiontexto e inteiroServidor de envio. smtp_encryption: tls, starttls ou none. Usuário e senha andam juntos: informar só um dos dois é recusado com 400.
from_name, from_addresstextoRemetente dos e-mails.

checkout

CampoTipoSignificado
min_order_amountinteiroPedido mínimo, em centavos.
min_order_includes_destinationbooleanoQuando true, o pedido mínimo da área de entrega do cliente também entra no mínimo efetivo, por grupo de seller. Padrão false: o mínimo da área só libera o frete.
allow_guest_checkout, allow_guest_cart, allow_guest_view_pricebooleanoCompra, carrinho e visualização de preço sem login.
allow_shopping_unloggedbooleanofalse exige login desde o início (site, mini-loja e atendente de WhatsApp).
one_step_checkoutbooleanoCheckout em uma única página.
allow_multiple_addressesbooleanoEndereços de cobrança e entrega separados.
min_qty_per_product, max_qty_per_productinteiroLimites por produto no carrinho (0 = sem limite).
checkout_from_cart_only, estimate_shipping_on_cart, group_cart_by_vendorbooleanoExige passar pelo carrinho; estima frete no carrinho; agrupa itens por seller.
use_single_coupon, unified_discount_code_fieldbooleanoUm único cupom por carrinho; um só campo para cupom, voucher e vale-presente.
prices_include_tax, disable_tax_enginebooleanoPreços já com imposto; desliga o cálculo de impostos.
terms_required, terms_text, terms_page_slugbooleano e textoAceite de termos no pedido: se é obrigatório, o texto ao lado da caixa (aceita HTML) e a página de CMS com o texto completo.
customer_cancellation_enabledbooleanoMostra ao cliente a ação de pedir cancelamento.
customer_cancellation_auto_until_status, customer_cancellation_auto_days, customer_cancellation_auto_refundtexto, inteiro, booleanoAté qual status e quantos dias o cancelamento é automático, e se reembolsa.
customer_cancellation_requested_status, customer_cancellation_approved_status, customer_cancellation_allow_review_after_limittexto, booleanoStatus do pedido durante e depois do pedido de cancelamento; permite pedir revisão após o limite.
require_address_number, require_address_districtbooleanoExige número e bairro no endereço.
cep_consistencytextooff (padrão) ou block: com block, recusa endereço cujo CEP não bate com UF, cidade e bairro.
qty_tier_ruletextoComo a quantidade é precificada nas faixas de preço: lowest (padrão, o menor preço entre as faixas atingidas) ou highest_quantity (a faixa da maior quantidade atingida).
offer_account_after_order, offer_passkey_after_orderbooleanoOferece criar conta ou passkey após o pedido.
disable_rep_price_override, disable_catalog_delivery_filterbooleanoDesliga a edição de preço pelo representante; desliga o filtro por área de entrega.
customer_invoice_emailbooleanoDeixa o cliente enviar o PDF do pedido por e-mail.
allow_seller_chatbooleanoChat com o seller durante o checkout.

features

Todos booleanos: wishlists, bestsellers, banners, seo, promotions, blog, newsletter, live_chat, order_audit_log, categories_by_vendor, product_premoderation, product_premoderation_updates, vendor_debt_payout, vendor_categories_fee, master_products, master_products_list_masters_only, realtime_order_notify. As chaves multi_vendor, soft_delete, field_masking e cdn_support são antigas e sem efeito.

vendors

CampoTipoSignificado
allow_vendor_registrationbooleanoPermite que usuários peçam conta de seller.
display_product_vendorbooleanoMostra o seller na página do produto.
review_vendors_before_accessbooleanoExige revisão do administrador antes de liberar o painel ao seller.
vendors_per_pageinteiroSellers por página (padrão 12).
marketplace_payments_enabledbooleanoModo de pagamento de marketplace: divisão do pagamento com sellers, cobrança de comissão e repasses. Desligado, a loja é só um catálogo multi-seller.
require_kyc_for_payoutsbooleanoExige verificação (KYC) aprovada para pedir repasse.
default_settlement_term_days, default_settlement_term_anchorinteiro, textoPrazo padrão de repasse do boleto faturado e a âncora: payment (conta da confirmação do pagamento) ou per_installment (conta do vencimento de cada parcela do cliente).
require_product_barcode, unique_product_barcodebooleanoCódigo de barras obrigatório; código de barras único (conflito dá 409).
hidden_product_fieldslista de textoCampos do formulário de produto que a operação não usa e o painel esconde.

storefront_filters

enable_price_filter, enable_brand_filter, enable_feature_filters, enable_vendor_filter, enable_stock_filter, enable_free_shipping_filter (booleanos); price_filter, stock_filter, free_shipping_filter, vendor_filter (booleanos) com os respectivos *_name (rótulos); e feature_display_names (mapa de id de característica para o rótulo exibido).

security

reCAPTCHA (recaptcha_site_key, recaptcha_secret_key, recaptcha_min_score), entrada com Google (google_enabled, google_client_id, google_client_secret, google_redirect_uri, google_admin_login, google_vendor_login), entrada com Facebook para clientes (facebook_enabled, facebook_app_id, facebook_app_secret, facebook_redirect_uri), require_email_verification e login_identity (email, phone ou both).

order_timeline, appearance e focusnfe

order_timeline tem enabled e a lista steps (as etapas da barra do pedido). appearance está em Preferências de exibição. focusnfe guarda a integração fiscal: api_token, cnpj, environment, dados cadastrais e endereço da empresa, regime_tributario, auto_issue_on_complete e webhook_secret.

Erros

StatusQuandoCorpo de exemplo
400Corpo que não é JSON.{"error":"invalid request body","detail":"..."}
400Sem section, sem data, ou seção desconhecida. O detail ensina a forma do corpo e lista as seções.{"error":"section is required","detail":"o corpo de PUT /settings é {\"section\":\"<seção>\",\"data\":{...}}, ..."}
400Dados que a seção recusa por incoerência (por exemplo SMTP com senha e sem usuário, ou o contrário; ou status de cancelamento que não existe nos status da loja).{"error":"O usuário do SMTP (smtp_username) ficaria em branco com a senha (smtp_password) preenchida, e nenhum e-mail sairia. ..."}
401Sem token ou token expirado.{"error":"invalid or expired token"}
403Sem manage_settings.{"error":"insufficient privileges","required":"manage_settings"}
500Falha ao gravar.{"error":"failed to update settings","detail":"..."}

Mensagens que o servidor devolve em português chegam exatamente assim.

Cuidado com segredos ao mesclar

Reenviar o GET inteiro num PUT regrava segredos que você talvez nem queira tocar. Envie só as chaves que mudam.

O protetor de margem não é uma seção

A configuração do protetor de margem não está em /settings. Ela tem rota própria (PUT /margin-guard/settings).

Veja também

  • Busca da vitrine
  • Menus do painel
  • Configurações da loja
Anterior
Configurações da loja
Próxima
Busca da vitrine
Nesta página
  • Ler as configurações
  • Gravar uma seção
  • Campos de cada seção
  • Erros
  • Veja também