docs · api
PT
Começar

Primeiros passos

Em menos de cinco minutos você faz sua primeira requisição autenticada e lê o conteúdo publicado de um blog. Tudo o que você precisa é da chave de API do blog e de um cliente HTTP.

Pré-requisitos

  • Um blog criado nO DraftIn com pelo menos um post publicado.
  • A chave de API do blog (header X-API-Key). Veja Autenticação.
  • Um cliente HTTP: curl, o fetch do navegador ou Node 22+.

1. Guarde sua chave com segurança

A chave de API concede acesso de leitura ao conteúdo do blog. Mantenha-a fora do código-fonte — use uma variável de ambiente:

.env
# Nunca versione este arquivo. Adicione ".env" ao seu .gitignore.
DRAFTIN_API_KEY=dra_xxxxxxxxxxxxxxxxxxxxxxxxxxx

2. Conheça a base URL

Todos os endpoints públicos vivem sob o prefixo /public a partir da base de produção https://api.draftin.io. Um caminho completo fica assim:

endpoint
https://api.draftin.io/public/posts

3. Faça a primeira chamada

Liste os cinco posts publicados mais recentes. A chave vai no header X-API-Key; nenhum outro cabeçalho é obrigatório para requisições GET.

curl https://api.draftin.io/public/posts?limit=5 \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Uma resposta bem-sucedida (200 OK) é um envelope { success, data } com o array de objetos Post em data:

200 OK
{
  "success": true,
  "data": [
    {
      "id": "clxxx101",
      "title": "Meu Primeiro Post",
      "subtitle": "Subtítulo do post",
      "slug": "meu-primeiro-post",
      "status": "PUBLISHED",
      "publishedAt": "2026-06-01T12:00:00.000Z",
      "content": "Conteúdo do post em HTML ou Markdown",
      "blogId": "clxxx789",
      "authorId": "clxxx123",
      "categories": [],
      "tags": []
    }
  ]
}

4. Trate a autenticação ausente

Se a chave estiver errada ou faltando, a API responde 401 Unauthorized. Sempre verifique res.ok (ou o status) antes de consumir o corpo:

JavaScript
const res = await fetch("https://api.draftin.io/public/posts", {
  headers: { "X-API-Key": process.env.DRAFTIN_API_KEY },
});

switch (res.status) {
  case 200:
    return (await res.json()).data; // o payload vem em data
  case 401:
    throw new Error("Chave de API inválida ou ausente.");
  default:
    throw new Error(`Erro inesperado: ${res.status}`);
}

Próximos passos