Traduções da categoria
Lê e grava nome e descrição da categoria em cada idioma.
Ler traduções da categoria
Devolve uma entrada por idioma ativo. Idiomas sem tradução vêm com o nome do idioma padrão.
/api/v1/admin/blog/categories/{id}/descriptionsAdminLista nome e descrição da categoria por idioma
Rota ligada ao módulo blog: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.
Parâmetros de caminho
iduuidobrigatórioIdentificador da categoria.
Exemplo de requisição (Ler traduções)
bash
curl "$BASE_URL/api/v1/admin/blog/categories/4e733a25-349a-4598-a916-a0984fc4aa76/descriptions" \
-H "Authorization: Bearer $TOKEN"Resposta (Ler traduções)
200Traduções
json
{
"blog_category_id": "4e733a25-349a-4598-a916-a0984fc4aa76",
"descriptions": {
"pt-BR": {
"lang_code": "pt-BR",
"name": "Guia de compras",
"description": ""
},
"en": {
"lang_code": "en",
"name": "Guia de compras",
"description": ""
}
}
}Campos da resposta
blog_category_iduuidCategoria.
descriptionsobjectMapa código do idioma para
lang_code, name e description.Erros (Ler traduções)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_content","view_content"]} |
| 500 | id que não é UUID, ou falha de banco. | {"error":"failed to get blog category descriptions","detail":"..."} |
Gravar traduções da categoria
Grava nome e descrição em um ou mais idiomas. Parcial: só os idiomas enviados mudam, e cada um precisa de name.
/api/v1/admin/blog/categories/{id}/descriptionsAdminCria ou atualiza nome e descrição por idioma
Rota ligada ao módulo blog: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_content.
Parâmetros de caminho
iduuidobrigatórioIdentificador da categoria.
Corpo da requisição
descriptionsobjectobrigatórioMapa código do idioma para conteúdo. Cada valor aceita
name (obrigatório) e description.Exemplo de requisição (Gravar traduções)
bash
curl -X PUT "$BASE_URL/api/v1/admin/blog/categories/4e733a25-349a-4598-a916-a0984fc4aa76/descriptions" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"descriptions": {
"en": {
"name": "Buying guide",
"description": "Tips to buy better"
}
}
}'Resposta (Gravar traduções)
200Traduções salvas
json
{
"blog_category_id": "4e733a25-349a-4598-a916-a0984fc4aa76",
"descriptions": {
"en": {
"lang_code": "en",
"name": "Buying guide",
"description": "Tips to buy better"
}
}
}Erros (Gravar traduções)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","required":"manage_content"} |
| 400 | descriptions ausente ou vazio, ou um idioma sem name. | {"error":"descriptions is required"} |
| 500 | Falha ao gravar. | {"error":"failed to upsert blog category descriptions","detail":"..."} |