PushizoDocs
API referansı

App’ler

App’ler — 7 işlem (GET /v1/organization, GET /v1/organization/members, GET /v1/organization/audit-logs, …). OpenAPI 3.1.0 sözleşmesinden üretilir.

Organizasyondaki app’ler (bildirim gönderilen ürünler). Listeleme ve oluşturma org geneli admin anahtarı ister; app ayarları ve veri temizliği app anahtarıyla da yapılabilir.

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

İşlemler

Ayrıntılar

Anahtarın ait olduğu organizasyon (org geneli admin anahtarı)

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

Yanıtlar

200 — Başarılı.

Şema: Org

AlanTürZorunluAçıklama
idstringEvet
namestringEvet
slugstringEvet
plan_codestringEvet
statusenumEvetDeğerler: "active", "suspended", "deleted"
settingsobjectEvet
settings.mfaRequiredbooleanHayır
settings.ipAllowlistarray<string>HayırÖğe: 0–50
settings.retentionDaysintegerHayırAralık: 7–3650
settings.sessionMaxHoursintegerHayırAralık: 1–2160
settings.auditStreamobjectHayır
settings.auditStream.s3booleanHayır
settings.auditStream.webhookAppIdstring | nullHayır
created_atstringEvet
regionstring | nullEvet
managed_by_resellerbooleanEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "active",
  "id": "org_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "slug": "magaza",
  "plan_code": "örnek",
  "settings": {
    "mfaRequired": true,
    "ipAllowlist": [
      "örnek"
    ],
    "retentionDays": 7,
    "sessionMaxHours": 1
  },
  "created_at": "örnek",
  "region": "örnek",
  "managed_by_reseller": 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/organization" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Organizasyon üyeleri (org geneli admin anahtarı)

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

Yanıtlar

200 — Başarılı.

Şema: MemberList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].account_idstringEvet
data[].emailstringEvet
data[].namestringEvet
data[].roleenumEvetDeğerler: "owner", "admin", "developer", "marketer", "analyst", "billing", "viewer", "composer"
data[].app_scopesarray<string>Evet
data[].accepted_atstring | nullEvet
data[].created_atstringEvet
data[].last_login_atstring | nullEvet

Örnek yanıt:

{
  "data": [
    {
      "name": "Sipariş bildirimleri",
      "id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "account_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "email": "ayse@example.com",
      "role": "owner",
      "app_scopes": [
        "örnek"
      ],
      "accepted_at": "örnek",
      "created_at": "örnek",
      "last_login_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/organization/members" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Audit log (org geneli admin anahtarı; action/actor/app/tarih filtreleri, cursor)

GET/v1/organization/audit-logsDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–20050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
actionsorgustringHayırUzunluk: 1–100"örnek"
actor_idsorgustringHayırUzunluk: 1–64"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"
app_idsorgustringHayırUzunluk: 1–64"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"
fromsorgustring (date-time)Hayır"2026-10-17T09:00:00Z"
tosorgustring (date-time)Hayır"2026-10-17T09:00:00Z"

Yanıtlar

200 — Başarılı.

Şema: AuditPage

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].org_idstringEvet
data[].app_idstring | nullEvet
data[].actor_typeenumEvetDeğerler: "account", "api_key", "system"
data[].actor_idstring | nullEvet
data[].actionstringEvet
data[].target_typestring | nullEvet
data[].target_idstring | nullEvet
data[].metadatamap<string, any>Evet
data[].ipstring | nullEvet
data[].request_idstring | nullEvet
data[].created_atstringEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "org_id": "org_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "actor_type": "account",
      "actor_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "action": "örnek",
      "target_type": "örnek",
      "target_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "metadata": {
        "order_id": "1001"
      },
      "ip": "örnek",
      "request_id": "req_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "created_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/organization/audit-logs?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

App listesi (org geneli admin anahtarı)

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

Yanıtlar

200 — Başarılı.

Şema: AppList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].org_idstringEvet
data[].namestringEvet
data[].slugstringEvet
data[].platform_flagsobjectEvet
data[].platform_flags.iosbooleanHayır
data[].platform_flags.androidbooleanHayır
data[].platform_flags.webbooleanHayır
data[].platform_flags.emailbooleanHayır
data[].platform_flags.smsbooleanHayır
data[].icon_urlstring | nullEvet
data[].default_languagestringEvet
data[].timezonestringEvet
data[].settingsobjectEvet
data[].settings.quietHoursobject | nullHayır
data[].settings.frequencyCapobject | nullHayır
data[].settings.frequencyCapsarray<object>HayırÖğe: 0–10
data[].settings.inAppobjectHayır
data[].settings.androidChannelsarray<object>HayırÖğe: 0–50
data[].settings.smsobjectHayır
data[].settings.preferenceCenterobjectHayır
data[].settings.defaultTtlSecondsintegerHayırAralık: 60–2419200
data[].settings.identityVerificationRequiredbooleanHayır
data[].settings.allowedOriginsarray<string>HayırÖğe: 0–50
data[].settings.campaignApprovalRequiredbooleanHayır
data[].settings.webPushobjectHayır
data[].settings.onboardingobjectHayır
data[].settings.sdkSetupobject | nullHayır
data[].identity_verification_modeenumEvetDeğerler: "hmac", "jwt", "both"
data[].statusenumEvetDeğerler: "active", "suspended", "deleted"
data[].created_atstringEvet
data[].updated_atstringEvet

Örnek yanıt:

{
  "data": [
    {
      "name": "Sipariş bildirimleri",
      "status": "active",
      "id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "org_id": "org_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "slug": "magaza",
      "platform_flags": {
        "ios": true,
        "android": true
      },
      "icon_url": "https://example.com/orders/1001",
      "default_language": "örnek",
      "timezone": "Europe/Istanbul",
      "settings": {
        "quietHours": {
          "start": "2026-10-01T00:00:00Z",
          "end": "2026-10-17T00:00:00Z",
          "timezoneMode": "user"
        },
        "frequencyCap": {
          "max": 1,
          "windowHours": 1
        }
      },
      "identity_verification_mode": "hmac",
      "created_at": "örnek",
      "updated_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" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

App oluştur (org geneli admin anahtarı)

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

İstek gövdesi (zorunlu)

Şema: CreateAppDto

AlanTürZorunluAçıklama
namestringEvetUzunluk: 2–100
slugstringHayır
platform_flagsobjectHayırVarsayılan: {}
platform_flags.iosbooleanHayır
platform_flags.androidbooleanHayır
platform_flags.webbooleanHayır
platform_flags.emailbooleanHayır
platform_flags.smsbooleanHayır
default_languagestringHayırVarsayılan: "en"; Uzunluk: 2–10
timezonestringHayırVarsayılan: "UTC"; Uzunluk: 1–64

Örnek:

{
  "name": "Sipariş bildirimleri",
  "slug": "magaza",
  "platform_flags": {},
  "default_language": "en",
  "timezone": "UTC"
}

Yanıtlar

201 — Başarılı.

Şema: App

AlanTürZorunluAçıklama
idstringEvet
org_idstringEvet
namestringEvet
slugstringEvet
platform_flagsobjectEvet
platform_flags.iosbooleanHayır
platform_flags.androidbooleanHayır
platform_flags.webbooleanHayır
platform_flags.emailbooleanHayır
platform_flags.smsbooleanHayır
icon_urlstring | nullEvet
default_languagestringEvet
timezonestringEvet
settingsobjectEvet
settings.quietHoursobject | nullHayır
settings.frequencyCapobject | nullHayır
settings.frequencyCapsarray<object>HayırÖğe: 0–10
settings.frequencyCaps[].maxintegerEvetAralık: 1–1000
settings.frequencyCaps[].windowobjectEvet
settings.frequencyCaps[].channelsarray<enum>HayırÖğe: 1–8
settings.inAppobjectHayır
settings.inApp.minIntervalSecondsintegerHayırAralık: 0–604800
settings.androidChannelsarray<object>HayırÖğe: 0–50
settings.androidChannels[].idstringEvetUzunluk: 1–64
settings.androidChannels[].namestringEvetUzunluk: 1–60
settings.androidChannels[].descriptionstringHayırUzunluk: 0–200
settings.androidChannels[].importanceenumEvetDeğerler: "low", "default", "high", "urgent"
settings.androidChannels[].soundstringHayırUzunluk: 0–64
settings.androidChannels[].vibrationbooleanHayır
settings.androidChannels[].groupstringHayırUzunluk: 0–64
settings.smsobjectHayır
settings.sms.helpReplystringHayırUzunluk: 0–320
settings.sms.stopReplystringHayırUzunluk: 0–320
settings.sms.autoReplybooleanHayır
settings.preferenceCenterobjectHayır
settings.preferenceCenter.enabledbooleanHayır
settings.preferenceCenter.brandNamestringHayırUzunluk: 0–80
settings.preferenceCenter.logoUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.accentColorstringHayır
settings.preferenceCenter.customUnsubscribeUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.textsmap<string, object>Hayır
settings.defaultTtlSecondsintegerHayırAralık: 60–2419200
settings.identityVerificationRequiredbooleanHayır
settings.allowedOriginsarray<string>HayırÖğe: 0–50
settings.campaignApprovalRequiredbooleanHayır
settings.webPushobjectHayır
settings.webPush.serviceWorkerPathstringHayırUzunluk: 0–200
settings.webPush.serviceWorkerScopestringHayırUzunluk: 0–200
settings.webPush.promptobjectHayır
settings.webPush.welcomeNotificationobjectHayır
settings.webPush.clickBehaviorobjectHayır
settings.webPush.customLinkobjectHayır
settings.webPush.promptBackoffDaysarray<integer>HayırÖğe: 0–10
settings.onboardingobjectHayır
settings.onboarding.stepintegerEvetAralık: 0–6
settings.onboarding.simulationbooleanHayır
settings.onboarding.completed_atstring | nullHayır
settings.onboarding.versionintegerHayırAralık: 1–100
settings.onboarding.platformsarray<enum>HayırÖğe: 0–4
settings.onboarding.frameworkenumHayırDeğerler: "native", "flutter", "react-native", "unity", "capacitor", "cordova", "maui"
settings.onboarding.web_integrationenumHayırDeğerler: "code", "wordpress"
settings.sdkSetupobject | nullHayır
identity_verification_modeenumEvetDeğerler: "hmac", "jwt", "both"
statusenumEvetDeğerler: "active", "suspended", "deleted"
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "active",
  "id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "org_id": "org_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "slug": "magaza",
  "platform_flags": {
    "ios": true,
    "android": true,
    "web": true,
    "email": true
  },
  "icon_url": "https://example.com/orders/1001",
  "default_language": "örnek",
  "timezone": "Europe/Istanbul",
  "settings": {
    "quietHours": {
      "start": "2026-10-01T00:00:00Z",
      "end": "2026-10-17T00:00:00Z",
      "timezoneMode": "user"
    },
    "frequencyCap": {
      "max": 1,
      "windowHours": 1
    },
    "frequencyCaps": [
      {
        "max": 1,
        "window": {
          "value": 150,
          "unit": "minutes"
        },
        "channels": [
          "ios_push"
        ]
      }
    ],
    "inApp": {
      "minIntervalSeconds": 1
    }
  },
  "identity_verification_mode": "hmac",
  "created_at": "örnek",
  "updated_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" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sipariş bildirimleri",
  "slug": "magaza",
  "platform_flags": {},
  "default_language": "en",
  "timezone": "UTC"
}'

App detayı

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: App

AlanTürZorunluAçıklama
idstringEvet
org_idstringEvet
namestringEvet
slugstringEvet
platform_flagsobjectEvet
platform_flags.iosbooleanHayır
platform_flags.androidbooleanHayır
platform_flags.webbooleanHayır
platform_flags.emailbooleanHayır
platform_flags.smsbooleanHayır
icon_urlstring | nullEvet
default_languagestringEvet
timezonestringEvet
settingsobjectEvet
settings.quietHoursobject | nullHayır
settings.frequencyCapobject | nullHayır
settings.frequencyCapsarray<object>HayırÖğe: 0–10
settings.frequencyCaps[].maxintegerEvetAralık: 1–1000
settings.frequencyCaps[].windowobjectEvet
settings.frequencyCaps[].channelsarray<enum>HayırÖğe: 1–8
settings.inAppobjectHayır
settings.inApp.minIntervalSecondsintegerHayırAralık: 0–604800
settings.androidChannelsarray<object>HayırÖğe: 0–50
settings.androidChannels[].idstringEvetUzunluk: 1–64
settings.androidChannels[].namestringEvetUzunluk: 1–60
settings.androidChannels[].descriptionstringHayırUzunluk: 0–200
settings.androidChannels[].importanceenumEvetDeğerler: "low", "default", "high", "urgent"
settings.androidChannels[].soundstringHayırUzunluk: 0–64
settings.androidChannels[].vibrationbooleanHayır
settings.androidChannels[].groupstringHayırUzunluk: 0–64
settings.smsobjectHayır
settings.sms.helpReplystringHayırUzunluk: 0–320
settings.sms.stopReplystringHayırUzunluk: 0–320
settings.sms.autoReplybooleanHayır
settings.preferenceCenterobjectHayır
settings.preferenceCenter.enabledbooleanHayır
settings.preferenceCenter.brandNamestringHayırUzunluk: 0–80
settings.preferenceCenter.logoUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.accentColorstringHayır
settings.preferenceCenter.customUnsubscribeUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.textsmap<string, object>Hayır
settings.defaultTtlSecondsintegerHayırAralık: 60–2419200
settings.identityVerificationRequiredbooleanHayır
settings.allowedOriginsarray<string>HayırÖğe: 0–50
settings.campaignApprovalRequiredbooleanHayır
settings.webPushobjectHayır
settings.webPush.serviceWorkerPathstringHayırUzunluk: 0–200
settings.webPush.serviceWorkerScopestringHayırUzunluk: 0–200
settings.webPush.promptobjectHayır
settings.webPush.welcomeNotificationobjectHayır
settings.webPush.clickBehaviorobjectHayır
settings.webPush.customLinkobjectHayır
settings.webPush.promptBackoffDaysarray<integer>HayırÖğe: 0–10
settings.onboardingobjectHayır
settings.onboarding.stepintegerEvetAralık: 0–6
settings.onboarding.simulationbooleanHayır
settings.onboarding.completed_atstring | nullHayır
settings.onboarding.versionintegerHayırAralık: 1–100
settings.onboarding.platformsarray<enum>HayırÖğe: 0–4
settings.onboarding.frameworkenumHayırDeğerler: "native", "flutter", "react-native", "unity", "capacitor", "cordova", "maui"
settings.onboarding.web_integrationenumHayırDeğerler: "code", "wordpress"
settings.sdkSetupobject | nullHayır
identity_verification_modeenumEvetDeğerler: "hmac", "jwt", "both"
statusenumEvetDeğerler: "active", "suspended", "deleted"
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "active",
  "id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "org_id": "org_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "slug": "magaza",
  "platform_flags": {
    "ios": true,
    "android": true,
    "web": true,
    "email": true
  },
  "icon_url": "https://example.com/orders/1001",
  "default_language": "örnek",
  "timezone": "Europe/Istanbul",
  "settings": {
    "quietHours": {
      "start": "2026-10-01T00:00:00Z",
      "end": "2026-10-17T00:00:00Z",
      "timezoneMode": "user"
    },
    "frequencyCap": {
      "max": 1,
      "windowHours": 1
    },
    "frequencyCaps": [
      {
        "max": 1,
        "window": {
          "value": 150,
          "unit": "minutes"
        },
        "channels": [
          "ios_push"
        ]
      }
    ],
    "inApp": {
      "minIntervalSeconds": 1
    }
  },
  "identity_verification_mode": "hmac",
  "created_at": "örnek",
  "updated_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" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

App ayarlarını güncelle

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: UpdateAppDto

AlanTürZorunluAçıklama
namestringHayırUzunluk: 2–100
platform_flagsobjectHayır
platform_flags.iosbooleanHayır
platform_flags.androidbooleanHayır
platform_flags.webbooleanHayır
platform_flags.emailbooleanHayır
platform_flags.smsbooleanHayır
icon_urlstring (uri) | nullHayır
default_languagestringHayırUzunluk: 2–10
timezonestringHayırUzunluk: 1–64
settingsobjectHayır
settings.quietHoursobject | nullHayır
settings.frequencyCapobject | nullHayır
settings.frequencyCapsarray<object>HayırÖğe: 0–10
settings.frequencyCaps[].maxintegerEvetAralık: 1–1000
settings.frequencyCaps[].windowobjectEvet
settings.frequencyCaps[].window.valueintegerEvetAralık: 1–366
settings.frequencyCaps[].window.unitenumEvetDeğerler: "minutes", "hours", "days", "weeks"
settings.frequencyCaps[].channelsarray<enum>HayırÖğe: 1–8
settings.inAppobjectHayır
settings.inApp.minIntervalSecondsintegerHayırAralık: 0–604800
settings.androidChannelsarray<object>HayırÖğe: 0–50
settings.androidChannels[].idstringEvetUzunluk: 1–64
settings.androidChannels[].namestringEvetUzunluk: 1–60
settings.androidChannels[].descriptionstringHayırUzunluk: 0–200
settings.androidChannels[].importanceenumEvetDeğerler: "low", "default", "high", "urgent"
settings.androidChannels[].soundstringHayırUzunluk: 0–64
settings.androidChannels[].vibrationbooleanHayır
settings.androidChannels[].groupstringHayırUzunluk: 0–64
settings.smsobjectHayır
settings.sms.helpReplystringHayırUzunluk: 0–320
settings.sms.stopReplystringHayırUzunluk: 0–320
settings.sms.autoReplybooleanHayır
settings.preferenceCenterobjectHayır
settings.preferenceCenter.enabledbooleanHayır
settings.preferenceCenter.brandNamestringHayırUzunluk: 0–80
settings.preferenceCenter.logoUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.accentColorstringHayır
settings.preferenceCenter.customUnsubscribeUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.textsmap<string, object>Hayır
settings.defaultTtlSecondsintegerHayırAralık: 60–2419200
settings.identityVerificationRequiredbooleanHayır
settings.allowedOriginsarray<string>HayırÖğe: 0–50
settings.campaignApprovalRequiredbooleanHayır
settings.webPushobjectHayır
settings.webPush.serviceWorkerPathstringHayırUzunluk: 0–200
settings.webPush.serviceWorkerScopestringHayırUzunluk: 0–200
settings.webPush.promptobjectHayır
settings.webPush.prompt.enabledbooleanEvet
settings.webPush.prompt.typeenumEvetDeğerler: "slidedown", "native"
settings.webPush.prompt.collectenumHayırDeğerler: "push", "email", "sms", "email_sms"
settings.webPush.prompt.delaySecondsintegerHayırAralık: 0–600
settings.webPush.prompt.pageViewsintegerHayırAralık: 1–50
settings.webPush.prompt.scrollPercentintegerHayırAralık: 1–100
settings.webPush.prompt.textsmap<string, object>Hayır
settings.webPush.prompt.categoriesarray<object>HayırÖğe: 0–10
settings.webPush.prompt.categories[].tagstringEvetUzunluk: 1–64
settings.webPush.prompt.categories[].labelmap<string, string>Evet
settings.webPush.prompt.accentColorstringHayır
settings.webPush.welcomeNotificationobjectHayır
settings.webPush.welcomeNotification.enabledbooleanEvet
settings.webPush.welcomeNotification.urlstring (url)HayırUzunluk: 0–2000
settings.webPush.welcomeNotification.textsmap<string, object>Hayır
settings.webPush.clickBehaviorobjectHayır
settings.webPush.clickBehavior.matchenumEvetDeğerler: "exact", "origin"
settings.webPush.clickBehavior.actionenumEvetDeğerler: "navigate", "focus"
settings.webPush.customLinkobjectHayır
settings.webPush.customLink.enabledbooleanEvet
settings.webPush.customLink.styleenumEvetDeğerler: "button", "link"
settings.webPush.customLink.sizeenumEvetDeğerler: "small", "medium", "large"
settings.webPush.customLink.colorobjectHayır
settings.webPush.customLink.color.buttonstringHayır
settings.webPush.customLink.color.textstringHayır
settings.webPush.customLink.textsmap<string, object>Hayır
settings.webPush.customLink.unsubscribeEnabledbooleanHayır
settings.webPush.promptBackoffDaysarray<integer>HayırÖğe: 0–10
settings.onboardingobjectHayır
settings.onboarding.stepintegerEvetAralık: 0–6
settings.onboarding.simulationbooleanHayır
settings.onboarding.completed_atstring | nullHayır
settings.onboarding.versionintegerHayırAralık: 1–100
settings.onboarding.platformsarray<enum>HayırÖğe: 0–4
settings.onboarding.frameworkenumHayırDeğerler: "native", "flutter", "react-native", "unity", "capacitor", "cordova", "maui"
settings.onboarding.web_integrationenumHayırDeğerler: "code", "wordpress"
settings.sdkSetupobject | nullHayır
identity_verification_modeenumHayırDeğerler: "hmac", "jwt", "both"

Örnek:

{
  "name": "Sipariş bildirimleri",
  "platform_flags": {
    "ios": true,
    "android": true,
    "web": true
  },
  "icon_url": "https://example.com/orders/1001",
  "default_language": "örnek",
  "timezone": "Europe/Istanbul"
}

Yanıtlar

200 — Başarılı.

Şema: App

AlanTürZorunluAçıklama
idstringEvet
org_idstringEvet
namestringEvet
slugstringEvet
platform_flagsobjectEvet
platform_flags.iosbooleanHayır
platform_flags.androidbooleanHayır
platform_flags.webbooleanHayır
platform_flags.emailbooleanHayır
platform_flags.smsbooleanHayır
icon_urlstring | nullEvet
default_languagestringEvet
timezonestringEvet
settingsobjectEvet
settings.quietHoursobject | nullHayır
settings.frequencyCapobject | nullHayır
settings.frequencyCapsarray<object>HayırÖğe: 0–10
settings.frequencyCaps[].maxintegerEvetAralık: 1–1000
settings.frequencyCaps[].windowobjectEvet
settings.frequencyCaps[].channelsarray<enum>HayırÖğe: 1–8
settings.inAppobjectHayır
settings.inApp.minIntervalSecondsintegerHayırAralık: 0–604800
settings.androidChannelsarray<object>HayırÖğe: 0–50
settings.androidChannels[].idstringEvetUzunluk: 1–64
settings.androidChannels[].namestringEvetUzunluk: 1–60
settings.androidChannels[].descriptionstringHayırUzunluk: 0–200
settings.androidChannels[].importanceenumEvetDeğerler: "low", "default", "high", "urgent"
settings.androidChannels[].soundstringHayırUzunluk: 0–64
settings.androidChannels[].vibrationbooleanHayır
settings.androidChannels[].groupstringHayırUzunluk: 0–64
settings.smsobjectHayır
settings.sms.helpReplystringHayırUzunluk: 0–320
settings.sms.stopReplystringHayırUzunluk: 0–320
settings.sms.autoReplybooleanHayır
settings.preferenceCenterobjectHayır
settings.preferenceCenter.enabledbooleanHayır
settings.preferenceCenter.brandNamestringHayırUzunluk: 0–80
settings.preferenceCenter.logoUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.accentColorstringHayır
settings.preferenceCenter.customUnsubscribeUrlstring (url)HayırUzunluk: 0–2000
settings.preferenceCenter.textsmap<string, object>Hayır
settings.defaultTtlSecondsintegerHayırAralık: 60–2419200
settings.identityVerificationRequiredbooleanHayır
settings.allowedOriginsarray<string>HayırÖğe: 0–50
settings.campaignApprovalRequiredbooleanHayır
settings.webPushobjectHayır
settings.webPush.serviceWorkerPathstringHayırUzunluk: 0–200
settings.webPush.serviceWorkerScopestringHayırUzunluk: 0–200
settings.webPush.promptobjectHayır
settings.webPush.welcomeNotificationobjectHayır
settings.webPush.clickBehaviorobjectHayır
settings.webPush.customLinkobjectHayır
settings.webPush.promptBackoffDaysarray<integer>HayırÖğe: 0–10
settings.onboardingobjectHayır
settings.onboarding.stepintegerEvetAralık: 0–6
settings.onboarding.simulationbooleanHayır
settings.onboarding.completed_atstring | nullHayır
settings.onboarding.versionintegerHayırAralık: 1–100
settings.onboarding.platformsarray<enum>HayırÖğe: 0–4
settings.onboarding.frameworkenumHayırDeğerler: "native", "flutter", "react-native", "unity", "capacitor", "cordova", "maui"
settings.onboarding.web_integrationenumHayırDeğerler: "code", "wordpress"
settings.sdkSetupobject | nullHayır
identity_verification_modeenumEvetDeğerler: "hmac", "jwt", "both"
statusenumEvetDeğerler: "active", "suspended", "deleted"
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "active",
  "id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "org_id": "org_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "slug": "magaza",
  "platform_flags": {
    "ios": true,
    "android": true,
    "web": true,
    "email": true
  },
  "icon_url": "https://example.com/orders/1001",
  "default_language": "örnek",
  "timezone": "Europe/Istanbul",
  "settings": {
    "quietHours": {
      "start": "2026-10-01T00:00:00Z",
      "end": "2026-10-17T00:00:00Z",
      "timezoneMode": "user"
    },
    "frequencyCap": {
      "max": 1,
      "windowHours": 1
    },
    "frequencyCaps": [
      {
        "max": 1,
        "window": {
          "value": 150,
          "unit": "minutes"
        },
        "channels": [
          "ios_push"
        ]
      }
    ],
    "inApp": {
      "minIntervalSeconds": 1
    }
  },
  "identity_verification_mode": "hmac",
  "created_at": "örnek",
  "updated_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 PATCH "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sipariş bildirimleri",
  "platform_flags": {
    "ios": true,
    "android": true,
    "web": true
  },
  "icon_url": "https://example.com/orders/1001",
  "default_language": "örnek",
  "timezone": "Europe/Istanbul"
}'

Bu sayfada