ACACHY

Client JavaScript

Como consumir conteúdo publicado do Acachy CMS com o client JavaScript.

O pacote @repo/client consome a API pública usando uma API key do projeto.

Criar client

import { createAcachyClient } from '@repo/client'

export const client = createAcachyClient({
  baseUrl: process.env.NEXT_PUBLIC_ACACHY_API_URL!,
  apiKey: process.env.NEXT_PUBLIC_ACACHY_API_KEY!,
})

Use apenas API keys de leitura (content:read) em código público.

Listar entries

const posts = await client.findMany('posts', {
  page: 1,
  limit: 10,
  sort: 'publishedAt',
  order: 'desc',
})

Buscar por ID ou slug

const post = await client.findOne('posts', 'entry-id')
const bySlug = await client.findBySlug('posts', 'hello-world')

Selecionar campos

const posts = await client.findMany('posts', {
  fields: 'title,slug,excerpt,cover',
})

Media

const media = await client.listMedia({ page: 1, limit: 20 })
const image = await client.getMedia('media-id')

Tratamento de erros

O client lança AcachyClientError com status e body quando a API retorna erro.

try {
  await client.findMany('posts')
} catch (error) {
  if (error instanceof AcachyClientError) {
    console.error(error.status, error.message)
  }
}

Fetch customizado

const client = createAcachyClient({
  baseUrl: 'https://api.example.com',
  apiKey: '<content-read-api-key>',
  fetcher: fetch,
})

On this page