API Dokümantasyonu

BlogProduce API

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

Base URL: https://api.blogproduce.comv1Bearer Token

Genel Bakış

BlogProduce 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.blogproduce.comÖnerilen: /v1/api/blog

Hızlı Başlangıç

  1. 1Dashboard'a giriş yapın ve API Docs bölümünden çalışma alanınız için API anahtarı oluşturun.
  2. 2İsteklerde Authorization: Bearer YOUR_API_KEY header'ını kullanın.
  3. 3Yayınlanmış yazıları listelemek için GET /v1/api/blog?status=published endpoint'ini çağırın.
bash
curl -X GET "https://api.blogproduce.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": true } }

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ı

GET

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
GET

Tekil yazı (ID)

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

GET

Tekil yazı (slug)

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

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.blogproduce.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.