{% extends "_panel.html" %}
{% block title %}seoGeo — API{% endblock %}
{% block content %}
REST API
Panelin tüm işlevleri JSON uç noktalarıyla da kullanılabilir
SEOGEO_API_TOKEN tanımlıysa tüm isteklerde
X-Api-Token başlığı (veya ?token=) gerekir. Tanımlı değilse uç
noktalar açıktır — paneli ağa açarken mutlaka tanımlayın.
POST /api/lead-audit {"url": "musteri.com", "max_pages": 10}
GET /api/lead-audit?url=... &save=false
~40 sn · harf notu, skorlar, ilk 3 hızlı kazanç, özet metin. Landing sayfanıza gömün.
GET /api/audits?host=ornek.com&limit=50 → {"audits": [...meta...]}
GET /api/audits/{id} → skorlar, sayılar, üst aksiyonlar
POST /api/jobs {"url": "ornek.com", "max_pages": 50, "max_depth": 3,
"pagespeed_pages": 3, "strategy": "mobile",
"use_gsc": true, "ga4_property": "123"}
→ 202 {"job_id": "...", "status_url": "/api/jobs/..."}
GET /api/jobs/{id} → {"status": "running|done|error", "audit_id": "...", ...}
GET /api/sites → her sitenin son denetim özeti
GET /api/schedules → zamanlanmış denetimler
POST /api/schedules {"url": "ornek.com", "interval_hours": 168}
DELETE /api/schedules/{id}
interval_hours: 0 eşleşen zamanlamayı kapatır.
curl -s http://127.0.0.1:8000/api/audits -H 'X-Api-Token: ...'
curl -s -X POST http://127.0.0.1:8000/api/jobs \
-H 'Content-Type: application/json' -H 'X-Api-Token: ...' \
-d '{"url": "ornek.com", "max_pages": 30}'