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

Idiomas e localidades

Como a vitrine descobre os idiomas que a loja oferece, guarda a escolha do visitante e carrega os textos, e como preencher endereços com países, estados, cidades e bairros.

Esta seção reúne dois recursos de apoio à vitrine. O primeiro é o idioma: cada loja liga os idiomas que quer oferecer, define um padrão, e o visitante pode trocar. A API entrega a lista de idiomas, lembra a escolha do visitante em um cookie e devolve o dicionário de textos traduzidos (as frases de botões e mensagens da loja). O segundo são as localidades: a lista oficial de países, estados, cidades e bairros que alimenta os campos de endereço.

Todas as oito rotas são públicas, funcionam sem login e respondem com Cache-Control: public, max-age=300, stale-while-revalidate=1800, ou seja, podem ser guardadas por 5 minutos.

Pontos principais
  • O idioma do visitante vive no cookie venddor_language (validade de 30 dias, legível pelo JavaScript). A API o grava quando o visitante escolhe um idioma e quando lê o idioma ativo.
  • Só idiomas ligados na loja são aceitos. Um código desligado ou inexistente responde 404 language not enabled on this tenant.
  • O dicionário de textos já vem mesclado: o pacote da plataforma, o idioma padrão da loja e o idioma pedido, nessa ordem. Uma chave sem tradução cai no padrão em vez de faltar.
  • Códigos de idioma são normalizados: pt-br, PT-BR e pt-BR valem o mesmo.
  • A lista de localidades é a base oficial do Brasil: 27 estados, 5.571 cidades e mais de 74 mil bairros com faixa de CEP (números da loja de teste). Cidades e bairros são paginados.

Como funciona

  1. Descubra os idiomas

    Listar idiomas devolve os idiomas ligados e, em active, o que vale para este visitante (o do cookie ou o padrão da loja).

  2. Carregue os textos

    Textos traduzidos devolve o dicionário chave: texto. Para economizar tráfego, peça só os prefixos que a tela usa (?prefix=storefront.,common.).

  3. Deixe o visitante trocar

    Escolher idioma grava o cookie e responde 204. Depois dele, recarregue os textos.

  4. Monte os campos de endereço

    Países, estados, cidades e bairros preenchem os seletores em cascata do endereço.

Conceitos-chave

Idioma padrão e idioma ativo

O padrão é o idioma que a loja escolheu para quem não escolheu nada. O ativo é o que vale para esta requisição: o do cookie, se for um idioma ligado, senão o padrão. Pedidos feitos por clientes logados também registram o idioma ativo no perfil, quando o cliente ainda não fixou um.

Direção e locale

Cada idioma traz direction (LTR ou RTL, como o árabe) e locale (pt-BR, es-ES, ar-SA), que você usa para formatar datas e números.

Cadeia estado, cidade, bairro

Os identificadores são UUIDs. Um estado tem code de 2 letras (SP), uma cidade pertence a um estado (state_id) e tem ibge_code, e um bairro pertence a uma cidade (city_id) e traz a faixa de CEP (cep_range_start, cep_range_end).

Rotas

MétodoCaminhoPara que serveAutenticação
GET/api/v1/storefront/languagesIdiomas ligados e o ativoPública
GET/api/v1/storefront/languages/activeIdioma ativo do visitantePública
POST/api/v1/storefront/languages/selectEscolher o idiomaPública
GET/api/v1/storefront/languages/{code}/translationsTextos traduzidosPública
GET/api/v1/storefront/locations/countriesPaísesPública
GET/api/v1/storefront/locations/statesEstadosPública
GET/api/v1/storefront/locations/citiesCidadesPública
GET/api/v1/storefront/locations/districtsBairrosPública

Erros comuns

  • Pedir os textos de um idioma desligado. Responde 404 language not enabled on this tenant. Use os códigos de GET /languages.
  • Esquecer de recarregar os textos depois de trocar o idioma. A troca só grava o cookie; os textos não mudam sozinhos.
  • Pôr um CDN na frente de languages/active. A resposta depende do cookie do visitante e grava um cookie, mas não declara Vary: Cookie. Um cache compartilhado pode servir o idioma de um visitante a outro. Chame essa rota do navegador, ou leia o cookie você mesmo.
  • Baixar todas as cidades. São 5.571. Filtre por state_id, use search e pagine.
  • Mandar um id que não é UUID. state_id ou city_id inválidos podem voltar como 500 ou 400 conforme a rota; valide antes.

Próximos passos

Idiomas
Listar, escolher e carregar textos.
Localidades
Países, estados, cidades e bairros.
Endereço no checkout
Onde o endereço é usado.
Anterior
Menus de navegação
Próxima
Idiomas da vitrine
Nesta página
  • Como funciona
  • Conceitos-chave
  • Idioma padrão e idioma ativo
  • Direção e locale
  • Cadeia estado, cidade, bairro
  • Rotas
  • Erros comuns
  • Próximos passos