PushizoDocs
Analitik & veri

Dışa ve içe aktarma (CSV)

CSV export işleri (users, subscriptions, events, deliveries), imzalı indirme bağlantısı, Pushizo ve OneSignal CSV içe aktarma, hata raporu ve saklama süreleri.

Toplu veri taşıma asenkron iş (job) modeliyle çalışır: iş oluşturulur, worker dosyayı üretir/işler, durum queued → running → completed | failed olarak sorgulanır. Dosyalar S3 uyumlu depolamada org/{org_id}/app/{app_id}/… önekiyle saklanır; indirme bağlantıları 24 saat geçerli imzalı URL'dir.

Dışa aktarma

POST /v1/apps/{app_id}/exports { "type": "users" | "subscriptions" | "events" | "deliveries" | "message_events", "filters"?: { "from"?, "to"?, … } } (admin) → { id, status }. Durum GET …/exports/{id} → status, row_count, download_url ve expires_at (tamamlanınca), error; liste GET …/exports?cursor=.

Türİçerik
usersKullanıcı profili, alias'lar, tag/özellikler, dil, saat dilimi, oluşturma/son etkinlik
subscriptionsAbonelikler: kanal, durum, cihaz, opt-in/çıkış zamanları (token'lar maskeli)
eventsOlaylar: ad, özellikler, değer, zaman
deliveriesid, message_id, campaign_id, subscription_id, user_id, channel, status, error_code, suppression_reason, sent_at, delivered_at, opened_at, clicked_at, created_at
message_eventsTeslimat olay zaman çizelgesi (gönderildi/teslim/açıldı/tıklandı/bounce…)

Mesaj bazlı CSV: GET /v1/notifications/{id}/history (teslimatlar) ve POST …/export_events (olaylar). Org düzeyinde veri dışa aktarma talebi ve denetim kaydı dışa aktarımı (plan özelliği) dashboard Organizasyon → Veri & gizlilik altındadır; SIEM için günlük NDJSON audit akışı (güvenlik).

İçe aktarma

POST /v1/apps/{app_id}/imports (multipart/form-data: type, file; admin):

typeBiçim
csv_usersPushizo CSV: external_id, email?, phone?, push_token?, channel?, language?, timezone?, tags.<ad>?, properties.<ad>? sütunları; aynı external_id satırları birleştirilir
onesignal_playersOneSignal "Export players" CSV'si (OneSignal'den göç)

Kurallar: UTF-8, ilk satır başlık, en fazla 50 MB; e-posta küçük harfe, telefon E.164'e normalize edilir, geçersiz satırlar hata raporuna yazılır (GET …/imports/{id} → status, stats (işlenen/başarısız satır), error_report_url, file_name). İçe aktarma webhook üretmez ve kota sayaçlarına abone olarak yansır. Yüklenen dosya IMPORT_FILE_RETENTION_DAYS (varsayılan 7 gün) sonra silinir.

cURL:

curl -X POST "https://api.pushizo.com/v1/apps/app_…/imports" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -F "type=csv_users" -F "file=@users.csv"

Sunucu SDK'larında hs.imports.create({ type, file }); örnekler API → Dışa / içe aktarma. Dashboard: Kitle → Dışa/İçe aktarım.

Operasyon

Büyük içe/dışa aktarımlar için worker eşzamanlılığı, bellek ve depolama kotası notları: import/export runbook. Performans referansı: 100.000 kullanıcı dışa aktarımı ≈ 2 sn (18 MB CSV).

Bu sayfada