API Referansı

AutoSEO REST API için tam referans. Aksi belirtilmedikçe tüm uç noktalar geçerli bir Bearer token gerektirir. Temel URL: https://panel.seoauto.ai

Genel Bakış

AutoSEO PSEO Otomasyon API'si, programlı olarak web sitesi (PSEO) oluşturmanıza, AI tabanlı içerik üretimini tetiklemenize, üretim işlerini takip etmenize ve içerik pipeline'ınızı yönetmenize olanak tanır. Tüm uç noktalar /pseo-endpoints yolu altında, Directus backend'ine monte edilmiştir.

Temel URL

https://panel.seoauto.ai

Kimlik Doğrulama

Bearer Token (JWT)

Format

JSON (REST)


Kimlik Doğrulama

Tüm API çağrıları (sağlık kontrolü hariç) Bearer başlığı olarak iletilen bir Directus kullanıcı token'ı gerektirir. Giriş yaparak kısa ömürlü bir erişim token'ı edinin veya panonuzdan oluşturulan uzun ömürlü statik bir token kullanın.

Seçenek 1 — Giriş (kısa ömürlü JWT)

POSThttps://panel.seoauto.ai/auth/login
json — request body
{
  "email": "you@example.com",
  "password": "••••••••"
}
json — response
{
  "data": {
    "access_token": "eyJhbGciO...",
    "expires": 3600000,
    "refresh_token": "..."
  }
}

Seçenek 2 — Statik token (pano)

Pano → API Anahtarı'na gidin ve kalıcı bir statik token oluşturun. Bearer değeri olarak doğrudan kullanın — takip edilecek son kullanma tarihi yok.

Token kullanımı

http header
Authorization: Bearer <your_access_token>

Sağlık Kontrolü

GEThttps://panel.seoauto.ai/pseo-endpoints/

Eklenti durumunu ve mevcut uç noktaların listesini döndürür. Kimlik doğrulama gerekmez.

json — response 200
{
  "status": "ok",
  "extension": "pseo-automation",
  "version": "1.0.0",
  "timestamp": "2026-03-10T12:00:00.000Z",
  "endpoints": [
    "GET /",
    "POST /pseo",
    "POST /trigger/on-demand-generation",
    "POST /trigger/bulk-generation",
    "GET /generations/:id",
    "GET /generations?pseo_id=X",
    "POST /generate/main-json",
    "GET /fetch-sitemap?pseo_id=X"
  ]
}

Web Sitesi Oluştur

POSThttps://panel.seoauto.ai/pseo-endpoints/pseo

Kimliği doğrulanmış kullanıcı için yeni bir PSEO (web sitesi kaydı) oluşturur. PSEO kaydı, belirli bir web sitesi için tüm içerik üretimi ayarlarını tutan kök varlıktır.

İstek Gövdesi

AlanTürZorunluAçıklama
website_urlstringzorunluHedef web sitesinin tam URL'si (örn. https://example.com)
master_promptstringzorunluBu web sitesi için içerik üretirken AI'ya rehberlik eden talimatlar
website_softwarestringisteğe bağlıCMS/platform tanımlayıcısı. Varsayılan "wordpress"
json — request body
{
  "website_url": "https://example.com",
  "website_software": "wordpress",
  "master_prompt": "This website sells handmade leather bags targeting fashion-conscious adults in the US. Write SEO-friendly product content in English using a professional yet warm tone."
}
json — response 201
{
  "success": true,
  "message": "PSEO created successfully",
  "data": {
    "id": 42,
    "website_url": "https://example.com",
    "website_software": "wordpress",
    "directus_user_id": "uuid-...",
    "post_counts_total": 0
  },
  "timestamp": "2026-03-10T12:00:00.000Z"
}

Üretimi Başlat (Test)

POSThttps://panel.seoauto.ai/pseo-endpoints/trigger/on-demand-generation

Bir PSEO için test amaçlı talep üzerine içerik üretimi işi başlatır. Maksimum 1 sayfa ile sınırlıdır — daha fazla sayfa üretmek için Toplu Üretim kullanın. İş arka planda zaman uyumsuz olarak çalışır; durumu sorgulamak için döndürülen generation_id'yi kullanın. Token'lar token_per_page oranında hemen düşülür.

Test modu — maksimum 1 sayfa

Talep üzerine üretim 1 sayfa ile sınırlıdır ve kurulumunuzu test etmek içindir. Aynı anda birden fazla sayfa üretmek için Claude Batch API kullanan Toplu Üretim uç noktasını kullanın.

İstek Gövdesi

AlanTürZorunluAçıklama
pseo_idnumberzorunluİçerik üretilecek PSEO'nun (web sitesinin) ID'si
post_countnumberzorunluÜretilecek sayfa sayısı. 1 olmalıdır (test sınırı)
json — request body
{
  "pseo_id": 42,
  "post_count": 1
}
json — response 202
{
  "success": true,
  "message": "Generation started in background",
  "generation_id": 7,
  "status": "pending",
  "timestamp": "2026-03-10T12:00:00.000Z"
}

Eşzamanlı üretim sınırı

Her PSEO için aynı anda yalnızca bir aktif üretim işine izin verilir. Durumu pending veya running olan bir iş zaten mevcutsa istek 409 Conflict döndürür.


Toplu Üretim

POSThttps://panel.seoauto.ai/pseo-endpoints/trigger/bulk-generation

Claude Batch API kullanarak toplu AI içerik üretimi işi başlatır. Tek bir istekte istenen sayıda sayfa desteklenir. İş arka planda zaman uyumsuz olarak çalışır — durumu sorgulamak için döndürülen generation_id'yi kullanın. Token'lar token_per_batch_page oranında hemen düşülür.

İstek Gövdesi

AlanTürZorunluAçıklama
pseo_idnumberzorunluİçerik üretilecek PSEO'nun (web sitesinin) ID'si
post_countnumberzorunluÜretilecek sayfa sayısı (pozitif tam sayı, üst sınır yok)
json — request body
{
  "pseo_id": 42,
  "post_count": 100
}
json — response 202
{
  "success": true,
  "message": "Bulk generation started in background",
  "generation_id": 12,
  "status": "pending",
  "timestamp": "2026-03-10T12:00:00.000Z"
}

Eşzamanlı üretim sınırı

Her PSEO için aynı anda yalnızca bir aktif üretim işine izin verilir. Durumu pending veya running olan bir iş zaten mevcutsa istek 409 Conflict döndürür.


Üretimi Getir

GEThttps://panel.seoauto.ai/pseo-endpoints/generations/:id

Tek bir üretim işinin tam durum kaydını döndürür. İlerlemeyi takip etmek için üretim başlattıktan sonra bu uç noktayı sorgulayın.

Yol Parametreleri

AlanTürZorunluAçıklama
idnumberzorunluÜretim başlatma uç noktasının döndürdüğü generation_id
json — response 200
{
  "success": true,
  "data": {
    "id": 7,
    "pseo_id": 42,
    "status": "running",        // pending | running | completed | failed
    "requested_count": 10,
    "created_count": 4,
    "failed_count": 0,
    "failed_routes": [],
    "date_created": "2026-03-10T12:00:00.000Z",
    "date_updated": "2026-03-10T12:01:30.000Z",
    "date_completed": null
  },
  "timestamp": "2026-03-10T12:01:35.000Z"
}
DurumAnlam
pendingİş sıraya alındı, henüz başlamadı
runningAI aktif olarak sayfa üretiyor
completedTüm sayfalar başarıyla oluşturuldu
failedİş kritik bir hata nedeniyle durdu; failed_routes'u kontrol edin

Üretimleri Listele

GEThttps://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=:pseo_id

Verilen bir PSEO için en son 50 üretim işinin listesini, en yeniden başlayarak döndürür. Yalnızca kimliği doğrulanmış kullanıcıya ait işleri döndürür.

Sorgu Parametreleri

AlanTürZorunluAçıklama
pseo_idnumberzorunluÜretimlerin listeleneceği PSEO'nun (web sitesinin) ID'si
http — example request
GET https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=42
Authorization: Bearer <token>
json — response 200
{
  "success": true,
  "data": [
    {
      "id": 8,
      "pseo_id": 42,
      "status": "completed",
      "requested_count": 5,
      "created_count": 5,
      "failed_count": 0,
      "failed_routes": [],
      "date_created": "2026-03-10T13:00:00.000Z",
      "date_completed": "2026-03-10T13:04:21.000Z"
    },
    { "id": 7, "status": "completed", "..." : "..." }
  ],
  "timestamp": "2026-03-10T14:00:00.000Z"
}

Site Haritası Oluştur

POSThttps://panel.seoauto.ai/pseo-endpoints/generate/main-json

PSEO için AI kullanarak yapılandırılmış bir içerik planı (main_json) oluşturur — esasen içerik üretimi için plan olarak kullanılacak sayfa rotaları, başlıklar ve meta veri listesi. Token'lar token_per_main_json oranında düşülür.

İstek Gövdesi

AlanTürZorunluAçıklama
pseo_idnumberzorunluHedef PSEO'nun ID'si
language_codestringzorunluİçerik planı için dil, örn. en-US, tr-TR, de-DE
descriptionstringzorunluİşletme açıklaması (150–1000 karakter). Sektör, hizmetler, hedef kitle ve hedefleri kapsamalıdır.
json — request body
{
  "pseo_id": 42,
  "language_code": "en-US",
  "description": "We sell premium handmade leather goods including bags, wallets, and belts targeting fashion-conscious adults aged 25–45 in the United States. Our USP is ethically sourced full-grain leather with lifetime repair guarantee."
}
json — response 200
{
  "success": true,
  "message": "main_json generated and saved successfully",
  "data": {
    "main_json": {
      "pages": [
        { "route": "/leather-bags", "title": "Premium Leather Bags", "priority": 1 },
        { "route": "/leather-wallets", "title": "Handmade Leather Wallets", "priority": 2 }
      ]
    },
    "total_pages": 28
  },
  "timestamp": "2026-03-10T12:00:00.000Z"
}

Eşzamanlı üretim sınırı

Kullanıcı başına aynı anda yalnızca bir main_json üretimi çalışabilir. Eşzamanlı istekler 409 Conflict döndürür.


Site Haritasını Getir

GEThttps://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=:pseo_id

Bir PSEO ile ilişkili web sitesinin site haritasını getirir ve ayrıştırır. Birden fazla yaygın site haritası yolunu otomatik olarak dener (site haritası dizinleri dahil). Bulunan tüm sayfa URL'lerinin düz bir listesini döndürür. Mevcut bir web sitesinin URL yapısını içe aktarmak için kullanışlıdır.

Sorgu Parametreleri

AlanTürZorunluAçıklama
pseo_idnumberzorunluPSEO ID — site haritası bu kayıtta saklanan website_url'den getirilir

Denenen site haritası yolları (sırasıyla): /sitemap.xml /sitemap_index.xml /wp-sitemap.xml /sitemap

http — example request
GET https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=42
Authorization: Bearer <token>
json — response 200
{
  "success": true,
  "urls": [
    "https://example.com/",
    "https://example.com/leather-bags",
    "https://example.com/leather-wallets",
    "https://example.com/about"
  ]
}

Site haritasi bulunamazsa veya siteye ulasilamazsa bos bir urls dizisi dondurur. Hata firlatmaz.


Hata Kodları

Tüm hata yanıtları aynı yapıyı izler:

json — error shape
{
  "success": false,
  "error": "Human-readable error message",
  "timestamp": "2026-03-10T12:00:00.000Z"
}
DurumAnlam
400Bad RequestEksik veya geçersiz istek parametreleri
401UnauthorizedEksik veya geçersiz Bearer token
402Payment Requiredİstenen işlem için yetersiz token bakiyesi
403ForbiddenKimliği doğrulanmış kullanıcı istenen kaynağın sahibi değil
404Not FoundPSEO veya üretim kaydı mevcut değil
409ConflictEşzamanlı bir üretim işi zaten aktif
500Internal Server ErrorBeklenmedik sunucu taraflı hata; eklenti günlüklerini kontrol edin
API Referansı | SeoAuto.ai | SeoAuto.ai