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

Traduções do post

Lê e grava título, texto e SEO do post em cada idioma da loja.

Ler traduções do post

Devolve uma entrada por idioma ativo. Idiomas ainda sem tradução vêm preenchidos com o título do idioma padrão e o texto vazio.

GET/api/v1/admin/blog/posts/{id}/descriptionsAdmin

Lista o conteúdo do post em cada 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ório
Identificador do post.

Exemplo de requisição (Ler traduções)

bash
curl "$BASE_URL/api/v1/admin/blog/posts/91af684b-cf41-4243-a37d-a133a39d6ed3/descriptions" \
  -H "Authorization: Bearer $TOKEN"

Resposta (Ler traduções)

200Traduções
json
{
  "blog_post_id": "91af684b-cf41-4243-a37d-a133a39d6ed3",
  "descriptions": {
    "pt-BR": {
      "lang_code": "pt-BR",
      "title": "Como escolher o mouse perfeito",
      "body": "<p>...</p>",
      "excerpt": "Guia prático.",
      "meta_title": "",
      "meta_description": ""
    },
    "en": {
      "lang_code": "en",
      "title": "How to choose the perfect mouse",
      "body": "",
      "excerpt": "",
      "meta_title": "How to choose the perfect mouse",
      "meta_description": ""
    }
  }
}

Campos da resposta

blog_post_iduuid
Post.
descriptionsobject
Mapa código do idioma para conteúdo (lang_code, title, body, excerpt, meta_title, meta_description).

Erros (Ler traduções)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","privilege_required_any":["manage_content","view_content"]}
500id que não é UUID, ou falha de banco.{"error":"failed to get post descriptions","detail":"..."}

Gravar traduções do post

Grava o conteúdo do post em um ou mais idiomas. É parcial: só os idiomas enviados são tocados, e cada um precisa de title. Devolve o mesmo formato da leitura, já recarregado.

PUT/api/v1/admin/blog/posts/{id}/descriptionsAdmin

Cria ou atualiza o conteúdo 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ório
Identificador do post.

Corpo da requisição

descriptionsobjectobrigatório
Mapa código do idioma para conteúdo. Cada valor aceita title (obrigatório), body, excerpt, meta_title, meta_description.

Exemplo de requisição (Gravar traduções)

bash
curl -X PUT "$BASE_URL/api/v1/admin/blog/posts/91af684b-cf41-4243-a37d-a133a39d6ed3/descriptions" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "descriptions": {
    "en": {
      "title": "How to choose the perfect mouse",
      "body": "<p>...</p>",
      "excerpt": "A practical 5-step guide.",
      "meta_title": "Choosing a mouse",
      "meta_description": "Pick the right mouse"
    }
  }
}'

Resposta (Gravar traduções)

200Traduções salvas
json
{
  "blog_post_id": "91af684b-cf41-4243-a37d-a133a39d6ed3",
  "descriptions": {
    "en": {
      "lang_code": "en",
      "title": "How to choose the perfect mouse",
      "body": "<p>...</p>",
      "excerpt": "A practical 5-step guide.",
      "meta_title": "Choosing a mouse",
      "meta_description": "Pick the right mouse"
    }
  }
}

Erros (Gravar traduções)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_content"}
400descriptions ausente ou vazio, ou um idioma sem title.{"error":"blog_post_description for en: title is required"}
500Falha ao gravar.{"error":"failed to upsert post descriptions","detail":"..."}

Veja também

  • Listar e consultar posts
  • Criar post
Anterior
Atualizar e apagar post
Próxima
Categorias do blog
Nesta página
  • Ler traduções do post
  • Exemplo de requisição (Ler traduções)
  • Resposta (Ler traduções)
  • Erros (Ler traduções)
  • Gravar traduções do post
  • Exemplo de requisição (Gravar traduções)
  • Resposta (Gravar traduções)
  • Erros (Gravar traduções)
  • Veja também