Skip to content

Toplu İçe Aktarım

Toplu içe aktarım, tek bir yüklemede birçok gönderi göndermene izin verir. Backend CSV'yi parse eder, satır bazında doğrular ve satırın tarihinden — geçersizse now'dan — başlayarak sabit aralıklarla yerleştirilmiş gönderiler oluşturur.

Endpoint

POST /api/v1/bulk-posts
  • Auth + çalışma alanı + aktif abonelik zorunlu, ayrıca posts.bulk_upload plan özelliği.
  • Multipart form-data yükleme, alan adı mediaCsv.
  • Multer config: bellek içi depolama, 10 MB maks dosya boyutu, yalnızca CSV mime tipi.

Body alanları:

  • accounts — dağıtım yapılacak kanal ID'leri dizisi.
  • mediaCsv — CSV dosyası.
  • interval — ardışık gönderiler arası dakikalar (>= 1).

CSV formatı

bulk_template.csv'den alınan beklenen sütun sırası:

Text, Year, Month, Day, Hour (0-23), Minutes, Image URL, Link
  • Text — açıklama gövdesi. Tırnaklı string'ler desteklenir; gömülü virgüller backslash ile escape edilir, gömülü tırnaklar için "".
  • Year / Month / Day / Hour / Minutes — zamanlama bileşenleri. Month 1–12, Day 1–31 (takvim-farkındalı doğrulama ile), Hour 0–23, Minutes 0–59.
  • Image URL — bir medya varlığına public URL (veya yalnızca metin gönderiler için boş).
  • Link — gönderiye eklenen opsiyonel URL.

İlk satır, ilk sütunu "text" kelimesini içeriyorsa (büyük/küçük harf duyarsız) header olarak ele alınır.

Doğrulama davranışı

  • Geçersiz yapılı satırlar sessizce atlanır. Endpoint yalnızca hiç geçerli satır kalmadığında bir hata döner.
  • Parse edilen tarih geçersizse (örn. 30 Şubat) veya geçmişteyse, Sosyabot now'dan başlar ve sonraki gönderileri interval dakikalarla yerleştirir.
  • Mevcut build'de dry-run modu yoktur.

Şablon indirme

GET /api/v1/bulk-posts/template

Kanonik bulk_template.csv'yi attachment olarak döner. Başlangıç noktası olarak kullan.

Frontend UI

Yükleme formu /app/bulk-posts'tadır: kanalları seç, aralığı ayarla, bir CSV bırak. Gönderme multipart payload'ı /api/v1/bulk-posts'a gönderir.

Tırnak önemlidir

Açıklamalarınız virgül veya yeni satır içeriyorsa, çift tırnak içine alın ve iç tırnakları çiftleyerek (""") escape edin. Parser tırnak dengesi konusunda katıdır.

İlgili