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

Habilitar idioma

Habilita um idioma do catálogo na loja ou cadastra um idioma novo no catálogo mestre.

Habilitar um idioma tem um efeito maior do que ligar uma chave: a plataforma copia o conteúdo do catálogo (produtos, categorias, páginas e outras tabelas de descrição) do idioma padrão para o novo idioma, com status cloned, e semeia os textos da interface. Isso garante que a vitrine encontre uma linha para cada item no novo idioma. Exige o privilégio manage_settings.

Habilitar idioma

POST/api/v1/admin/languagesAdmin

Habilita um idioma do catálogo na loja

O code precisa existir no catálogo mestre (veja Listar o catálogo disponível). A chamada é idempotente: se a loja já tem registro do idioma, nada é recriado e a resposta traz o registro atual, com o enabled que ele já tinha.

Corpo da requisição

codestringobrigatório
Código do idioma (es, fr, zh-CN). Maiúsculas e minúsculas são normalizadas (pt-br vira pt-BR).
sourceLanguagestring
Código de um idioma já existente na loja de onde copiar as traduções da interface. Se o idioma de origem não tiver traduções, usa o pacote padrão em inglês.
nameEnOverridestring
Nome em inglês só para esta loja.
nameNativeOverridestring
Nome nativo só para esta loja.
directionOverridestring
LTRRTL
Direção do texto só para esta loja.
isDefaultboolean
true promove o idioma a padrão logo após habilitar.
positionintegerpadrão: 0
Ordem no seletor de idiomas.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/languages" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"code":"es","position":2}'
201Idioma habilitado
json
{
  "code": "es",
  "nameEn": "Spanish",
  "nameNative": "Español",
  "direction": "LTR",
  "locale": "es-ES",
  "enabled": true,
  "isDefault": false,
  "position": 2,
  "createdAt": "2026-10-11T14:02:10.114Z",
  "updatedAt": "2026-10-11T14:02:10.114Z"
}

A resposta é o mesmo objeto de Consultar um idioma. O status é 201 inclusive quando o idioma já existia.

Cadastrar idioma novo

POST/api/v1/admin/languages/customAdmin

Cadastra um idioma no catálogo mestre

Use quando o idioma que você precisa não está no catálogo (um dialeto, por exemplo). A chamada só cria a entrada no catálogo: depois é preciso habilitá-la com POST /api/v1/admin/languages. É idempotente: repetir o mesmo code devolve a entrada existente sem alterá-la.

Corpo da requisição

codestringobrigatório
Código do idioma (BCP 47).
directionstringobrigatório
LTRRTL
Direção do texto. Obrigatória: sem ela a resposta é 422.
nameEnstring
Nome em inglês. Se vazio, usa o próprio código.
nameNativestring
Nome nativo. Se vazio, repete nameEn.
localestring
Locale de formatação. Se vazio, usa o próprio código.
201Entrada criada no catálogo
json
{
  "code": "pt-AO",
  "nameEn": "Portuguese (Angola)",
  "nameNative": "Português (Angola)",
  "direction": "LTR",
  "locale": "pt-AO",
  "status": "A",
  "createdAt": "2026-10-11T14:05:00.000Z",
  "updatedAt": "2026-10-11T14:05:00.000Z"
}

Erros

StatusQuandoCorpo
400Corpo inválido; code ausente{"error":"code is required"}
401Sem token ou token expirado{"error":"missing authorization header"}
403Sem o privilégio manage_settings{"error":"insufficient privileges","required":"manage_settings"}
422Código fora do catálogo (habilitar); direção diferente de LTR/RTL, ou ausente no cadastro novo{"error":"unknown language code","detail":"unknown language code \"zz-ZZ\""} ou {"error":"direction must be LTR or RTL","detail":"direction must be LTR or RTL"}
500Falha ao copiar o conteúdo do catálogo ou outra falha interna{"error":"failed to enable language","detail":"..."}
Habilitar copia muito conteúdo

Em lojas com catálogo grande a cópia das descrições é feita dentro da própria requisição, então a resposta pode demorar. Se ela falhar a meio caminho (resposta 500), o idioma pode ficar registrado sem todas as linhas, e repetir o POST não refaz a cópia, porque a chamada devolve o registro existente. Remova o idioma com DELETE e habilite de novo antes de oferecê-lo na vitrine.

Veja também

  • Listar e consultar idiomas
  • Traduzir o catálogo
Anterior
Listar e consultar idiomas
Próxima
Alterar, padrão e remover
Nesta página
  • Habilitar idioma
  • Exemplo de requisição
  • Cadastrar idioma novo
  • Erros
  • Veja também