Draftn.io docs · api
Endpoints · Categorias

Categorias

Categorias organizam o conteúdo do blog em grandes temas. Use estes endpoints para montar menus, páginas de seção e índices temáticos. Cada categoria traz a contagem de posts em _count.posts.

Listar categorias

GET https://api.draftin.io /public/categories

Requer X-API-Key

Retorna um array com todas as categorias do blog. Ideal para construir a navegação por temas e exibir quantos posts cada categoria contém.

Quando usar

  • Renderizar um menu ou nuvem de categorias.
  • Gerar páginas de seção (uma por categoria).
  • Mostrar a contagem de posts ao lado de cada tema.

Exemplo de requisição

curl "https://api.draftin.io/public/categories" \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Exemplo de resposta

200 OK — Category[]
[
  {
    "id": "clxxx201",
    "name": "Tecnologia",
    "description": "Posts sobre tecnologia",
    "blogId": "clxxx789",
    "createdAt": "2026-05-01T10:00:00.000Z",
    "updatedAt": "2026-05-20T14:30:00.000Z",
    "_count": { "posts": 5 }
  }
]

Respostas possíveis

StatusSignificado
200
OK
Lista de categorias (array de Category).
401
Unauthorized
Chave de API inválida ou ausente.

Obter categoria por ID

GET https://api.draftin.io /public/categories/{id}

Requer X-API-Key

Recupera uma única categoria pelo seu identificador — por exemplo, para o cabeçalho de uma página de seção.

Parâmetros de rota

ParâmetroTipoObrigatórioDescrição
idstringSimIdentificador único da categoria.

Exemplo de requisição

curl "https://api.draftin.io/public/categories/clxxx201" \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Exemplo de resposta

200 OK — Category
{
  "id": "clxxx201",
  "name": "Tecnologia",
  "description": "Posts sobre tecnologia",
  "blogId": "clxxx789",
  "createdAt": "2026-05-01T10:00:00.000Z",
  "updatedAt": "2026-05-20T14:30:00.000Z",
  "_count": { "posts": 5 }
}

Respostas possíveis

StatusSignificado
200
OK
Categoria encontrada (objeto Category).
401
Unauthorized
Chave de API inválida ou ausente.
404
Not Found
Categoria não encontrada.

Listar posts de uma categoria

GET https://api.draftin.io /public/categories/{id}/posts

Requer X-API-Key

Retorna os posts publicados pertencentes à categoria, paginados por page/pageSize. A resposta vem em um envelope PostListResponse com metadados prontos para uma paginação numerada.

Parâmetros

ParâmetroTipoObrigatórioDescrição
idstringSimID da categoria. (parâmetro de rota)
pageintegerNãoNúmero da página (começa em 1).
Padrão: 1
pageSizeintegerNãoQuantidade de posts por página.
Padrão: 10

Exemplo de requisição

curl "https://api.draftin.io/public/categories/clxxx201/posts?page=1&pageSize=10" \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Exemplo de resposta

200 OK — PostListResponse
{
  "posts": [
    {
      "id": "clxxx101",
      "title": "Meu Primeiro Post",
      "slug": "meu-primeiro-post",
      "status": "PUBLISHED",
      "publishedAt": "2026-06-01T12:00:00.000Z"
    }
  ],
  "total": 5,
  "page": 1,
  "pageSize": 10,
  "totalPages": 1
}

Respostas possíveis

StatusSignificado
200
OK
Posts da categoria (envelope PostListResponse).
401
Unauthorized
Chave de API inválida ou ausente.

Campos do objeto Category

idstring
Identificador único da categoria.
namestring
Nome de exibição (ex.: Tecnologia).
descriptionstring
Descrição da categoria.
blogIdstring
ID do blog dono da categoria.
createdAtstring · date-time
Data/hora de criação.
updatedAtstring · date-time
Data/hora da última atualização.
_countobject
Contadores agregados. Contém posts (integer): quantidade de posts associados a esta categoria.

Boas práticas

  • Use _count.posts para ocultar categorias vazias ou ordenar por popularidade.
  • Cacheie a lista de categorias — ela muda raramente e costuma aparecer em todas as páginas.
  • Pagine as seções grandes com pageSize moderado e use totalPages para a navegação.

Casos de uso comuns

  • Menu temático: /public/categories no layout global.
  • Página de seção: /public/categories/{id} para o cabeçalho + /public/categories/{id}/posts para a lista.