PushizoDocs
API referansı

In-app mesajlar

In-app mesajlar — 7 işlem (GET /v1/apps/{appId}/in-app-messages, POST /v1/apps/{appId}/in-app-messages, GET /v1/apps/{appId}/in-app-messages/{messageId}, …). OpenAPI 3.1.0 sözleşmesinden üretilir.

In-app mesaj tanımları (modal/banner/tam ekran), tetikler, durum değişiklikleri ve A/B kazanan seçimi.

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

İşlemler

YöntemYolİşlem
GET/v1/apps/{appId}/in-app-messagesIn-app mesajlar (durum filtresi; istatistik dahil)
POST/v1/apps/{appId}/in-app-messagesIn-app mesaj oluştur (taslak)
GET/v1/apps/{appId}/in-app-messages/{messageId}In-app mesaj detayı ve istatistikleri
PATCH/v1/apps/{appId}/in-app-messages/{messageId}In-app mesajı düzenle
DELETE/v1/apps/{appId}/in-app-messages/{messageId}In-app mesajı sil
POST/v1/apps/{appId}/in-app-messages/{messageId}/statusYayınla / duraklat / arşivle
POST/v1/apps/{appId}/in-app-messages/{messageId}/winnerA/B kazananını elle seç

Ayrıntılar

In-app mesajlar (durum filtresi; istatistik dahil)

GET/v1/apps/{appId}/in-app-messagesDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–20050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
statussorguenumHayırDeğerler: "draft", "active", "paused", "archived""draft"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: InAppMessagePage

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].app_idstringEvet
data[].namestringEvet
data[].statusenumEvetDeğerler: "draft", "active", "paused", "archived"
data[].priorityintegerEvet
data[].triggersarray<object>Evet
data[].trigger_groupsarray<array<object>> | nullEvet
data[].variantsarray<object>Evet
data[].variants[].idstringEvetUzunluk: 1–64
data[].variants[].namestringEvetUzunluk: 1–60
data[].variants[].weight_percentintegerEvetAralık: 1–99
data[].variants[].displayobjectEvet
data[].displayobjectEvet
data[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
data[].display.background_colorstringHayır
data[].display.text_colorstringHayır
data[].display.dismissiblebooleanHayır
data[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
data[].display.content_typeenumHayırDeğerler: "blocks", "html"
data[].display.htmlmap<string, string>Hayır
data[].display.html_heightintegerHayırAralık: 40–2000
data[].display.blocksarray<object>EvetÖğe: 0–12
data[].audienceobjectEvet
data[].audience.included_segmentsarray<string>HayırÖğe: 0–20
data[].audience.excluded_segmentsarray<string>HayırÖğe: 0–20
data[].frequencyobjectEvet
data[].frequency.max_impressionsintegerHayırAralık: 1–1000
data[].frequency.min_interval_secondsintegerHayırAralık: 0–31536000
data[].frequency.stop_after_interactionbooleanHayır
data[].journey_onlybooleanEvet
data[].start_atstring | nullEvet
data[].end_atstring | nullEvet
data[].statsobjectEvet
data[].stats.impressionsintegerEvet
data[].stats.clicksintegerEvet
data[].stats.dismissalsintegerEvet
data[].stats.unique_usersintegerEvet
data[].stats.ctrnumberEvet
data[].variant_statsarray<object>Evet
data[].variant_stats[].variant_idstringEvet
data[].variant_stats[].impressionsintegerEvet
data[].variant_stats[].clicksintegerEvet
data[].variant_stats[].ctrnumberEvet
data[].ab_testobjectEvet
data[].ab_test.winnerobjectHayır
data[].ab_test.winner_variant_idstring | nullEvet
data[].ab_test.decided_atstring | nullEvet
data[].ab_test.decided_bystring | nullEvet
data[].variant_significanceobject | nullEvet
data[].created_atstringEvet
data[].updated_atstringEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "name": "Sipariş bildirimleri",
      "status": "draft",
      "id": "iam_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "priority": 10,
      "triggers": [
        {
          "kind": "session_start"
        }
      ],
      "trigger_groups": [
        [
          {}
        ]
      ],
      "variants": [
        {
          "name": "Sipariş bildirimleri",
          "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
          "weight_percent": 1,
          "display": {}
        }
      ],
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer",
        "text_color": "değer"
      },
      "audience": {
        "included_segments": [
          "örnek"
        ],
        "excluded_segments": [
          "örnek"
        ]
      },
      "frequency": {
        "max_impressions": 1,
        "min_interval_seconds": 1
      },
      "journey_only": true,
      "start_at": "örnek",
      "end_at": "örnek",
      "stats": {
        "impressions": 1,
        "clicks": 1,
        "dismissals": 1,
        "unique_users": 1,
        "ctr": 1.5
      },
      "variant_stats": [
        {
          "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
          "impressions": 1,
          "clicks": 1,
          "ctr": 1.5
        }
      ],
      "ab_test": {
        "winner_variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
        "decided_at": "örnek",
        "decided_by": "örnek",
        "winner": {
          "mode": "manual",
          "min_impressions": 10
        }
      },
      "variant_significance": {
        "leader": "örnek",
        "p_value": 149.9,
        "significant": true
      },
      "created_at": "örnek",
      "updated_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/in-app-messages?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

In-app mesaj oluştur (taslak)

POST/v1/apps/{appId}/in-app-messagesDene (etkileşimli API belgesi, yeni sekme)

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

AlanTürZorunluAçıklama
namestringEvetUzunluk: 2–100
triggersarray<object>EvetÖğe: 1–5
trigger_groupsarray<array<object>>HayırÖğe: 1–10
variantsarray<object>HayırÖğe: 0–10
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
ab_testobjectHayır
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
displayobjectEvet
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectHayır
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectHayır
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanHayır
priorityintegerHayırAralık: 0–100
start_atstring (date-time) | nullHayır
end_atstring (date-time) | nullHayır

Örnek:

{
  "name": "Sipariş bildirimleri",
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true
  },
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer"
      }
    }
  ],
  "ab_test": {
    "winner": {
      "mode": "manual",
      "min_impressions": 10
    }
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  }
}

Yanıtlar

201 — Başarılı.

Şema: InAppMessage

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
priorityintegerEvet
triggersarray<object>Evet
trigger_groupsarray<array<object>> | nullEvet
variantsarray<object>Evet
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
displayobjectEvet
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectEvet
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectEvet
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanEvet
start_atstring | nullEvet
end_atstring | nullEvet
statsobjectEvet
stats.impressionsintegerEvet
stats.clicksintegerEvet
stats.dismissalsintegerEvet
stats.unique_usersintegerEvet
stats.ctrnumberEvet
variant_statsarray<object>Evet
variant_stats[].variant_idstringEvet
variant_stats[].impressionsintegerEvet
variant_stats[].clicksintegerEvet
variant_stats[].ctrnumberEvet
ab_testobjectEvet
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
ab_test.winner_variant_idstring | nullEvet
ab_test.decided_atstring | nullEvet
ab_test.decided_bystring | nullEvet
variant_significanceobject | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "priority": 10,
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer",
        "text_color": "değer"
      }
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true,
    "auto_dismiss_seconds": 1
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  },
  "journey_only": true,
  "start_at": "örnek",
  "end_at": "örnek",
  "stats": {
    "impressions": 1,
    "clicks": 1,
    "dismissals": 1,
    "unique_users": 1,
    "ctr": 1.5
  },
  "variant_stats": [
    {
      "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "impressions": 1,
      "clicks": 1,
      "ctr": 1.5
    }
  ],
  "ab_test": {
    "winner_variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "decided_at": "örnek",
    "decided_by": "örnek",
    "winner": {
      "mode": "manual",
      "min_impressions": 10,
      "confidence": 0.99
    }
  },
  "variant_significance": {
    "leader": "örnek",
    "p_value": 149.9,
    "significant": true
  },
  "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/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/in-app-messages" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sipariş bildirimleri",
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true
  },
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer"
      }
    }
  ],
  "ab_test": {
    "winner": {
      "mode": "manual",
      "min_impressions": 10
    }
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  }
}'

In-app mesaj detayı ve istatistikleri

GET/v1/apps/{appId}/in-app-messages/{messageId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: InAppMessage

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
priorityintegerEvet
triggersarray<object>Evet
trigger_groupsarray<array<object>> | nullEvet
variantsarray<object>Evet
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
displayobjectEvet
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectEvet
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectEvet
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanEvet
start_atstring | nullEvet
end_atstring | nullEvet
statsobjectEvet
stats.impressionsintegerEvet
stats.clicksintegerEvet
stats.dismissalsintegerEvet
stats.unique_usersintegerEvet
stats.ctrnumberEvet
variant_statsarray<object>Evet
variant_stats[].variant_idstringEvet
variant_stats[].impressionsintegerEvet
variant_stats[].clicksintegerEvet
variant_stats[].ctrnumberEvet
ab_testobjectEvet
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
ab_test.winner_variant_idstring | nullEvet
ab_test.decided_atstring | nullEvet
ab_test.decided_bystring | nullEvet
variant_significanceobject | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "priority": 10,
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer",
        "text_color": "değer"
      }
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true,
    "auto_dismiss_seconds": 1
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  },
  "journey_only": true,
  "start_at": "örnek",
  "end_at": "örnek",
  "stats": {
    "impressions": 1,
    "clicks": 1,
    "dismissals": 1,
    "unique_users": 1,
    "ctr": 1.5
  },
  "variant_stats": [
    {
      "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "impressions": 1,
      "clicks": 1,
      "ctr": 1.5
    }
  ],
  "ab_test": {
    "winner_variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "decided_at": "örnek",
    "decided_by": "örnek",
    "winner": {
      "mode": "manual",
      "min_impressions": 10,
      "confidence": 0.99
    }
  },
  "variant_significance": {
    "leader": "örnek",
    "p_value": 149.9,
    "significant": true
  },
  "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/in-app-messages/msg_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

In-app mesajı düzenle

PATCH/v1/apps/{appId}/in-app-messages/{messageId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

İstek gövdesi (zorunlu)

Şema: UpdateInAppDto

AlanTürZorunluAçıklama
namestringHayırUzunluk: 2–100
triggersarray<object>HayırÖğe: 1–5
trigger_groupsarray<array<object>>HayırÖğe: 1–10
variantsarray<object>HayırÖğe: 0–10
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
ab_testobjectHayır
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
displayobjectHayır
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectHayır
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectHayır
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanHayır
priorityintegerHayırAralık: 0–100
start_atstring (date-time) | nullHayır
end_atstring (date-time) | nullHayır

Örnek:

{
  "name": "Sipariş bildirimleri",
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer"
      }
    }
  ],
  "ab_test": {
    "winner": {
      "mode": "manual",
      "min_impressions": 10
    }
  }
}

Yanıtlar

200 — Başarılı.

Şema: InAppMessage

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
priorityintegerEvet
triggersarray<object>Evet
trigger_groupsarray<array<object>> | nullEvet
variantsarray<object>Evet
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
displayobjectEvet
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectEvet
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectEvet
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanEvet
start_atstring | nullEvet
end_atstring | nullEvet
statsobjectEvet
stats.impressionsintegerEvet
stats.clicksintegerEvet
stats.dismissalsintegerEvet
stats.unique_usersintegerEvet
stats.ctrnumberEvet
variant_statsarray<object>Evet
variant_stats[].variant_idstringEvet
variant_stats[].impressionsintegerEvet
variant_stats[].clicksintegerEvet
variant_stats[].ctrnumberEvet
ab_testobjectEvet
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
ab_test.winner_variant_idstring | nullEvet
ab_test.decided_atstring | nullEvet
ab_test.decided_bystring | nullEvet
variant_significanceobject | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "priority": 10,
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer",
        "text_color": "değer"
      }
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true,
    "auto_dismiss_seconds": 1
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  },
  "journey_only": true,
  "start_at": "örnek",
  "end_at": "örnek",
  "stats": {
    "impressions": 1,
    "clicks": 1,
    "dismissals": 1,
    "unique_users": 1,
    "ctr": 1.5
  },
  "variant_stats": [
    {
      "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "impressions": 1,
      "clicks": 1,
      "ctr": 1.5
    }
  ],
  "ab_test": {
    "winner_variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "decided_at": "örnek",
    "decided_by": "örnek",
    "winner": {
      "mode": "manual",
      "min_impressions": 10,
      "confidence": 0.99
    }
  },
  "variant_significance": {
    "leader": "örnek",
    "p_value": 149.9,
    "significant": true
  },
  "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/in-app-messages/msg_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sipariş bildirimleri",
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer"
      }
    }
  ],
  "ab_test": {
    "winner": {
      "mode": "manual",
      "min_impressions": 10
    }
  }
}'

In-app mesajı sil

DELETE/v1/apps/{appId}/in-app-messages/{messageId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: Ok

AlanTürZorunluAçıklama
oktrueEvet

Örnek yanıt:

{
  "ok": 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 DELETE "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/in-app-messages/msg_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Yayınla / duraklat / arşivle

POST/v1/apps/{appId}/in-app-messages/{messageId}/statusDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

İstek gövdesi (zorunlu)

Şema: InAppStatusDto

AlanTürZorunluAçıklama
statusenumEvetDeğerler: "draft", "active", "paused", "archived"

Örnek:

{
  "status": "draft"
}

Yanıtlar

200 — Başarılı.

Şema: InAppMessage

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
priorityintegerEvet
triggersarray<object>Evet
trigger_groupsarray<array<object>> | nullEvet
variantsarray<object>Evet
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
displayobjectEvet
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectEvet
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectEvet
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanEvet
start_atstring | nullEvet
end_atstring | nullEvet
statsobjectEvet
stats.impressionsintegerEvet
stats.clicksintegerEvet
stats.dismissalsintegerEvet
stats.unique_usersintegerEvet
stats.ctrnumberEvet
variant_statsarray<object>Evet
variant_stats[].variant_idstringEvet
variant_stats[].impressionsintegerEvet
variant_stats[].clicksintegerEvet
variant_stats[].ctrnumberEvet
ab_testobjectEvet
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
ab_test.winner_variant_idstring | nullEvet
ab_test.decided_atstring | nullEvet
ab_test.decided_bystring | nullEvet
variant_significanceobject | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "priority": 10,
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer",
        "text_color": "değer"
      }
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true,
    "auto_dismiss_seconds": 1
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  },
  "journey_only": true,
  "start_at": "örnek",
  "end_at": "örnek",
  "stats": {
    "impressions": 1,
    "clicks": 1,
    "dismissals": 1,
    "unique_users": 1,
    "ctr": 1.5
  },
  "variant_stats": [
    {
      "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "impressions": 1,
      "clicks": 1,
      "ctr": 1.5
    }
  ],
  "ab_test": {
    "winner_variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "decided_at": "örnek",
    "decided_by": "örnek",
    "winner": {
      "mode": "manual",
      "min_impressions": 10,
      "confidence": 0.99
    }
  },
  "variant_significance": {
    "leader": "örnek",
    "p_value": 149.9,
    "significant": true
  },
  "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/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/in-app-messages/msg_01JD3W5Q7X9K2M4N6P8R0T1V3W/status" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "draft"
}'

A/B kazananını elle seç

POST/v1/apps/{appId}/in-app-messages/{messageId}/winnerDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

İstek gövdesi (zorunlu)

Şema: InAppWinnerDto

AlanTürZorunluAçıklama
variant_idstringEvetUzunluk: 1–64

Örnek:

{
  "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W"
}

Yanıtlar

200 — Başarılı.

Şema: InAppMessage

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
priorityintegerEvet
triggersarray<object>Evet
trigger_groupsarray<array<object>> | nullEvet
variantsarray<object>Evet
variants[].idstringEvetUzunluk: 1–64
variants[].namestringEvetUzunluk: 1–60
variants[].weight_percentintegerEvetAralık: 1–99
variants[].displayobjectEvet
variants[].display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
variants[].display.background_colorstringHayır
variants[].display.text_colorstringHayır
variants[].display.dismissiblebooleanHayır
variants[].display.auto_dismiss_secondsintegerHayırAralık: 1–120
variants[].display.content_typeenumHayırDeğerler: "blocks", "html"
variants[].display.htmlmap<string, string>Hayır
variants[].display.html_heightintegerHayırAralık: 40–2000
variants[].display.blocksarray<object>EvetÖğe: 0–12
displayobjectEvet
display.layoutenumEvetDeğerler: "modal", "banner_top", "banner_bottom", "fullscreen"
display.background_colorstringHayır
display.text_colorstringHayır
display.dismissiblebooleanHayır
display.auto_dismiss_secondsintegerHayırAralık: 1–120
display.content_typeenumHayırDeğerler: "blocks", "html"
display.htmlmap<string, string>Hayır
display.html_heightintegerHayırAralık: 40–2000
display.blocksarray<object>EvetÖğe: 0–12
audienceobjectEvet
audience.included_segmentsarray<string>HayırÖğe: 0–20
audience.excluded_segmentsarray<string>HayırÖğe: 0–20
frequencyobjectEvet
frequency.max_impressionsintegerHayırAralık: 1–1000
frequency.min_interval_secondsintegerHayırAralık: 0–31536000
frequency.stop_after_interactionbooleanHayır
journey_onlybooleanEvet
start_atstring | nullEvet
end_atstring | nullEvet
statsobjectEvet
stats.impressionsintegerEvet
stats.clicksintegerEvet
stats.dismissalsintegerEvet
stats.unique_usersintegerEvet
stats.ctrnumberEvet
variant_statsarray<object>Evet
variant_stats[].variant_idstringEvet
variant_stats[].impressionsintegerEvet
variant_stats[].clicksintegerEvet
variant_stats[].ctrnumberEvet
ab_testobjectEvet
ab_test.winnerobjectHayır
ab_test.winner.modeenumEvetDeğerler: "manual", "auto"
ab_test.winner.min_impressionsintegerHayırAralık: 10–1000000
ab_test.winner.confidencenumberHayırAralık: 0.8–0.99
ab_test.winner_variant_idstring | nullEvet
ab_test.decided_atstring | nullEvet
ab_test.decided_bystring | nullEvet
variant_significanceobject | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "priority": 10,
  "triggers": [
    {
      "kind": "session_start"
    }
  ],
  "trigger_groups": [
    [
      {
        "kind": "session_start"
      }
    ]
  ],
  "variants": [
    {
      "name": "Sipariş bildirimleri",
      "id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "weight_percent": 1,
      "display": {
        "layout": "modal",
        "blocks": [
          {}
        ],
        "background_color": "değer",
        "text_color": "değer"
      }
    }
  ],
  "display": {
    "layout": "modal",
    "blocks": [
      {
        "url": "https://example.com/orders/1001",
        "type": "image",
        "alt": {
          "tr": "Siparişiniz yola çıktı",
          "en": "Your order has shipped"
        }
      }
    ],
    "background_color": "değer",
    "text_color": "değer",
    "dismissible": true,
    "auto_dismiss_seconds": 1
  },
  "audience": {
    "included_segments": [
      "örnek"
    ],
    "excluded_segments": [
      "örnek"
    ]
  },
  "frequency": {
    "max_impressions": 1,
    "min_interval_seconds": 1,
    "stop_after_interaction": true
  },
  "journey_only": true,
  "start_at": "örnek",
  "end_at": "örnek",
  "stats": {
    "impressions": 1,
    "clicks": 1,
    "dismissals": 1,
    "unique_users": 1,
    "ctr": 1.5
  },
  "variant_stats": [
    {
      "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "impressions": 1,
      "clicks": 1,
      "ctr": 1.5
    }
  ],
  "ab_test": {
    "winner_variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "decided_at": "örnek",
    "decided_by": "örnek",
    "winner": {
      "mode": "manual",
      "min_impressions": 10,
      "confidence": 0.99
    }
  },
  "variant_significance": {
    "leader": "örnek",
    "p_value": 149.9,
    "significant": true
  },
  "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/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/in-app-messages/msg_01JD3W5Q7X9K2M4N6P8R0T1V3W/winner" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W"
}'

Bu sayfada