API
Documentação da API
Endpoints públicos, limites de requisições e formato das respostas. A mesma documentação está disponível em versão Markdown.
API do Bom Dia, Artisan
Base: https://bom-dia-artisan.dev/api
API pública e somente leitura. Toda resposta é JSON, com Content-Type: application/json.
GET /api/reports
Lista todas as edições publicadas, da mais recente à mais antiga.
curl https://bom-dia-artisan.dev/api/reportsResposta: array de edições.
[
{
"date": "2026-09-30",
"title": "Edição de 30 de setembro de 2026",
"generatedAt": "2026-09-30T08:00:00-03:00",
"summary": "Resumo curto das mudanças mais relevantes do dia.",
"sections": [
{
"name": "Laravel Framework",
"items": [
{
"title": "Título da atualização",
"description": "Resumo curto.",
"status": "Merged",
"details": "Detalhes em Markdown.",
"url": "https://github.com/laravel/framework/pull/00000",
"source": "laravel/framework"
}
]
}
],
"sources": [{ "title": "Fonte", "url": "https://github.com/laravel/framework" }],
"metadata": { "timezone": "America/Sao_Paulo" }
}
]GET /api/reports/{date}
Uma única edição. date usa o formato YYYY-MM-DD.
curl https://bom-dia-artisan.dev/api/reports/2026-09-30Resposta: o mesmo objeto de edição, sem array.
Campos
date: data da edição (YYYY-MM-DD);title: título da edição;generatedAt: quando a edição foi gerada, em ISO 8601;summary: resumo curto;sections[].name: nome da seção;sections[].items[]: itens da seção, comtitle,description,details(Markdown),status(Released,MergedouRecommended),urlesource;sources[]: fontes citadas, comtitleeurl;metadata: metadados livres da edição.
Limite de requisições
10 requisições a cada 60 segundos por IP, nas rotas /api/*.
Toda resposta traz:
X-RateLimit-Limit: teto da janela atual;X-RateLimit-Remaining: requisições restantes na janela;X-RateLimit-Reset: fim da janela, em segundos Unix.
Ao estourar o limite, a API responde 429 com Retry-After:
{ "statusCode": 429, "statusMessage": "Muitas requisições" }Erros
Erros usam statusCode e statusMessage:
{ "statusCode": 404, "statusMessage": "Relatório não encontrado" }404: data inexistente ou fora do formato YYYY-MM-DD.