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,
})