API referansı

Blog HTML ve SEO meta verisini yığınınıza çekin. Temel yol: `/api/v1`.

OpenAPI 3.0 spec indir →

Sitenizde zaten olan içerik

Webhook'lar yalnızca GrowthDailySeo yeni bir taslak oluşturduğunda tetiklenir. CMS'inizde zaten bulunan veya API'yi bağlamadan önce oluşturulan yazılar otomatik gönderilmez.

  1. Tek seferlik içe aktarma için `status=published` (taslaklar için `status=draft`) ile `GET /posts` sayfalayın.
  2. Her öğenin `updatedAt` değerini saklayın; tam katalogu yeniden çekmek yerine `updatedAfter` ile güncellemeleri alın.
  3. Yanıt `ETag` ile `If-None-Match` kullanın — değişmeyen sayfaları atlayın, kotayı koruyun.
GET/api/v1/sites/:siteId/posts

CMS senkronu için sayfalanmış yazılar. Varsayılan olarak taslak + yayınlanmış döner (yeni taslaklar hemen içe aktarılabilir).

Sorgu parametreleri

  • page — Sayfa numarası (varsayılan 1)
  • pageSize — Sayfa başına öğe, maks 50 (varsayılan 12)
  • search — Büyük/küçük harf duyarsız başlık filtresi
  • status — Filtre: `draft`, `published` veya `all` (varsayılan — taslak + yayınlanmış, CMS senkronu için önerilir)
  • language — ISO dil kodu (ör. `en`, `tr`) — her yazının `language` alanıyla eşleşir
  • updatedAfter — ISO 8601 zaman damgası — yalnızca bu zamandan sonra güncellenen yazılar
Yanıt 200
{
  "items": [{
    "id": "...",
    "slug": "my-post",
    "title": "...",
    "contentHtml": "<article>...</article>",
    "status": "draft",
    "seo": {
      "metaDescription": "...",
      "ogTitle": "...",
      "ogDescription": "...",
      "keywords": ["..."]
    },
    "faqJsonLd": { "@type": "FAQPage", ... }
  }],
  "page": 1,
  "pageSize": 12,
  "total": 42,
  "totalPages": 4
}
GET/api/v1/sites/:siteId/posts/:slug

Tam yazı payload'ı: contentHtml, excerpt, seo, faqJsonLd. Taslak ve yayınlanmış slug'lar için çalışır.

GET/api/v1/sites/:siteId/guides/:slug

Slug'a göre tek yayınlanmış rehber döner.

Yanıt 200 (camelCase JSON)
{
  "id": "...",
  "slug": "my-guide",
  "title": "...",
  "contentHtml": "<article>...</article>",
  "status": "published",
  "publishedAt": "2026-07-21T12:00:00.000Z",
  "updatedAt": "2026-07-21T12:00:00.000Z"
}
GET/api/v1/sites/:siteId/sitemap.xml

Yayınlanmış yazı ve rehberler için XML site haritası. Bearer veya tarayıcılar için `?token=` ile kimlik doğrulama.

GET/api/v1/sites/:siteId/training/export

Opt-in eğitim satırlarını NDJSON olarak stream eder (maks 500). Content-Type: application/x-ndjson.

POST/api/v1/webhooks/test

Yapılandırılmış webhook URL'nize test payload gönderir. URL yoksa 400 döner.