VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Páginas de conteúdo

POSTCriar página

Cria uma página institucional com título, corpo HTML, status e SEO.

Cria uma página institucional. Só o título é obrigatório: o slug é gerado a partir dele quando você não envia um, e se o slug já existe a plataforma acrescenta -2, -3 e assim por diante em vez de recusar. A página passa a responder em /{slug} na vitrine quando o status é active.

POST/api/v1/admin/pagesAdmin

Cria uma página de conteúdo

Exige o privilégio manage_content.

Corpo da requisição

titlestringobrigatório
Título. HTML é removido; se sobrar vazio a criação é recusada.
slugstring
Trecho da URL. Sem ele, é gerado do título.
bodystring
Conteúdo em HTML. É sanitizado antes de gravar.
statusstringpadrão: active
activehidden
Status inicial. Qualquer valor diferente de active e hidden vira active (veja o aviso).
page_typestringpadrão: page
pagebloglink
Tipo da página. Valor desconhecido vira page.
seo_titlestring
Título para buscadores.
seo_descriptionstring
Descrição para buscadores.
positionintegerpadrão: 0
Ordem em menus.
vendor_iduuid
Atribui a página a um seller. Omita para uma página da loja.
descriptionsobject
Conteúdo por idioma, com chave no código do idioma (pt-BR, en). Cada valor tem title, body, seo_title e seo_description. Idiomas que você não enviar recebem uma cópia do conteúdo principal.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/pages" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Política de Troca",
  "body": "<p>Você pode trocar em até 7 dias.</p>",
  "status": "active",
  "seo_title": "Troca e devolução"
}'

Resposta

201Página criada
json
{
  "id": "cc37f047-702b-45c7-9f88-3e8d42e81011",
  "title": "Política de Troca",
  "slug": "politica-de-troca",
  "body": "<p>Você pode trocar em até 7 dias.</p>",
  "status": "active",
  "page_type": "page",
  "position": 0,
  "id_path": "",
  "created_at": "2026-10-11T21:04:48.445487Z",
  "updated_at": "2026-10-11T21:04:48.445487Z",
  "page_id": "cc37f047-702b-45c7-9f88-3e8d42e81011",
  "page": "politica-de-troca",
  "page_title": "Política de Troca",
  "description": "<p>Você pode trocar em até 7 dias.</p>",
  "seo_name": "politica-de-troca",
  "timestamp": 1791752688,
  "updated_timestamp": 1791752688
}

Campos da resposta

iduuid
Identificador da página.
titlestring
Título, em texto puro (HTML é removido).
slugstring
Trecho da URL pública (/politica-de-troca). Único na loja.
bodystring
Conteúdo em HTML, já sanitizado: <script>, atributos on... e links javascript: são removidos.
statusstring
active, hidden ou draft. Veja o aviso sobre disabled.
page_typestring
page, blog ou link.
seo_titlestring
Título para buscadores. Ausente quando vazio.
seo_descriptionstring
Descrição para buscadores. Ausente quando vazia.
positioninteger
Ordem de exibição em menus. Menor aparece primeiro.
parent_iduuid
Página pai, quando a página faz parte de uma hierarquia. Ausente na raiz.
vendor_iduuid
Seller dono da página. Ausente quando a página é da loja inteira (marketplace).
created_atstring
Criação, RFC 3339 em UTC.
updated_atstring
Última alteração, RFC 3339 em UTC.

Erros

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"}
400Corpo não é JSON válido, ou falta title.{"error":"title is required"}
500O título ficou vazio depois de remover o HTML, ou falha ao gravar.{"error":"failed to create page","detail":"title_required: page title must not be empty after sanitization"}
Status 'disabled' e 'hidden' são o mesmo estado

A criação aceita só active e hidden como status inicial. Na atualização (PUT) também são aceitos draft e disabled, mas disabled e hidden são gravados da mesma forma e a leitura devolve sempre hidden.

Veja também

  • Atualizar página
  • Traduções
Anterior
Consultar página
Próxima
Atualizar página
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também