API Dokümantasyonu

BlogGenerator API ile yayınlanmış blog yazılarınızı listeleyin, tekil içerik çekin ve uygulamanıza entegre edin.

Genel Bakış

BlogGenerator API, yayınladığınız blog yazılarını programatik olarak almanızı sağlar. REST API ile içerikleri uygulamanıza, sitenize veya otomasyon sistemlerinize entegre edebilirsiniz.

  • İçerik teslimi: Yayınlanmış blog yazılarını REST API ile çekin
  • Esnek sorgulama: Durum, dil veya slug ile filtreleme
  • Zengin metadata: SEO verisi, etiketler, yazar bilgisi
  • Güvenli erişim: API anahtarı ile kimlik doğrulama

Base URL: https://api.blogenerate.com

Önerilen endpoint: /v1/api/blog (cursor tabanlı sayfalama)

Hızlı Başlangıç

  1. Dashboard'a giriş yapın ve API Docs bölümünden çalışma alanınız için API anahtarı oluşturun.
  2. İsteklerde Authorization: Bearer YOUR_API_KEY header'ını kullanın.
  3. Yayınlanmış yazıları listelemek için GET /v1/api/blog?status=published endpoint'ini çağırın.
bash
curl -X GET "https://api.blogenerate.com/v1/api/blog?status=published&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Başarılı yanıt: { success: true, data: [...], meta: { next_cursor, has_more } }

Kimlik Doğrulama

API anahtarı çalışma alanına özeldir; ilgili çalışma alanındaki içeriklere erişim sağlar. Anahtar formatı: bg_<64-karakter-hex>

Önerilen: Bearer token

http
Authorization: Bearer bg_your_api_key_here

Alternatif: X-API-Key: bg_your_api_key_here header'ı da kullanılabilir. Anahtarı asla URL query parametresi olarak göndermeyin.

API Referansı

Blog listeleme

GET /v1/api/blog — Cursor tabanlı sayfalama (önerilen).

ParametreTipAçıklama
statusstringdraft, generated, review, published
limitnumberVarsayılan 50, max 100
cursorstringÖnceki yanıttan meta.next_cursor

Tekil yazı (ID)

GET /v1/api/blog/:id — Tam içerik (HTML, markdown, SEO, TOC, FAQ).

Tekil yazı (slug)

GET /v1/api/blog/slug/:slug — Slug ile tam içerik.

Giriş yaptıktan sonra dashboard'taki API Docs sayfasında tüm endpoint detayları ve anahtar yönetimi bulunur.

Hata Yönetimi

Tüm hata yanıtları aynı yapıdadır:

json
{
  "success": false,
  "message": "Hata mesajı",
  "error": "Detaylı açıklama"
}
KodAnlamAçıklama
200OKBaşarılı
400Bad RequestGeçersiz parametre
401UnauthorizedEksik veya geçersiz API anahtarı
404Not FoundKaynak bulunamadı
429Too Many RequestsRate limit aşıldı
500Internal Server ErrorSunucu hatası

Limitler ve Kota

Planınıza göre dakikalık/günlük istek limitleri uygulanır. Yanıt header'larında limit bilgisi döner:

http
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1641024000

Limit aşımında 429 Too Many Requests döner. Üstel geri çekilme (exponential backoff) ve önbellek kullanımı önerilir.

Kod Örnekleri

JavaScript (cursor ile sayfalama):

javascript
const API_BASE = 'https://api.blogenerate.com';
const API_KEY = process.env.BLOG_API_KEY;

async function listPosts(cursor = null) {
  const params = new URLSearchParams({ status: 'published', limit: '50' });
  if (cursor) params.append('cursor', cursor);

  const res = await fetch(`${API_BASE}/v1/api/blog?${params}`, {
    headers: { 'Authorization': `Bearer ${API_KEY}` }
  });
  const data = await res.json();
  return { posts: data.data || [], meta: data.meta || {} };
}

// Tüm sayfaları çek
async function getAllPosts() {
  const all = [];
  let cursor = null;
  let hasMore = true;
  while (hasMore) {
    const { posts, meta } = await listPosts(cursor);
    all.push(...posts);
    hasMore = meta.has_more ?? false;
    cursor = meta.next_cursor;
    if (!cursor && !hasMore) break;
  }
  return all;
}

Destek

Teknik sorularınız veya entegrasyon desteği için iletişim sayfamızdan bize ulaşabilirsiniz. Dashboard içindeki API Docs sayfasında canlı örnekler ve API anahtar yönetimi bulunur.