PushizoDocs
API referansı

Dışa / içe aktarma

Dışa / içe aktarma — 6 işlem (GET /v1/apps/{appId}/exports, POST /v1/apps/{appId}/exports, GET /v1/apps/{appId}/exports/{exportId}, …). OpenAPI 3.1.0 sözleşmesinden üretilir.

CSV dışa aktarma işleri (users, subscriptions, events, deliveries) ve içe aktarma (Pushizo CSV, OneSignal player CSV; multipart).

Taban adres: https://api.pushizo.com · Etiket: exports · Etkileşimli belge (Scalar)

İşlemler

YöntemYolİşlem
GET/v1/apps/{appId}/exportsExport işleri
POST/v1/apps/{appId}/exportsExport işi başlat
GET/v1/apps/{appId}/exports/{exportId}Export durumu (download_url)
GET/v1/apps/{appId}/importsImport işleri
POST/v1/apps/{appId}/importsImport işi başlat (multipart: type, file)
GET/v1/apps/{appId}/imports/{importId}Import durumu

Ayrıntılar

Export işleri

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–10050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: ExportList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].app_idstringEvet
data[].typeenumEvetDeğerler: "users", "subscriptions", "events", "deliveries", "message_events"
data[].filtersobjectEvet
data[].filters.fromstring (date-time)Hayır
data[].filters.tostring (date-time)Hayır
data[].filters.namestringHayırUzunluk: 0–100
data[].filters.message_idstringHayırUzunluk: 0–64
data[].filters.campaign_idstringHayırUzunluk: 0–64
data[].filters.statusstringHayırUzunluk: 0–32
data[].filters.channelenumHayırDeğerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs"
data[].filters.segment_idstringHayırUzunluk: 0–64
data[].statusenumEvetDeğerler: "pending", "running", "completed", "failed"
data[].row_countinteger | nullEvet
data[].errorstring | nullEvet
data[].download_urlstring | nullEvet
data[].expires_atstring | nullEvet
data[].requested_bystring | nullEvet
data[].created_atstringEvet
data[].completed_atstring | nullEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "type": "users",
      "status": "pending",
      "id": "exp_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "filters": {
        "name": "Sipariş bildirimleri",
        "channel": "ios_push"
      },
      "row_count": 1,
      "error": "örnek",
      "download_url": "https://example.com/orders/1001",
      "expires_at": "örnek",
      "requested_by": "örnek",
      "created_at": "örnek",
      "completed_at": "örnek"
    }
  ],
  "next_cursor": "eyJpZCI6Im1zZ18wMUpE…",
  "has_more": true
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/exports?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Export işi başlat

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

İstek gövdesi (zorunlu)

Şema: CreateExportDto

AlanTürZorunluAçıklama
typeenumEvetDeğerler: "users", "subscriptions", "events", "deliveries", "message_events"
filtersobjectHayırVarsayılan: {}
filters.fromstring (date-time)Hayır
filters.tostring (date-time)Hayır
filters.namestringHayırUzunluk: 0–100
filters.message_idstringHayırUzunluk: 0–64
filters.campaign_idstringHayırUzunluk: 0–64
filters.statusstringHayırUzunluk: 0–32
filters.channelenumHayırDeğerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs"
filters.segment_idstringHayırUzunluk: 0–64

Örnek:

{
  "type": "users",
  "filters": {}
}

Yanıtlar

200 — Başarılı.

Şema: Export

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
typeenumEvetDeğerler: "users", "subscriptions", "events", "deliveries", "message_events"
filtersobjectEvet
filters.fromstring (date-time)Hayır
filters.tostring (date-time)Hayır
filters.namestringHayırUzunluk: 0–100
filters.message_idstringHayırUzunluk: 0–64
filters.campaign_idstringHayırUzunluk: 0–64
filters.statusstringHayırUzunluk: 0–32
filters.channelenumHayırDeğerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs"
filters.segment_idstringHayırUzunluk: 0–64
statusenumEvetDeğerler: "pending", "running", "completed", "failed"
row_countinteger | nullEvet
errorstring | nullEvet
download_urlstring | nullEvet
expires_atstring | nullEvet
requested_bystring | nullEvet
created_atstringEvet
completed_atstring | nullEvet

Örnek yanıt:

{
  "type": "users",
  "status": "pending",
  "id": "exp_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "filters": {
    "name": "Sipariş bildirimleri",
    "channel": "ios_push",
    "status": "örnek",
    "from": "2026-10-17T09:00:00Z"
  },
  "row_count": 1,
  "error": "örnek",
  "download_url": "https://example.com/orders/1001",
  "expires_at": "örnek",
  "requested_by": "örnek",
  "created_at": "örnek",
  "completed_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/exports" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "users",
  "filters": {}
}'

Export durumu (download_url)

GET/v1/apps/{appId}/exports/{exportId}Dene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
exportIdyolstringEvet"exp_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: Export

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
typeenumEvetDeğerler: "users", "subscriptions", "events", "deliveries", "message_events"
filtersobjectEvet
filters.fromstring (date-time)Hayır
filters.tostring (date-time)Hayır
filters.namestringHayırUzunluk: 0–100
filters.message_idstringHayırUzunluk: 0–64
filters.campaign_idstringHayırUzunluk: 0–64
filters.statusstringHayırUzunluk: 0–32
filters.channelenumHayırDeğerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs"
filters.segment_idstringHayırUzunluk: 0–64
statusenumEvetDeğerler: "pending", "running", "completed", "failed"
row_countinteger | nullEvet
errorstring | nullEvet
download_urlstring | nullEvet
expires_atstring | nullEvet
requested_bystring | nullEvet
created_atstringEvet
completed_atstring | nullEvet

Örnek yanıt:

{
  "type": "users",
  "status": "pending",
  "id": "exp_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "filters": {
    "name": "Sipariş bildirimleri",
    "channel": "ios_push",
    "status": "örnek",
    "from": "2026-10-17T09:00:00Z"
  },
  "row_count": 1,
  "error": "örnek",
  "download_url": "https://example.com/orders/1001",
  "expires_at": "örnek",
  "requested_by": "örnek",
  "created_at": "örnek",
  "completed_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/exports/exp_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Import işleri

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–10050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: ImportList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].app_idstringEvet
data[].typeenumEvetDeğerler: "onesignal_players", "csv_users"
data[].file_namestring | nullEvet
data[].statusenumEvetDeğerler: "pending", "running", "completed", "failed"
data[].statsobjectEvet
data[].stats.processedintegerHayır
data[].stats.created_usersintegerHayır
data[].stats.updated_usersintegerHayır
data[].stats.created_subscriptionsintegerHayır
data[].stats.skippedintegerHayır
data[].stats.errorsintegerHayır
data[].errorstring | nullEvet
data[].error_report_urlstring | nullEvet
data[].requested_bystring | nullEvet
data[].created_atstringEvet
data[].completed_atstring | nullEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "type": "onesignal_players",
      "status": "pending",
      "id": "exp_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "file_name": "örnek",
      "stats": {
        "processed": 1,
        "created_users": 1
      },
      "error": "örnek",
      "error_report_url": "https://example.com/orders/1001",
      "requested_by": "örnek",
      "created_at": "örnek",
      "completed_at": "örnek"
    }
  ],
  "next_cursor": "eyJpZCI6Im1zZ18wMUpE…",
  "has_more": true
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/imports?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Import işi başlat (multipart: type, file)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

İstek gövdesi (zorunlu)

İçerik türü: multipart/form-data.

AlanTürZorunluAçıklama
typeenumEvetDeğerler: "onesignal_players", "csv_users"
filestring (binary)EvetCSV dosyası (UTF-8, en fazla 50 MB)

Örnek:

{
  "type": "onesignal_players",
  "file": "örnek"
}

Yanıtlar

200 — Başarılı.

Şema: Import

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
typeenumEvetDeğerler: "onesignal_players", "csv_users"
file_namestring | nullEvet
statusenumEvetDeğerler: "pending", "running", "completed", "failed"
statsobjectEvet
stats.processedintegerHayır
stats.created_usersintegerHayır
stats.updated_usersintegerHayır
stats.created_subscriptionsintegerHayır
stats.skippedintegerHayır
stats.errorsintegerHayır
errorstring | nullEvet
error_report_urlstring | nullEvet
requested_bystring | nullEvet
created_atstringEvet
completed_atstring | nullEvet

Örnek yanıt:

{
  "type": "onesignal_players",
  "status": "pending",
  "id": "imp_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "file_name": "örnek",
  "stats": {
    "processed": 1,
    "created_users": 1,
    "updated_users": 1,
    "created_subscriptions": 1
  },
  "error": "örnek",
  "error_report_url": "https://example.com/orders/1001",
  "requested_by": "örnek",
  "created_at": "örnek",
  "completed_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

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

Import durumu

GET/v1/apps/{appId}/imports/{importId}Dene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
importIdyolstringEvet"imp_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: Import

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
typeenumEvetDeğerler: "onesignal_players", "csv_users"
file_namestring | nullEvet
statusenumEvetDeğerler: "pending", "running", "completed", "failed"
statsobjectEvet
stats.processedintegerHayır
stats.created_usersintegerHayır
stats.updated_usersintegerHayır
stats.created_subscriptionsintegerHayır
stats.skippedintegerHayır
stats.errorsintegerHayır
errorstring | nullEvet
error_report_urlstring | nullEvet
requested_bystring | nullEvet
created_atstringEvet
completed_atstring | nullEvet

Örnek yanıt:

{
  "type": "onesignal_players",
  "status": "pending",
  "id": "imp_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "file_name": "örnek",
  "stats": {
    "processed": 1,
    "created_users": 1,
    "updated_users": 1,
    "created_subscriptions": 1
  },
  "error": "örnek",
  "error_report_url": "https://example.com/orders/1001",
  "requested_by": "örnek",
  "created_at": "örnek",
  "completed_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/imports/imp_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Bu sayfada