SeoGeo API'ye Hoş Geldiniz
SeoGeo API, kurumsal içerik üretiminizi kod üzerinden veya yapay zeka asistanları vasıtasıyla kontrol etmenizi sağlar. Sadece tek bir HTTP isteği ile rakipleri analiz eden, SEO uyumlu ve kapak görselli bir makale üretebilirsiniz.
Makale Üretin
Asenkron veya senkron olarak anında SEO odaklı içerik oluşturun.
Sisteminize Çekin
Üretilen içerikleri Webhook ile otomatik olarak veritabanınıza gönderin.
🤖 Yapay Zeka (AI Agent) ile 5 Saniyede Entegrasyon
Projelerinizi Cursor, Claude, ChatGPT veya v0 gibi bir yapay zeka kodlama asistanında geliştiriyorsanız, aşağıdaki tek satırlık sistemi talimatını (system prompt) doğrudan kopyalayıp asistanınıza verebilirsiniz. Yapay zeka tüm veritabanı kayıt, API çağrısı ve webhook dinleme kodlarını sizin yerinize sıfırdan yazacaktır!
Sen kıdemli bir yazılım mimarısın. Sana verilen projeyi tam donanımlı, güvenli bir "Yayıncılık ve CMS Platformu (Headless API)" haline getireceksin.
Lütfen aşağıdaki adımları tek seferde, eksiksiz ve en iyi pratiklerle sırasıyla uygula:
1. GÜVENLİ API UÇ NOKTALARI OLUŞTUR:
Projenin mimarisine göre (Next.js ise app/api/v1/posts/route.ts ve app/api/v1/posts/[id]/route.ts, .NET Core ise PostsController vb.) aşağıdaki uç noktaları oluştur:
- POST /api/v1/posts (Makale Ekleme):
Hem standart JSON formatını hem de SeoGeo asenkron webhook yapısını otomatik algılamalıdır.
İçerik verisi gönderilerinde anahtar "content" veya "htmlContent" olarak gelebilir; sistem her ikisini de otomatik algılayıp yazı içeriğine eşlemelidir!
Standard Format: { "title": "...", "slug": "...", "htmlContent": "..." veya "content": "...", "metaDescription": "...", "imageUrl": "..." }
SeoGeo Format: { "id": "...", "status": "completed", "article": { "title": "...", "slug": "...", "htmlContent": "...", "imageUrl": "..." } }
- GET /api/v1/posts (Makale Listeleme):
Sorgu parametrelerinden limit (varsayılan 10) ve category (opsiyonel kelime filtreleme) parametrelerini desteklemelidir.
- GET /api/v1/posts/[id] (Makale Detayı):
[id] parametresine Database ID veya Slug değeri yazıldığında sistem bunu otomatik olarak algılayıp bulmalıdır (Premium Arama Çözümü).
- PUT / PATCH /api/v1/posts/[id] (Makale Güncelleme):
Yazıyı günceller. ID veya Slug otomatik algılanmalıdır.
- DELETE /api/v1/posts/[id] (Makale Silme):
Yazıyı siler. ID veya Slug otomatik algılanmalıdır.
2. YETKİLENDİRME (AUTHORIZATION) VE GÜVENLİK:
Tüm bu dış site isteklerini aşağıdaki Bearer Token yapısıyla kimlik doğrulamasına tabi tut. Yetkisiz veya yanlış token'lı istekleri anında 401 Unauthorized ile engelle. Global auth filtreleri varsa bu rotayı bypass et (Örn: [AllowAnonymous] veya Next.js route bypass):
Authorization: Bearer sg_live_2026_plansizin_8f7b3c2a9d4e5f6e8a0b
3. OLUŞTURULACAK ENTITY / TABLO:
Eğer projede zaten bir Makale/Haber/Blog veritabanı tablosu varsa onu kullan. Yoksa, en az şu alanları içeren yeni bir Makale (Article/Post) yapısı oluştur:
- Id, Title, HtmlContent, Slug, MetaDescription, ImageUrl, PublishedUrl, PublishedAt, ApprovalStatus (Draft/Published)
4. CRUD SİMÜLASYON TEST BETİĞİ OLUŞTUR:
Projenin ana dizininde scripts/simulate-public-api.ts adında sıfır bağımlılıklı (sadece yerleşik Node.js http/fetch kullanan) bir TypeScript test betiği oluştur. Terminalden şu komutla çalıştırılacak:
npx ts-node scripts/simulate-public-api.ts
Bu betik sırasıyla:
- Yetkisiz istek atıp 401 aldığını doğrulayacak.
- Sahte bir makaleyi ekleyecek.
- Tüm makaleleri listeleyip eklenen yazıyı doğrulayacak.
- Yazıyı Slug değeri ile çekip Premium Çözümü test edecek.
- Yazıyı güncelleyip yayına alacak.
- Test sonunda veritabanını temizlemek için makaleyi silecek.
Tüm kodları tek seferde, eksiksiz ve hata vermeyecek şekilde kurumsal kalitede yaz. Projede halihazırda var olan sınıfları aramakla vakit kaybetme; eğer yoksa sıfırdan oluştur!