Logo da Plataforma Yep
API REST · Plataforma Yep Documentação técnica para integrações homologadas

Categorias

Criação, atualização, listagem paginada, consulta por ID, movimentação na árvore e exclusão de categorias — com suporte a page, limit (até 200), store_id e metadados opcionais via include_pagination.

Árvore URL key Display mode Atualizado em 2026

Visão geral

As rotas de categoria cobrem o ciclo completo: criar uma nova categoria na árvore, atualizar metadados, listar com paginação determinística, consultar por ID, mover dentro da hierarquia e excluir.

200
Limit máximoPor página, quando especificado via limit.
20
Limit padrãoQuando limit é omitido ou inválido.
1+
Store explícitaDeterminístico em ambientes multi-store.
opt
Metadadostotal, last_page, has_next sob include_pagination=1.
POST/api2/category

Criar nova categoria.

{
  "parent_id": 2,
  "name": "Especialidades",
  "position": 5,
  "is_active": 1,
  "is_anchor": 1,
  "include_in_menu": 1,
  "description": "Categoria de especialidades odontológicas",
  "display_mode": "PRODUCTS",
  "url_key": "especialidades"
}
PATCH/api2/category

Atualizar categoria existente.

{
  "name": "Especialidades",
  "categoria": {
    "name": "Novo nome",
    "description": "Nova descrição",
    "is_anchor": 1
  }
}
GET/api2/categoryAtualizado

Listar categorias com paginação determinística ou consultar uma categoria específica por id.

GET /api2/category
GET /api2/category?page=2
GET /api2/category?limit=50
GET /api2/category?include_pagination=1
GET /api2/category?store_id=1
GET /api2/category?id=61
PATCH/api2/category/categoryMove

Mover categoria na árvore.

{
  "name": "Especialidades",
  "parent_name": "Produtos",
  "after_id": null
}
DELETE/api2/category

Excluir categoria.

{
  "category_id": 546
}

Novidades do GET /api2/category

O endpoint de listagem de categorias foi evoluído para oferecer paginação determinística, controle de tamanho de página, contexto multi-store explícito e metadados opcionais de paginação — alinhando o comportamento ao já adotado em GET /api2/products.

1) Listagem paginada Novo

Agora é possível percorrer todas as categorias com paginação previsível. Sem page, a rota devolve a primeira página; com page=N, devolve a página solicitada.

page Opcional Novo
Inteiro. Número da página a retornar. Padrão: 1.

Exemplo

GET /api2/category?page=2

2) Suporte a limit opcional Novo

O endpoint aceita limit para definir a quantidade de registros por página. Valores inválidos (não numéricos, arrays, negativos, zero ou acima do máximo) são normalizados para o padrão, garantindo que nenhuma requisição quebre por entrada inesperada.

RegraValorComportamento
Padrão20Aplicado quando limit é omitido.
Máximo200Teto rígido para proteger a rota em cenários de alta carga.
InválidoValores inválidos são normalizados para 20.

Exemplos

GET /api2/category?limit=50
GET /api2/category?page=1&limit=200

3) Suporte a store_id opcional Novo

Informe store_id para tornar o resultado explícito e determinístico em cenários multi-store. Sem o parâmetro, a seleção de store segue a regra default do ambiente; com ele, a integração assume o controle.

store_id Opcional Novo
Inteiro. ID da store a ser usada como contexto da listagem. Recomendado em qualquer integração multi-store.

Exemplo

GET /api2/category?store_id=1

4) Metadados opcionais de paginação Novo

Foi adicionado suporte opcional a campos de paginação no corpo da resposta. Eles só são retornados quando for enviado include_pagination=1, evitando overhead em sincronizações que não precisam desses metadados.

include_pagination Opcional Novo
Flag boolean (1 habilita). Quando ativa, inclui na resposta os campos total, last_page e has_next.
total
Total de categorias elegíveis para o filtro atual (apenas com include_pagination=1).
last_page
Número da última página considerando o limit corrente.
has_next
Boolean indicando se existe próxima página. Útil para terminar loops de sincronização com segurança.

Exemplo

GET /api2/category?include_pagination=1

5) Consulta individual por id

Mantida e compatível: informe id para receber uma única categoria. Quando id é enviado, parâmetros de paginação são ignorados.

Exemplo

GET /api2/category?id=61

Formas de uso suportadas

Referência rápida das combinações testadas e homologadas para o GET /api2/category.

Listagem padrão GET /api2/category
Paginada GET /api2/category?page=2
Limite customizado GET /api2/category?limit=50
Com metadados GET /api2/category?include_pagination=1
Store explícita GET /api2/category?store_id=1
Busca por ID GET /api2/category?id=61

Recomendações para integração

Boas práticas para sincronização de árvore de categorias. Seguir essas diretrizes reduz retrabalho, evita paginação infinita e garante determinismo em ambientes multi-store.

Recomendado

  • Enviar sempre page explicitamente em rotinas de paginação.
  • Usar store_id sempre que a integração precisar de resultado determinístico em ambiente multi-store.
  • Preferir limit=50 ou limit=100 para sincronizações usuais.
  • Usar limit=200 apenas quando houver necessidade real de reduzir o número de chamadas.
  • Usar include_pagination=1 para controlar avanço de paginação com mais segurança (loop baseado em has_next).

Evitar

  • Enviar parâmetros como array em campos escalares — por exemplo id[] ou limit[].
  • Depender de ordenação implícita entre páginas em cenários multi-store sem store_id.
  • Combinar id com page/limit: ao consultar por ID, parâmetros de paginação são ignorados.

Dica de sincronização

Para sincronizações periódicas da árvore, combine store_id + limit=100 + include_pagination=1. Você obtém determinismo, throughput equilibrado e um critério de parada confiável (has_next=false).