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öntem | Yol | İşlem |
|---|---|---|
GET | /v1/apps/{appId}/exports | Export işleri |
POST | /v1/apps/{appId}/exports | Export işi başlat |
GET | /v1/apps/{appId}/exports/{exportId} | Export durumu (download_url) |
GET | /v1/apps/{appId}/imports | Import işleri |
POST | /v1/apps/{appId}/imports | Import 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
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
limit | sorgu | integer | Hayır | Varsayılan: 50; Aralık: 1–100 | 50 |
cursor | sorgu | string | Hayır | Uzunluk: 1–∞ | "eyJpZCI6Im1zZ18wMUpE…" |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: ExportList
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].id | string | Evet | |
data[].app_id | string | Evet | |
data[].type | enum | Evet | Değerler: "users", "subscriptions", "events", "deliveries", "message_events" |
data[].filters | object | Evet | |
data[].filters.from | string (date-time) | Hayır | |
data[].filters.to | string (date-time) | Hayır | |
data[].filters.name | string | Hayır | Uzunluk: 0–100 |
data[].filters.message_id | string | Hayır | Uzunluk: 0–64 |
data[].filters.campaign_id | string | Hayır | Uzunluk: 0–64 |
data[].filters.status | string | Hayır | Uzunluk: 0–32 |
data[].filters.channel | enum | Hayır | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
data[].filters.segment_id | string | Hayır | Uzunluk: 0–64 |
data[].status | enum | Evet | Değerler: "pending", "running", "completed", "failed" |
data[].row_count | integer | null | Evet | |
data[].error | string | null | Evet | |
data[].download_url | string | null | Evet | |
data[].expires_at | string | null | Evet | |
data[].requested_by | string | null | Evet | |
data[].created_at | string | Evet | |
data[].completed_at | string | null | Evet | |
next_cursor | string | null | Evet | |
has_more | boolean | Evet |
Ö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
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
Şema: CreateExportDto
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
type | enum | Evet | Değerler: "users", "subscriptions", "events", "deliveries", "message_events" |
filters | object | Hayır | Varsayılan: {} |
filters.from | string (date-time) | Hayır | |
filters.to | string (date-time) | Hayır | |
filters.name | string | Hayır | Uzunluk: 0–100 |
filters.message_id | string | Hayır | Uzunluk: 0–64 |
filters.campaign_id | string | Hayır | Uzunluk: 0–64 |
filters.status | string | Hayır | Uzunluk: 0–32 |
filters.channel | enum | Hayır | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
filters.segment_id | string | Hayır | Uzunluk: 0–64 |
Örnek:
{
"type": "users",
"filters": {}
}Yanıtlar
200 — Başarılı.
Şema: Export
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
type | enum | Evet | Değerler: "users", "subscriptions", "events", "deliveries", "message_events" |
filters | object | Evet | |
filters.from | string (date-time) | Hayır | |
filters.to | string (date-time) | Hayır | |
filters.name | string | Hayır | Uzunluk: 0–100 |
filters.message_id | string | Hayır | Uzunluk: 0–64 |
filters.campaign_id | string | Hayır | Uzunluk: 0–64 |
filters.status | string | Hayır | Uzunluk: 0–32 |
filters.channel | enum | Hayır | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
filters.segment_id | string | Hayır | Uzunluk: 0–64 |
status | enum | Evet | Değerler: "pending", "running", "completed", "failed" |
row_count | integer | null | Evet | |
error | string | null | Evet | |
download_url | string | null | Evet | |
expires_at | string | null | Evet | |
requested_by | string | null | Evet | |
created_at | string | Evet | |
completed_at | string | null | Evet |
Ö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)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
exportId | yol | string | Evet | "exp_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: Export
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
type | enum | Evet | Değerler: "users", "subscriptions", "events", "deliveries", "message_events" |
filters | object | Evet | |
filters.from | string (date-time) | Hayır | |
filters.to | string (date-time) | Hayır | |
filters.name | string | Hayır | Uzunluk: 0–100 |
filters.message_id | string | Hayır | Uzunluk: 0–64 |
filters.campaign_id | string | Hayır | Uzunluk: 0–64 |
filters.status | string | Hayır | Uzunluk: 0–32 |
filters.channel | enum | Hayır | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
filters.segment_id | string | Hayır | Uzunluk: 0–64 |
status | enum | Evet | Değerler: "pending", "running", "completed", "failed" |
row_count | integer | null | Evet | |
error | string | null | Evet | |
download_url | string | null | Evet | |
expires_at | string | null | Evet | |
requested_by | string | null | Evet | |
created_at | string | Evet | |
completed_at | string | null | Evet |
Ö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
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
limit | sorgu | integer | Hayır | Varsayılan: 50; Aralık: 1–100 | 50 |
cursor | sorgu | string | Hayır | Uzunluk: 1–∞ | "eyJpZCI6Im1zZ18wMUpE…" |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: ImportList
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].id | string | Evet | |
data[].app_id | string | Evet | |
data[].type | enum | Evet | Değerler: "onesignal_players", "csv_users" |
data[].file_name | string | null | Evet | |
data[].status | enum | Evet | Değerler: "pending", "running", "completed", "failed" |
data[].stats | object | Evet | |
data[].stats.processed | integer | Hayır | |
data[].stats.created_users | integer | Hayır | |
data[].stats.updated_users | integer | Hayır | |
data[].stats.created_subscriptions | integer | Hayır | |
data[].stats.skipped | integer | Hayır | |
data[].stats.errors | integer | Hayır | |
data[].error | string | null | Evet | |
data[].error_report_url | string | null | Evet | |
data[].requested_by | string | null | Evet | |
data[].created_at | string | Evet | |
data[].completed_at | string | null | Evet | |
next_cursor | string | null | Evet | |
has_more | boolean | Evet |
Ö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
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
İçerik türü: multipart/form-data.
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
type | enum | Evet | Değerler: "onesignal_players", "csv_users" |
file | string (binary) | Evet | CSV dosyası (UTF-8, en fazla 50 MB) |
Örnek:
{
"type": "onesignal_players",
"file": "örnek"
}Yanıtlar
200 — Başarılı.
Şema: Import
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
type | enum | Evet | Değerler: "onesignal_players", "csv_users" |
file_name | string | null | Evet | |
status | enum | Evet | Değerler: "pending", "running", "completed", "failed" |
stats | object | Evet | |
stats.processed | integer | Hayır | |
stats.created_users | integer | Hayır | |
stats.updated_users | integer | Hayır | |
stats.created_subscriptions | integer | Hayır | |
stats.skipped | integer | Hayır | |
stats.errors | integer | Hayır | |
error | string | null | Evet | |
error_report_url | string | null | Evet | |
requested_by | string | null | Evet | |
created_at | string | Evet | |
completed_at | string | null | Evet |
Ö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
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
importId | yol | string | Evet | "imp_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: Import
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
type | enum | Evet | Değerler: "onesignal_players", "csv_users" |
file_name | string | null | Evet | |
status | enum | Evet | Değerler: "pending", "running", "completed", "failed" |
stats | object | Evet | |
stats.processed | integer | Hayır | |
stats.created_users | integer | Hayır | |
stats.updated_users | integer | Hayır | |
stats.created_subscriptions | integer | Hayır | |
stats.skipped | integer | Hayır | |
stats.errors | integer | Hayır | |
error | string | null | Evet | |
error_report_url | string | null | Evet | |
requested_by | string | null | Evet | |
created_at | string | Evet | |
completed_at | string | null | Evet |
Ö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"Analitik
Analitik — 9 işlem (GET /v1/apps/{appId}/analytics/overview, GET /v1/apps/{appId}/analytics/messages, GET /v1/apps/{appId}/analytics/subscriptions, …). OpenAPI 3.1.0 sözleşmesinden üretilir.
Veri ambarı dışa aktarımı
Veri ambarı dışa aktarımı — 10 işlem (GET /v1/apps/{appId}/warehouse-exports/tables, POST /v1/apps/{appId}/warehouse-exports/test-connection, GET /v1/apps/{appId}/warehouse-exports, …). OpenAPI 3.1.0 sözleşmesinden üretilir.