Zamanlama
Zamanlama, bir gönderiyi bir veya birçok ileri zaman damgasına sabitler. Editör manuel girişin yanı sıra, kanalının etkileşim geçmişi tarafından desteklenen bir Boş slot bul butonu sunar.
time_posts
time_posts bir ISO-8601 zaman damgaları dizisidir. post_by: 1 (zamanla) veya post_by: 2 (belirli günler/saatler) ile dizi, çoklu kanal dağıtımının her bacağı için zamanlamayı tutar — bacak başına bir giriş.
Kısıtlar:
- Tüm girişler gelecekte en az 1 dakika olmalıdır.
- ISO-8601 string'leri her zaman UTC olarak yorumlanır; kanal-yerel zamanları gönderim öncesi client tarafında dönüştürülür.
Boş slot bul
GET /api/v1/posts/find-slot?accounts=<id1>,<id2>&count=<1-10>Yanıt şeklinde count (varsayılan 3) önerilen slota kadar döner:
{
"slots": [
{ "iso": "2026-05-04T13:00:00.000Z", "hour": 13, "weekday": 1, "score": 18.4, "source": "engagement" }
]
}Slot'lar nasıl seçilir (backend/src/services/findSlot.service.ts'den):
- Sağlanan hesaplar için
PostStats'i 90 günlük pencerede sorgular. - UTC
hour × weekday'e göre toplar, ortalama etkileşimi hesaplar (likes + comments + shares + scaled engagement-rate). - En iyi
countkadar farklı(hour, weekday)kombinasyonunu döner. - Etkileşim sinyali çok zayıfsa, varsayılan UTC saatleri 9, 13, 19'a
source: "default"ile düşer.
Saat dilimi yönetimi
İç saklama ve find-slot hesaplamaları UTC'dir. Hesap-başı saat dilimleri henüz find-slot'a bağlı değildir; takvim UI'sındaki kanal-yerel görüntüleme bir frontend konusudur. Tekrarlama modeli, gelecekteki kullanım için Europe/Istanbul'a varsayılanlanmış bir timezone alanı içerir.
Tekrarlama (planlanmış)
Gönderi modeli bir recurrence blokunu destekler:
recurrence?: {
rrule: string; // RFC 5545 rrule
until?: Date;
count?: number;
timezone?: string; // varsayılan "Europe/Istanbul"
}Saklama ve okumalar mevcut ama bugün hiçbir UI yüzeyi tekrarlamayı etkinleştirmez. Bunu yaklaşan olarak ele al; kullanıcılar şu anda bunun yerine bireysel time_posts zamanlar.