← Bloga dön
Teknik10 Haziran 2026· 7 dk okuma

Sync worker: Meta ve İkas verisi nasıl akar?

Vercel paneli, Upstash kuyruğu ve VPS Python worker — credential'dan Postgres'e 30 dakikalık sync mimarisi.

CiroFly veri akışı iki katmandan oluşur: control plane (Next.js panel + API) ve data plane (Python sync worker). Panel asla uzun süren API pagination döngüsü çalıştırmaz; iş kuyruğa yazılır, worker VPS'te işler.

Superadmin Entegrasyonlar ekranından Meta access token, İkas credential'ları ve Google Ads OAuth bağlantısı şifreli kaydedilir (AES-256-GCM). sync_source=worker olan markalar için job kuyruğa eklenir. Upstash Redis BRPOP ile worker job alır; Meta için campaign+objective insights, Google için GAQL searchStream, İkas için bugünün siparişleri çekilir.

Meta tarafında veri iki tabloya yazılır: meta_reports (günlük özet) ve meta_objective_daily (Ads Manager'daki 6 üst hedef — Bilinirlik, Trafik, Etkileşim, Potansiyel Müşteriler, Uygulama Tanıtımı, Satış). Kampanya adından değil, API objective alanından ayrılır.

İkas tarafında bugünün siparişleri site_reports tablosuna ciro ve sipariş adedi olarak upsert edilir. VPS cron her ~30 dakikada Vercel /api/sync/cron endpoint'ini tetikler; aynı marka için gereksiz job tekrarı minimum aralık ile önlenir.

n8n ile kurulan eski akışlar marka bazında worker'a devredilir; geçiş sürecinde sync_source=both kullanılabilir. Hedef: tüm aktif markaların Python worker üzerinden yönetilmesi.

Paneli denemek ister misiniz?

Kayıt olun veya giriş yaparak canlı marka verilerinize geçin.