Segmentler
Segmentler — 8 işlem (GET /v1/apps/{appId}/segments, POST /v1/apps/{appId}/segments, POST /v1/apps/{appId}/segments/preview, …). OpenAPI 3.1.0 sözleşmesinden üretilir.
Dinamik/statik segmentler, koşul AST’si ile canlı önizleme ve kitle tahmini.
Taban adres: https://api.pushizo.com · Etiket: segments · Etkileşimli belge (Scalar)
İşlemler
| Yöntem | Yol | İşlem |
|---|---|---|
GET | /v1/apps/{appId}/segments | Segment listesi |
POST | /v1/apps/{appId}/segments | Segment oluştur |
POST | /v1/apps/{appId}/segments/preview | Tanım ile sayım ve örnek kullanıcılar |
GET | /v1/apps/{appId}/segments/{segmentId} | Segment detayı |
PATCH | /v1/apps/{appId}/segments/{segmentId} | Segment güncelle |
DELETE | /v1/apps/{appId}/segments/{segmentId} | Segment sil |
GET | /v1/apps/{appId}/segments/{segmentId}/campaigns | Segmenti kullanan kampanyalar |
POST | /v1/apps/{appId}/segments/{segmentId}/estimate | Tahmini sayım |
Ayrıntılar
Segment listesi
Kimlik doğrulama: API anahtarı — kapsam segments:read (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
limit | sorgu | integer | Hayır | Varsayılan: 50; Aralık: 1–200 | 50 |
cursor | sorgu | string | Hayır | Uzunluk: 1–∞ | "eyJpZCI6Im1zZ18wMUpE…" |
q | sorgu | string | Hayır | Uzunluk: 1–100 | "ayse" |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: SegmentPage
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].id | string | Evet | |
data[].app_id | string | Evet | |
data[].name | string | Evet | |
data[].description | string | null | Evet | |
data[].definition | map<string, any> | Evet | |
data[].is_dynamic | boolean | Evet | |
data[].estimated_count | integer | null | Evet | |
data[].estimated_at | string | null | Evet | |
data[].created_by | string | null | Evet | |
data[].created_at | string | Evet | |
data[].updated_at | string | Evet | |
next_cursor | string | null | Evet | |
has_more | boolean | Evet |
Örnek yanıt:
{
"data": [
{
"name": "Sipariş bildirimleri",
"id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"definition": {
"key": "örnek"
},
"is_dynamic": true,
"estimated_count": 1,
"estimated_at": "örnek",
"created_by": "örnek",
"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/segments?limit=50" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Segment oluştur
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Evet | Uzunluk: 2–100 |
description | string | null | Hayır | Uzunluk: 0–500 |
definition | object | Evet | Filtre AST: all/any/none grupları ve { field, op, value } koşulları (docs/plan/05 §5.7). |
definition.all | array<object> | Hayır | |
definition.any | array<object> | Hayır | |
definition.none | array<object> | Hayır | |
is_dynamic | boolean | Hayır |
Örnek:
{
"name": "Sipariş bildirimleri",
"definition": {
"all": [
{}
],
"any": [
{}
],
"none": [
{}
]
},
"description": "Sipariş durumu güncellemeleri",
"is_dynamic": true
}Yanıtlar
200 — Başarılı.
Şema: Segment
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
name | string | Evet | |
description | string | null | Evet | |
definition | map<string, any> | Evet | |
is_dynamic | boolean | Evet | |
estimated_count | integer | null | Evet | |
estimated_at | string | null | Evet | |
created_by | string | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet |
Örnek yanıt:
{
"name": "Sipariş bildirimleri",
"id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"definition": {
"key": "örnek"
},
"is_dynamic": true,
"estimated_count": 1,
"estimated_at": "örnek",
"created_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 POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/segments" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Sipariş bildirimleri",
"definition": {
"all": [
{}
],
"any": [
{}
],
"none": [
{}
]
},
"description": "Sipariş durumu güncellemeleri",
"is_dynamic": true
}'Tanım ile sayım ve örnek kullanıcılar
Kimlik doğrulama: API anahtarı — kapsam segments:read (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
definition | object | Evet | Filtre AST: all/any/none grupları ve { field, op, value } koşulları (docs/plan/05 §5.7). |
definition.all | array<object> | Hayır | |
definition.any | array<object> | Hayır | |
definition.none | array<object> | Hayır | |
limit | integer | Hayır | Aralık: 1–50 |
Örnek:
{
"definition": {
"all": [
{}
],
"any": [
{}
],
"none": [
{}
]
},
"limit": 50
}Yanıtlar
200 — Başarılı.
Şema: SegmentPreview
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
subscriptions | integer | Evet | |
users | integer | Evet | |
sampled | boolean | Evet | |
sample | array<object> | Evet | |
sample[].id | string | Evet | |
sample[].external_id | string | null | Evet | |
sample[].tags | map<string, string> | Evet | |
sample[].last_active_at | string | Evet |
Örnek yanıt:
{
"subscriptions": 1,
"users": 1,
"sampled": true,
"sample": [
{
"tags": {
"plan": "pro",
"city": "Istanbul"
},
"id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"external_id": "user_42",
"last_active_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/segments/preview" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"definition": {
"all": [
{}
],
"any": [
{}
],
"none": [
{}
]
},
"limit": 50
}'Segment detayı
Kimlik doğrulama: API anahtarı — kapsam segments:read (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
segmentId | yol | string | Evet | "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: Segment
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
name | string | Evet | |
description | string | null | Evet | |
definition | map<string, any> | Evet | |
is_dynamic | boolean | Evet | |
estimated_count | integer | null | Evet | |
estimated_at | string | null | Evet | |
created_by | string | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet |
Örnek yanıt:
{
"name": "Sipariş bildirimleri",
"id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"definition": {
"key": "örnek"
},
"is_dynamic": true,
"estimated_count": 1,
"estimated_at": "örnek",
"created_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/segments/seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Segment güncelle
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
segmentId | yol | string | Evet | "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Hayır | Uzunluk: 2–100 |
description | string | null | Hayır | Uzunluk: 0–500 |
definition | object | Hayır | Filtre AST: all/any/none grupları ve { field, op, value } koşulları (docs/plan/05 §5.7). |
definition.all | array<object> | Hayır | |
definition.any | array<object> | Hayır | |
definition.none | array<object> | Hayır | |
is_dynamic | boolean | Hayır |
Örnek:
{
"name": "Sipariş bildirimleri",
"description": "Sipariş durumu güncellemeleri",
"definition": {
"all": [
{}
],
"any": [
{}
],
"none": [
{}
]
},
"is_dynamic": true
}Yanıtlar
200 — Başarılı.
Şema: Segment
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
name | string | Evet | |
description | string | null | Evet | |
definition | map<string, any> | Evet | |
is_dynamic | boolean | Evet | |
estimated_count | integer | null | Evet | |
estimated_at | string | null | Evet | |
created_by | string | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet |
Örnek yanıt:
{
"name": "Sipariş bildirimleri",
"id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"definition": {
"key": "örnek"
},
"is_dynamic": true,
"estimated_count": 1,
"estimated_at": "örnek",
"created_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 PATCH "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/segments/seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Sipariş bildirimleri",
"description": "Sipariş durumu güncellemeleri",
"definition": {
"all": [
{}
],
"any": [
{}
],
"none": [
{}
]
},
"is_dynamic": true
}'Segment sil
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
segmentId | yol | string | Evet | "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: Ok
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
ok | true | Evet |
Ö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/segments/seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Segmenti kullanan kampanyalar
Kimlik doğrulama: API anahtarı — kapsam segments:read (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
segmentId | yol | string | Evet | "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: SegmentCampaigns
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].id | string | Evet | |
data[].name | string | Evet | |
data[].status | string | Evet | |
data[].type | string | Evet | |
data[].usage | enum | Evet | Değerler: "include", "exclude" |
data[].created_at | string | Evet |
Örnek yanıt:
{
"data": [
{
"name": "Sipariş bildirimleri",
"type": "örnek",
"status": "örnek",
"id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"usage": "include",
"created_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/segments/seg_01JD3W5Q7X9K2M4N6P8R0T1V3W/campaigns" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Tahmini sayım
Kimlik doğrulama: API anahtarı — kapsam segments:read (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
segmentId | yol | string | Evet | "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
force | sorgu | enum | Hayır | true: önbelleği atla, tam sayım. Değerler: "true", "false" | "true" |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: SegmentEstimate
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
segment_id | string | null | Evet | |
subscriptions | integer | Evet | |
users | integer | Evet | |
estimated_at | string | Evet | |
cached | boolean | Evet | |
sampled | boolean | Evet |
Örnek yanıt:
{
"subscriptions": 1,
"segment_id": "seg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"users": 1,
"estimated_at": "örnek",
"cached": true,
"sampled": 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 POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/segments/seg_01JD3W5Q7X9K2M4N6P8R0T1V3W/estimate" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Olay tanımları
Olay tanımları — 3 işlem (GET /v1/apps/{appId}/events/definitions, GET /v1/apps/{appId}/events/definitions/{name}, PATCH /v1/apps/{appId}/events/definitions/{name}). OpenAPI 3.1.0 sözleşmesinden üretilir.
Şablonlar
Şablonlar — 9 işlem (GET /v1/apps/{appId}/templates, POST /v1/apps/{appId}/templates, GET /v1/apps/{appId}/templates/{templateId}, …). OpenAPI 3.1.0 sözleşmesinden üretilir.