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

Páginas do seller

Lista, consulta, cria, altera e apaga as páginas de conteúdo do microsite do seller.

Páginas guardam texto fixo: política de trocas, sobre a loja, perguntas frequentes. Cada uma tem uma URL própria a partir do slug. O corpo é HTML.

Listar páginas

GET/api/v1/vendor/pagesSeller

Lista as páginas do seller

Páginas não apagadas, por position e depois da mais nova. Sem paginação.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/pages" \
  -H "Authorization: Bearer $TOKEN"
200Páginas
json
{
  "pages": [
    {
      "id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
      "title": "Política de trocas",
      "slug": "politica-de-trocas",
      "body": "<p>Aceitamos trocas em até 7 dias.</p>",
      "status": "active",
      "page_type": "page",
      "seo_title": "Política de trocas",
      "seo_description": "Como trocar um produto.",
      "position": 0,
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "created_at": "2026-10-11T12:00:00Z",
      "updated_at": "2026-10-11T12:00:00Z"
    }
  ],
  "total": 1
}

Campos da resposta

pagesarray

Páginas do seller.

iduuid
Id da página.
titlestring
Título.
slugstring
Parte da URL, minúscula e sem acento.
bodystring
Conteúdo em HTML, já limpo de scripts.
statusstring
activehiddendraft
active, hidden ou draft.
page_typestring
pagebloglink
page, blog ou link.
seo_titlestring
Título para buscadores. Ausente se vazio.
seo_descriptionstring
Descrição para buscadores. Ausente se vazia.
positioninteger
Ordem de exibição.
vendor_iduuid
Seller dono.
created_atstring
Criação (RFC 3339, UTC).
updated_atstring
Última alteração (RFC 3339, UTC).
page_id, page, page_title, seo_name, description, timestamp, updated_timestampvarious
Campos de compatibilidade com a plataforma antiga. Ignore em integrações novas.
totalinteger
Quantidade de páginas.

Consultar página

GET/api/v1/vendor/pages/{id}Seller

Devolve uma página

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

iduuidobrigatório
Id da página.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/pages/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60" \
  -H "Authorization: Bearer $TOKEN"
200Página
json
{
  "id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
  "title": "Política de trocas",
  "slug": "politica-de-trocas",
  "body": "<p>Aceitamos trocas em até 7 dias.</p>",
  "status": "active",
  "page_type": "page",
  "seo_title": "Política de trocas",
  "seo_description": "Como trocar um produto.",
  "position": 0,
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "created_at": "2026-10-11T12:00:00Z",
  "updated_at": "2026-10-11T12:00:00Z"
}

Campos da resposta

...object
Os campos de cada página da lista.

Criar página

POST/api/v1/vendor/pagesSeller

Cria uma página

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Corpo da requisição

titlestringobrigatório
Título. Não pode ser vazio. Tags HTML são removidas.
slugstringobrigatório
Parte da URL. Obrigatório nesta rota (a criação do administrador gera um a partir do título). Normalizado para a-z0-9-.
page_typestringobrigatório
pagebloglink
Tipo da página.
bodystring
Conteúdo em HTML. Scripts, eventos on* e javascript: são removidos.
statusstringpadrão: active
activehiddendraftdisabled
active, hidden, draft ou disabled (também as letras). Vazio vira active.
seo_titlestring
Título para buscadores.
seo_descriptionstring
Descrição para buscadores.
positionintegerpadrão: 0
Ordem de exibição.
descriptionsobject
Título, corpo e textos de SEO por idioma, indexados pelo código do idioma (lang_code, title, body, seo_title, seo_description). Idiomas omitidos são copiados dos campos principais.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/vendor/pages" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Política de trocas",
  "slug": "politica-de-trocas",
  "page_type": "page",
  "body": "<p>Aceitamos trocas em até 7 dias.</p>",
  "status": "active",
  "seo_title": "Política de trocas",
  "seo_description": "Como trocar um produto."
}'
201Página criada
json
{
  "id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
  "title": "Política de trocas",
  "slug": "politica-de-trocas",
  "body": "<p>Aceitamos trocas em até 7 dias.</p>",
  "status": "active",
  "page_type": "page",
  "seo_title": "Política de trocas",
  "seo_description": "Como trocar um produto.",
  "position": 0,
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "created_at": "2026-10-11T12:00:00Z",
  "updated_at": "2026-10-11T12:00:00Z"
}

Alterar página

PUT/api/v1/vendor/pages/{id}Seller

Altera uma página

Parcial. Um title ou slug enviado em branco é recusado; um slug que já existe em qualquer página da loja também. Envie ao menos um campo.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

iduuidobrigatório
Id da página.

Corpo da requisição

...object
Qualquer campo do corpo da criação, todos opcionais.

Exemplo de requisição

bash
curl -X PUT "$BASE_URL/api/v1/vendor/pages/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "hidden"
}'
200Página atualizada
json
{
  "id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
  "title": "Política de trocas",
  "slug": "politica-de-trocas",
  "body": "<p>Aceitamos trocas em até 7 dias.</p>",
  "status": "hidden",
  "page_type": "page",
  "seo_title": "Política de trocas",
  "seo_description": "Como trocar um produto.",
  "position": 0,
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "created_at": "2026-10-11T12:00:00Z",
  "updated_at": "2026-10-11T12:00:00Z"
}

Apagar página

DELETE/api/v1/vendor/pages/{id}Seller

Apaga uma página

Apagamento lógico: a página sai das listas e da vitrine, e a URL deixa de responder.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

iduuidobrigatório
Id da página.

Exemplo de requisição

bash
curl -X DELETE "$BASE_URL/api/v1/vendor/pages/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60" \
  -H "Authorization: Bearer $TOKEN"
200Página apagada
json
{
  "message": "page deleted"
}

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O usuário do seller (equipe) não tem nenhum dos privilégios exigidos. O dono da loja nunca recebe este erro.{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","vendor_manage_delivery_areas","vendor_manage_whatsapp","vendor_manage_documents","vendor_manage_kyc","vendor_view_plan","vendor_manage_application","vendor_manage_vacation"]}
403O usuário autenticado não está vinculado a nenhum seller.{"error":"no vendor account associated with this user"}
400JSON inválido.{"error":"invalid request body","detail":"..."}
400Título ausente na criação ou em branco na alteração (mensagem em português).{"error":"informe o título da página"}
400Slug ausente na criação ou em branco na alteração (mensagem em português).{"error":"informe o slug (URL) da página"}
400status fora da lista.{"error":"invalid page status \"x\": must be one of active, disabled, draft, hidden"}
400Alteração com slug já usado ou sem nenhum campo.{"error":"slug \"politica-de-trocas\" already in use"}
400page_type ausente ou fora de page, blog, link na criação (a mensagem começa com insert page:).{"error":"insert page: ..."}
404A página não existe ou é de outro seller.{"error":"page not found"}
Slug repetido: criar e alterar diferem

Ao criar, um slug repetido ganha sufixo (politica-de-trocas-2) e a resposta mostra o slug final; confira o campo slug. Ao alterar, o mesmo conflito vira erro 400. O status de uma página apagada logicamente não volta por esta API.

Veja também

  • Banners
  • Blog
  • Visão geral do conteúdo
Anterior
Banners do seller
Próxima
Blog do seller
Nesta página
  • Listar páginas
  • Exemplo de requisição
  • Consultar página
  • Exemplo de requisição
  • Criar página
  • Exemplo de requisição
  • Alterar página
  • Exemplo de requisição
  • Apagar página
  • Exemplo de requisição
  • Erros
  • Veja também