PushizoDocs
API referansı

Journey’ler

Journey’ler — 19 işlem (GET /v1/apps/{appId}/journeys, POST /v1/apps/{appId}/journeys, GET /v1/apps/{appId}/journeys/{journeyId}, …). OpenAPI 3.1.0 sözleşmesinden üretilir.

Journey tanımı, sürümleme, yayınlama/duraklatma, run’lar, kullanıcıya göre run listesi ve istatistikler. Graf biçimi için “Journeys” bölümüne bakın.

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

İşlemler

YöntemYolİşlem
GET/v1/apps/{appId}/journeysJourney listesi
POST/v1/apps/{appId}/journeysJourney oluştur (taslak)
GET/v1/apps/{appId}/journeys/{journeyId}Journey detayı
PATCH/v1/apps/{appId}/journeys/{journeyId}Ad / açıklama
DELETE/v1/apps/{appId}/journeys/{journeyId}Hiç yayınlanmamış journey'i sil
PUT/v1/apps/{appId}/journeys/{journeyId}/draftTaslağı kaydet
PATCH/v1/apps/{appId}/journeys/{journeyId}/nodes/{nodeId}Taslaktaki düğümü güncelle
GET/v1/apps/{appId}/journeys/{journeyId}/versionsSürümler
POST/v1/apps/{appId}/journeys/{journeyId}/publishYayınla
POST/v1/apps/{appId}/journeys/{journeyId}/pauseDuraklat
POST/v1/apps/{appId}/journeys/{journeyId}/resumeDevam ettir
POST/v1/apps/{appId}/journeys/{journeyId}/archiveArşivle
POST/v1/apps/{appId}/journeys/{journeyId}/duplicateKopyala
GET/v1/apps/{appId}/journeys/{journeyId}/statsDüğüm bazlı istatistik
GET/v1/apps/{appId}/journeys/{journeyId}/runsRun listesi
POST/v1/apps/{appId}/journeys/{journeyId}/runsKullanıcıyı journey'e sok (external_id, user_id veya alias; context Liquid custom_data)
GET/v1/apps/{appId}/journeys/{journeyId}/runs/{runId}Run detayı ve adımlar
DELETE/v1/apps/{appId}/journeys/{journeyId}/runs/{runId}Run'ı sonlandır
GET/v1/apps/{appId}/users/by/{label}/{value}/journeysKullanıcının journey run'ları

Ayrıntılar

Journey listesi

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"
qsorgustringHayırUzunluk: 0–100"ayse"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: JourneyPage

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].app_idstringEvet
data[].namestringEvet
data[].descriptionstring | nullEvet
data[].statusenumEvetDeğerler: "draft", "active", "paused", "archived"
data[].current_versioninteger | nullEvet
data[].draft_versioninteger | nullEvet
data[].trigger_kindstring | nullEvet
data[].published_atstring | nullEvet
data[].created_bystring | nullEvet
data[].created_atstringEvet
data[].updated_atstringEvet
data[].summaryobjectEvet
data[].summary.runs_totalintegerEvet
data[].summary.activeintegerEvet
data[].summary.completedintegerEvet
data[].summary.exitedintegerEvet
data[].summary.failedintegerEvet
data[].summary.goal_reachedintegerEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "name": "Sipariş bildirimleri",
      "status": "draft",
      "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "description": "Sipariş durumu güncellemeleri",
      "current_version": 1,
      "draft_version": 1,
      "trigger_kind": "örnek",
      "published_at": "örnek",
      "created_by": "örnek",
      "created_at": "örnek",
      "updated_at": "örnek",
      "summary": {
        "runs_total": 1,
        "active": 1,
        "completed": 1,
        "exited": 1,
        "failed": 1,
        "goal_reached": 1
      }
    }
  ],
  "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/journeys?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Journey oluştur (taslak)

POST/v1/apps/{appId}/journeysDene (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)

AlanTürZorunluAçıklama
namestringEvetUzunluk: 2–120
descriptionstringHayırUzunluk: 0–500
graphobjectHayırReact Flow uyumlu journey grafı: { nodes: [{ id, type, position, data }], edges: [{ id, source, target, sourceHandle }] } (docs/journeys.md)
graph.nodesarray<object>Evet
graph.edgesarray<object>Evet
settingsobjectHayırYeniden giriş, yalnızca yeni girenler, çıkış kuralları, çıkış tag'leri, hedefler, takvim (docs/journeys.md)

Örnek:

{
  "name": "Sipariş bildirimleri",
  "description": "Sipariş durumu güncellemeleri",
  "graph": {
    "nodes": [
      {}
    ],
    "edges": [
      {}
    ]
  },
  "settings": {}
}

Yanıtlar

201 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sipariş bildirimleri",
  "description": "Sipariş durumu güncellemeleri",
  "graph": {
    "nodes": [
      {}
    ],
    "edges": [
      {}
    ]
  },
  "settings": {}
}'

Journey detayı

GET/v1/apps/{appId}/journeys/{journeyId}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
journeyIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Ad / açıklama

PATCH/v1/apps/{appId}/journeys/{journeyId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

İstek gövdesi (zorunlu)

Şema: UpdateJourneyDto

AlanTürZorunluAçıklama
namestringHayırUzunluk: 2–120
descriptionstring | nullHayır

Örnek:

{
  "name": "Sipariş bildirimleri",
  "description": "Sipariş durumu güncellemeleri"
}

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sipariş bildirimleri",
  "description": "Sipariş durumu güncellemeleri"
}'

Hiç yayınlanmamış journey'i sil

DELETE/v1/apps/{appId}/journeys/{journeyId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
journeyIdyolstringEvet"jrn_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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Taslağı kaydet

PUT/v1/apps/{appId}/journeys/{journeyId}/draftDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

İstek gövdesi (zorunlu)

AlanTürZorunluAçıklama
graphobjectEvetReact Flow uyumlu journey grafı: { nodes: [{ id, type, position, data }], edges: [{ id, source, target, sourceHandle }] } (docs/journeys.md)
graph.nodesarray<object>Evet
graph.edgesarray<object>Evet
settingsobjectHayırYeniden giriş, yalnızca yeni girenler, çıkış kuralları, çıkış tag'leri, hedefler, takvim (docs/journeys.md)

Örnek:

{
  "graph": {
    "nodes": [
      {}
    ],
    "edges": [
      {}
    ]
  },
  "settings": {}
}

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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 PUT "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/draft" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "graph": {
    "nodes": [
      {}
    ],
    "edges": [
      {}
    ]
  },
  "settings": {}
}'

Taslaktaki düğümü güncelle

PATCH/v1/apps/{appId}/journeys/{journeyId}/nodes/{nodeId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
journeyIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
nodeIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

İstek gövdesi (zorunlu)

Şema: UpdateNodeDto

AlanTürZorunluAçıklama
datamap<string, any>Hayır
positionobjectHayır
position.xnumberEvet
position.ynumberEvet

Örnek:

{
  "data": {
    "order_id": "1001"
  },
  "position": {
    "x": 1.5,
    "y": 1.5
  }
}

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/nodes/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "data": {
    "order_id": "1001"
  },
  "position": {
    "x": 1.5,
    "y": 1.5
  }
}'

Sürümler

GET/v1/apps/{appId}/journeys/{journeyId}/versionsDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: JourneyVersionList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].versionintegerEvet
data[].graphmap<string, any>Evet
data[].settingsmap<string, any>Evet
data[].published_atstring | nullEvet
data[].published_bystring | nullEvet
data[].created_atstringEvet
data[].updated_atstringEvet

Örnek yanıt:

{
  "data": [
    {
      "version": 1,
      "graph": {
        "key": "örnek"
      },
      "settings": {},
      "published_at": "örnek",
      "published_by": "örnek",
      "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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/versions" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Yayınla

POST/v1/apps/{appId}/journeys/{journeyId}/publishDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: JourneyPublishResult

AlanTürZorunluAçıklama
journeyobjectEvet
journey.idstringEvet
journey.app_idstringEvet
journey.namestringEvet
journey.descriptionstring | nullEvet
journey.statusenumEvetDeğerler: "draft", "active", "paused", "archived"
journey.current_versioninteger | nullEvet
journey.draft_versioninteger | nullEvet
journey.trigger_kindstring | nullEvet
journey.published_atstring | nullEvet
journey.created_bystring | nullEvet
journey.created_atstringEvet
journey.updated_atstringEvet
journey.summaryobjectEvet
journey.summary.runs_totalintegerEvet
journey.summary.activeintegerEvet
journey.summary.completedintegerEvet
journey.summary.exitedintegerEvet
journey.summary.failedintegerEvet
journey.summary.goal_reachedintegerEvet
versionintegerEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "journey": {
    "name": "Sipariş bildirimleri",
    "status": "draft",
    "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "description": "Sipariş durumu güncellemeleri",
    "current_version": 1,
    "draft_version": 1,
    "trigger_kind": "örnek",
    "published_at": "örnek",
    "created_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek",
    "summary": {
      "runs_total": 1,
      "active": 1,
      "completed": 1,
      "exited": 1,
      "failed": 1,
      "goal_reached": 1
    }
  },
  "version": 1,
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/publish" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Duraklat

POST/v1/apps/{appId}/journeys/{journeyId}/pauseDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/pause" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Devam ettir

POST/v1/apps/{appId}/journeys/{journeyId}/resumeDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/resume" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Arşivle

POST/v1/apps/{appId}/journeys/{journeyId}/archiveDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

200 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/archive" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Kopyala

POST/v1/apps/{appId}/journeys/{journeyId}/duplicateDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

Yanıtlar

201 — Başarılı.

Şema: JourneyDetail

AlanTürZorunluAçıklama
idstringEvet
app_idstringEvet
namestringEvet
descriptionstring | nullEvet
statusenumEvetDeğerler: "draft", "active", "paused", "archived"
current_versioninteger | nullEvet
draft_versioninteger | nullEvet
trigger_kindstring | nullEvet
published_atstring | nullEvet
created_bystring | nullEvet
created_atstringEvet
updated_atstringEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
editingobjectEvet
editing.versionintegerEvet
editing.graphmap<string, any>Evet
editing.settingsmap<string, any>Evet
editing.published_atstring | nullEvet
editing.published_bystring | nullEvet
editing.created_atstringEvet
editing.updated_atstringEvet
issuesarray<object>Evet
issues[].codestringEvet
issues[].node_idstringHayır
issues[].edge_idstringHayır
issues[].messagestringEvet

Örnek yanıt:

{
  "name": "Sipariş bildirimleri",
  "status": "draft",
  "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "description": "Sipariş durumu güncellemeleri",
  "current_version": 1,
  "draft_version": 1,
  "trigger_kind": "örnek",
  "published_at": "örnek",
  "created_by": "örnek",
  "created_at": "örnek",
  "updated_at": "örnek",
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1
  },
  "editing": {
    "version": 1,
    "graph": {
      "key": "örnek"
    },
    "settings": {},
    "published_at": "örnek",
    "published_by": "örnek",
    "created_at": "örnek",
    "updated_at": "örnek"
  },
  "issues": [
    {
      "code": "örnek",
      "message": "Takip bağlantısı içeride",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "edge_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
    }
  ]
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/duplicate" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Düğüm bazlı istatistik

GET/v1/apps/{appId}/journeys/{journeyId}/statsDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
journeyIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
versionsorguintegerHayırAralık: 1–∞1
all_versionssorguenumHayırDeğerler: "true", "false""true"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: JourneyStats

AlanTürZorunluAçıklama
versioninteger | nullEvet
summaryobjectEvet
summary.runs_totalintegerEvet
summary.activeintegerEvet
summary.completedintegerEvet
summary.exitedintegerEvet
summary.failedintegerEvet
summary.goal_reachedintegerEvet
summary.waitingintegerEvet
summary.goal_conversion_ratenumberEvet
nodesarray<object>Evet
nodes[].node_idstringEvet
nodes[].node_typestringEvet
nodes[].enteredintegerEvet
nodes[].completedintegerEvet
nodes[].waiting_nowintegerEvet
nodes[].skippedintegerEvet
nodes[].failedintegerEvet
nodes[].branchesmap<string, integer>Evet
nodes[].messagesmap<string, integer>Hayır
nodes[].variantsarray<object>Hayır
nodes[].variants[].variant_idstringEvet
nodes[].variants[].sentintegerEvet
nodes[].variants[].openedintegerEvet
nodes[].variants[].clickedintegerEvet
nodes[].variants[].convertedintegerEvet
nodes[].variants[].winnerbooleanEvet
goalsarray<object>Evet
goals[].goal_idstringEvet
goals[].reachedintegerEvet
exit_reasonsmap<string, integer>Evet

Örnek yanıt:

{
  "version": 1,
  "summary": {
    "runs_total": 1,
    "active": 1,
    "completed": 1,
    "exited": 1,
    "failed": 1,
    "goal_reached": 1,
    "waiting": 1,
    "goal_conversion_rate": 1.5
  },
  "nodes": [
    {
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "node_type": "örnek",
      "entered": 1,
      "completed": 1,
      "waiting_now": 1,
      "skipped": 1,
      "failed": 1,
      "branches": {
        "key": 150
      },
      "messages": {
        "key": 150
      },
      "variants": [
        {
          "variant_id": "var_01JD3W5Q7X9K2M4N6P8R0T1V3W",
          "sent": 1,
          "opened": 1,
          "clicked": 1,
          "converted": 1,
          "winner": true
        }
      ]
    }
  ],
  "goals": [
    {
      "goal_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "reached": 1
    }
  ],
  "exit_reasons": {
    "key": 150
  }
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/stats" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Run listesi

GET/v1/apps/{appId}/journeys/{journeyId}/runsDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
journeyIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–20050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
statussorguenumHayırDeğerler: "active", "waiting", "completed", "exited", "failed""active"
user_idsorgustringHayırUzunluk: 0–64"usr_01JD3W5Q7X9K2M4N6P8R0T1V3W"
versionsorguintegerHayırAralık: 1–∞1
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: JourneyRunPage

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].journey_idstringEvet
data[].versionintegerEvet
data[].user_idstringEvet
data[].external_idstring | nullEvet
data[].statusenumEvetDeğerler: "active", "waiting", "completed", "exited", "failed"
data[].current_node_idstring | nullEvet
data[].next_action_atstring | nullEvet
data[].entered_atstringEvet
data[].completed_atstring | nullEvet
data[].exit_reasonstring | nullEvet
data[].goal_idstring | nullEvet
data[].goal_reached_atstring | nullEvet
data[].contextmap<string, any>Evet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "status": "active",
      "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "journey_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "version": 1,
      "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "external_id": "user_42",
      "current_node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "next_action_at": "örnek",
      "entered_at": "örnek",
      "completed_at": "örnek",
      "exit_reason": "örnek",
      "goal_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "goal_reached_at": "örnek",
      "context": {
        "key": "ö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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/runs?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Kullanıcıyı journey'e sok (external_id, user_id veya alias; context Liquid custom_data)

POST/v1/apps/{appId}/journeys/{journeyId}/runsDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

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

İstek gövdesi (zorunlu)

Şema: TriggerRunDto

AlanTürZorunluAçıklama
external_idstringHayırUzunluk: 1–255
user_idstringHayırUzunluk: 1–64
aliasobjectHayır
alias.labelstringEvetUzunluk: 1–50
alias.valuestringEvetUzunluk: 1–255
contextmap<string, any>Hayır

Örnek:

{
  "external_id": "user_42",
  "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "alias": {
    "label": "external_id",
    "value": "user_42"
  },
  "context": {
    "key": "örnek"
  }
}

Yanıtlar

201 — Başarılı.

Şema: JourneyTriggerResult

AlanTürZorunluAçıklama
enteredbooleanEvet
runobject | nullEvet
reasonenum | nullEvet

Örnek yanıt:

{
  "entered": true,
  "run": {
    "status": "active",
    "id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "journey_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "version": 1,
    "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "external_id": "user_42",
    "current_node_id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "next_action_at": "örnek",
    "entered_at": "örnek",
    "completed_at": "örnek",
    "exit_reason": "örnek",
    "goal_id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "goal_reached_at": "örnek",
    "context": {
      "key": "örnek"
    }
  },
  "reason": "inactive"
}

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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/runs" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "external_id": "user_42",
  "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "alias": {
    "label": "external_id",
    "value": "user_42"
  },
  "context": {
    "key": "örnek"
  }
}'

Run detayı ve adımlar

GET/v1/apps/{appId}/journeys/{journeyId}/runs/{runId}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
journeyIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
runIdyolstringEvet"run_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: JourneyRunDetail

AlanTürZorunluAçıklama
idstringEvet
journey_idstringEvet
versionintegerEvet
user_idstringEvet
external_idstring | nullEvet
statusenumEvetDeğerler: "active", "waiting", "completed", "exited", "failed"
current_node_idstring | nullEvet
next_action_atstring | nullEvet
entered_atstringEvet
completed_atstring | nullEvet
exit_reasonstring | nullEvet
goal_idstring | nullEvet
goal_reached_atstring | nullEvet
contextmap<string, any>Evet
journey_namestringEvet
stepsarray<object>Evet
steps[].idstringEvet
steps[].node_idstringEvet
steps[].node_typestringEvet
steps[].statusenumEvetDeğerler: "completed", "waiting", "failed", "skipped"
steps[].branchstring | nullEvet
steps[].resultmap<string, any>Evet
steps[].started_atstringEvet
steps[].finished_atstring | nullEvet

Örnek yanıt:

{
  "status": "active",
  "id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "journey_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "version": 1,
  "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "external_id": "user_42",
  "current_node_id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "next_action_at": "örnek",
  "entered_at": "örnek",
  "completed_at": "örnek",
  "exit_reason": "örnek",
  "goal_id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "goal_reached_at": "örnek",
  "context": {
    "key": "örnek"
  },
  "journey_name": "örnek",
  "steps": [
    {
      "status": "completed",
      "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "node_type": "örnek",
      "branch": "örnek",
      "result": {
        "key": "örnek"
      },
      "started_at": "örnek",
      "finished_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/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/runs/run_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Run'ı sonlandır

DELETE/v1/apps/{appId}/journeys/{journeyId}/runs/{runId}Dene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
journeyIdyolstringEvet"jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W"
runIdyolstringEvet"run_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: JourneyRunDetail

AlanTürZorunluAçıklama
idstringEvet
journey_idstringEvet
versionintegerEvet
user_idstringEvet
external_idstring | nullEvet
statusenumEvetDeğerler: "active", "waiting", "completed", "exited", "failed"
current_node_idstring | nullEvet
next_action_atstring | nullEvet
entered_atstringEvet
completed_atstring | nullEvet
exit_reasonstring | nullEvet
goal_idstring | nullEvet
goal_reached_atstring | nullEvet
contextmap<string, any>Evet
journey_namestringEvet
stepsarray<object>Evet
steps[].idstringEvet
steps[].node_idstringEvet
steps[].node_typestringEvet
steps[].statusenumEvetDeğerler: "completed", "waiting", "failed", "skipped"
steps[].branchstring | nullEvet
steps[].resultmap<string, any>Evet
steps[].started_atstringEvet
steps[].finished_atstring | nullEvet

Örnek yanıt:

{
  "status": "active",
  "id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "journey_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "version": 1,
  "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "external_id": "user_42",
  "current_node_id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "next_action_at": "örnek",
  "entered_at": "örnek",
  "completed_at": "örnek",
  "exit_reason": "örnek",
  "goal_id": "run_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "goal_reached_at": "örnek",
  "context": {
    "key": "örnek"
  },
  "journey_name": "örnek",
  "steps": [
    {
      "status": "completed",
      "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "node_type": "örnek",
      "branch": "örnek",
      "result": {
        "key": "örnek"
      },
      "started_at": "örnek",
      "finished_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 DELETE "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/journeys/jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W/runs/run_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Kullanıcının journey run'ları

GET/v1/apps/{appId}/users/by/{label}/{value}/journeysDene (etkileşimli API belgesi, yeni sekme)

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

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
labelyolstringEvet"external_id"
valueyolstringEvet"user_42"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: UserJourneyRuns

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].journey_idstringEvet
data[].versionintegerEvet
data[].user_idstringEvet
data[].external_idstring | nullEvet
data[].statusenumEvetDeğerler: "active", "waiting", "completed", "exited", "failed"
data[].current_node_idstring | nullEvet
data[].next_action_atstring | nullEvet
data[].entered_atstringEvet
data[].completed_atstring | nullEvet
data[].exit_reasonstring | nullEvet
data[].goal_idstring | nullEvet
data[].goal_reached_atstring | nullEvet
data[].contextmap<string, any>Evet
data[].journey_namestringEvet

Örnek yanıt:

{
  "data": [
    {
      "status": "active",
      "id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "journey_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "version": 1,
      "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "external_id": "user_42",
      "current_node_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "next_action_at": "örnek",
      "entered_at": "örnek",
      "completed_at": "örnek",
      "exit_reason": "örnek",
      "goal_id": "jrn_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "goal_reached_at": "örnek",
      "context": {
        "key": "örnek"
      },
      "journey_name": "ö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/users/by/external_id/user_42/journeys" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Bu sayfada