Webhook’lar
Webhook’lar — 10 işlem (GET /v1/apps/{appId}/webhooks, POST /v1/apps/{appId}/webhooks, POST /v1/apps/{appId}/webhooks/preview, …). OpenAPI 3.1.0 sözleşmesinden üretilir.
Giden webhook uç noktaları, secret rotasyonu, test gönderimi, teslim geçmişi ve replay; imza doğrulaması için “Webhooks” bölümüne bakın.
Taban adres: https://api.pushizo.com · Etiket: webhooks · Etkileşimli belge (Scalar)
İşlemler
| Yöntem | Yol | İşlem |
|---|---|---|
GET | /v1/apps/{appId}/webhooks | Webhook endpoint'leri |
POST | /v1/apps/{appId}/webhooks | Endpoint oluştur (secret yalnızca bu yanıtta döner) |
POST | /v1/apps/{appId}/webhooks/preview | Event Streams önizlemesi: örnek olay + şablon + filtre → gövde/hata (gönderim yapmaz) |
GET | /v1/apps/{appId}/webhooks/{webhookId} | Endpoint detayı |
PATCH | /v1/apps/{appId}/webhooks/{webhookId} | Endpoint güncelle (URL, olaylar, batch, başlıklar, etkinleştir/durdur) |
DELETE | /v1/apps/{appId}/webhooks/{webhookId} | Endpoint sil |
POST | /v1/apps/{appId}/webhooks/{webhookId}/rotate-secret | Secret rotasyonu (eski secret 24 saat ikinci imza olarak gönderilir) |
POST | /v1/apps/{appId}/webhooks/{webhookId}/test | Test olayı gönder (anında, sonuç döner) |
GET | /v1/apps/{appId}/webhooks/{webhookId}/deliveries | Teslim geçmişi (cursor; durum/olay türü filtresi) |
POST | /v1/apps/{appId}/webhooks/deliveries/{deliveryId}/replay | Teslimi yeniden gönder (aynı olay kimliğiyle) |
Ayrıntılar
Webhook endpoint'leri
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" |
Yanıtlar
200 — Başarılı.
Şema: WebhookList
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].id | string | Evet | |
data[].app_id | string | Evet | |
data[].url | string | Evet | |
data[].description | string | null | Evet | |
data[].events | array<string> | Evet | |
data[].event_filters | object | Evet | |
data[].event_filters.event_names | array<string> | Hayır | |
data[].batch | boolean | Evet | |
data[].status | enum | Evet | Değerler: "active", "failing", "disabled" |
data[].disabled_reason | string | null | Evet | |
data[].failure_count | integer | Evet | |
data[].failing_since | string | null | Evet | |
data[].last_success_at | string | null | Evet | |
data[].last_failure_at | string | null | Evet | |
data[].header_names | array<string> | Evet | |
data[].previous_secret_expires_at | string | null | Evet | |
data[].body_template | string | null | Evet | |
data[].body_content_type | enum | Evet | Değerler: "application/json", "text/plain" |
data[].filters | object | null | Evet | |
data[].created_at | string | Evet | |
data[].updated_at | string | Evet |
Örnek yanıt:
{
"data": [
{
"url": "https://example.com/orders/1001",
"events": [
"purchase"
],
"status": "active",
"id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"disabled_reason": "örnek",
"failure_count": 1,
"failing_since": "örnek",
"last_success_at": "örnek",
"last_failure_at": "örnek",
"header_names": [
"örnek"
],
"previous_secret_expires_at": "örnek",
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{}
]
},
"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/webhooks" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Endpoint oluştur (secret yalnızca bu yanıtta döner)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
Şema: CreateWebhookDto
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
url | string | Evet | Uzunluk: 1–2048 |
description | string | null | Hayır | |
events | array<enum> | Evet | Öğe: 1–31 |
event_filters | object | Hayır | |
event_filters.event_names | array<string> | Hayır | Öğe: 0–50 |
batch | boolean | Hayır | |
headers | map<string, string> | Hayır | |
body_template | string | null | Hayır | |
body_content_type | enum | Hayır | Şablon çıktısının içerik türü (varsayılan application/json).. Değerler: "application/json", "text/plain" |
filters | object | null | Hayır |
Örnek:
{
"url": "https://example.com/orders/1001",
"events": [
"message.queued"
],
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"headers": {
"key": "user_42"
},
"body_template": "örnek"
}Yanıtlar
201 — Başarılı.
Şema: WebhookWithSecret
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
url | string | Evet | |
description | string | null | Evet | |
events | array<string> | Evet | |
event_filters | object | Evet | |
event_filters.event_names | array<string> | Hayır | |
batch | boolean | Evet | |
status | enum | Evet | Değerler: "active", "failing", "disabled" |
disabled_reason | string | null | Evet | |
failure_count | integer | Evet | |
failing_since | string | null | Evet | |
last_success_at | string | null | Evet | |
last_failure_at | string | null | Evet | |
header_names | array<string> | Evet | |
previous_secret_expires_at | string | null | Evet | |
body_template | string | null | Evet | |
body_content_type | enum | Evet | Değerler: "application/json", "text/plain" |
filters | object | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet | |
secret | string | Evet | Yalnızca oluşturma ve rotasyon yanıtında bir kez döner. |
Örnek yanıt:
{
"url": "https://example.com/orders/1001",
"events": [
"purchase"
],
"status": "active",
"id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"disabled_reason": "örnek",
"failure_count": 1,
"failing_since": "örnek",
"last_success_at": "örnek",
"last_failure_at": "örnek",
"header_names": [
"örnek"
],
"previous_secret_expires_at": "örnek",
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{
"field": "örnek",
"op": "eq",
"value": "user_42"
}
]
},
"created_at": "örnek",
"updated_at": "örnek",
"secret": "ö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/webhooks" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/orders/1001",
"events": [
"message.queued"
],
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"headers": {
"key": "user_42"
},
"body_template": "örnek"
}'Event Streams önizlemesi: örnek olay + şablon + filtre → gövde/hata (gönderim yapmaz)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
Şema: WebhookPreviewDto
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
event_type | enum | Evet | Değerler: "message.queued", "message.completed", "message.failed", "delivery.sent", "delivery.delivered", "delivery.failed", "delivery.opened", "delivery.clicked", "delivery.bounced", "delivery.complained", "delivery.unsubscribed", "in_app.impression", "in_app.clicked", "in_app.dismissed", "subscription.created", "subscription.unsubscribed", "subscription.invalidated", "user.created", "user.updated", "user.merged", "user.deleted", "event.received", "conversion.created", "campaign.scheduled", "campaign.started", "campaign.completed", "journey.entered", "journey.step_completed", "journey.completed", "journey.exited", "audit.created", "webhook.test" |
data | map<string, any> | Hayır | |
body_template | string | null | Hayır | |
body_content_type | enum | Hayır | Şablon çıktısının içerik türü (varsayılan application/json).. Değerler: "application/json", "text/plain" |
filters | object | null | Hayır | |
batch | boolean | Hayır |
Örnek:
{
"event_type": "message.queued",
"data": {
"order_id": "1001"
},
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{
"field": "örnek",
"op": "eq",
"value": "user_42"
}
]
},
"batch": true
}Yanıtlar
200 — Başarılı.
Şema: WebhookPreviewResult
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
payload | map<string, any> | Evet | |
matched | boolean | Evet | Olay filtreden geçer mi (geçmezse gönderilmez). |
failed_conditions | array<object> | Evet | |
failed_conditions[].field | string | Evet | |
failed_conditions[].op | string | Evet | |
failed_conditions[].value | any | Hayır | |
body | string | null | Evet | |
content_type | string | Evet | |
error | object | null | Evet |
Örnek yanıt:
{
"payload": {
"key": "örnek"
},
"matched": true,
"failed_conditions": [
{
"field": "örnek",
"op": "örnek",
"value": "örnek"
}
],
"body": "Takip bağlantısı içeride",
"content_type": "örnek",
"error": {
"code": "örnek",
"message": "Takip bağlantısı içeride"
}
}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/webhooks/preview" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_type": "message.queued",
"data": {
"order_id": "1001"
},
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{
"field": "örnek",
"op": "eq",
"value": "user_42"
}
]
},
"batch": true
}'Endpoint detayı
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
webhookId | yol | string | Evet | "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: Webhook
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
url | string | Evet | |
description | string | null | Evet | |
events | array<string> | Evet | |
event_filters | object | Evet | |
event_filters.event_names | array<string> | Hayır | |
batch | boolean | Evet | |
status | enum | Evet | Değerler: "active", "failing", "disabled" |
disabled_reason | string | null | Evet | |
failure_count | integer | Evet | |
failing_since | string | null | Evet | |
last_success_at | string | null | Evet | |
last_failure_at | string | null | Evet | |
header_names | array<string> | Evet | |
previous_secret_expires_at | string | null | Evet | |
body_template | string | null | Evet | |
body_content_type | enum | Evet | Değerler: "application/json", "text/plain" |
filters | object | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet |
Örnek yanıt:
{
"url": "https://example.com/orders/1001",
"events": [
"purchase"
],
"status": "active",
"id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"disabled_reason": "örnek",
"failure_count": 1,
"failing_since": "örnek",
"last_success_at": "örnek",
"last_failure_at": "örnek",
"header_names": [
"örnek"
],
"previous_secret_expires_at": "örnek",
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{
"field": "örnek",
"op": "eq",
"value": "user_42"
}
]
},
"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/webhooks/whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Endpoint güncelle (URL, olaylar, batch, başlıklar, etkinleştir/durdur)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
webhookId | yol | string | Evet | "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
Şema: UpdateWebhookDto
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
url | string | Hayır | Uzunluk: 1–2048 |
description | string | null | Hayır | |
events | array<enum> | Hayır | Öğe: 1–31 |
event_filters | object | Hayır | |
event_filters.event_names | array<string> | Hayır | Öğe: 0–50 |
batch | boolean | Hayır | |
headers | map<string, string> | null | Hayır | |
status | enum | Hayır | Değerler: "active", "disabled" |
body_template | string | null | Hayır | |
body_content_type | enum | Hayır | Şablon çıktısının içerik türü (varsayılan application/json).. Değerler: "application/json", "text/plain" |
filters | object | null | Hayır |
Örnek:
{
"url": "https://example.com/orders/1001",
"events": [
"message.queued"
],
"status": "active",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
}
}Yanıtlar
200 — Başarılı.
Şema: Webhook
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
url | string | Evet | |
description | string | null | Evet | |
events | array<string> | Evet | |
event_filters | object | Evet | |
event_filters.event_names | array<string> | Hayır | |
batch | boolean | Evet | |
status | enum | Evet | Değerler: "active", "failing", "disabled" |
disabled_reason | string | null | Evet | |
failure_count | integer | Evet | |
failing_since | string | null | Evet | |
last_success_at | string | null | Evet | |
last_failure_at | string | null | Evet | |
header_names | array<string> | Evet | |
previous_secret_expires_at | string | null | Evet | |
body_template | string | null | Evet | |
body_content_type | enum | Evet | Değerler: "application/json", "text/plain" |
filters | object | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet |
Örnek yanıt:
{
"url": "https://example.com/orders/1001",
"events": [
"purchase"
],
"status": "active",
"id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"disabled_reason": "örnek",
"failure_count": 1,
"failing_since": "örnek",
"last_success_at": "örnek",
"last_failure_at": "örnek",
"header_names": [
"örnek"
],
"previous_secret_expires_at": "örnek",
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{
"field": "örnek",
"op": "eq",
"value": "user_42"
}
]
},
"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/webhooks/whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/orders/1001",
"events": [
"message.queued"
],
"status": "active",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
}
}'Endpoint sil
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
webhookId | yol | string | Evet | "whe_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/webhooks/whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Secret rotasyonu (eski secret 24 saat ikinci imza olarak gönderilir)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
webhookId | yol | string | Evet | "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: WebhookWithSecret
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
app_id | string | Evet | |
url | string | Evet | |
description | string | null | Evet | |
events | array<string> | Evet | |
event_filters | object | Evet | |
event_filters.event_names | array<string> | Hayır | |
batch | boolean | Evet | |
status | enum | Evet | Değerler: "active", "failing", "disabled" |
disabled_reason | string | null | Evet | |
failure_count | integer | Evet | |
failing_since | string | null | Evet | |
last_success_at | string | null | Evet | |
last_failure_at | string | null | Evet | |
header_names | array<string> | Evet | |
previous_secret_expires_at | string | null | Evet | |
body_template | string | null | Evet | |
body_content_type | enum | Evet | Değerler: "application/json", "text/plain" |
filters | object | null | Evet | |
created_at | string | Evet | |
updated_at | string | Evet | |
secret | string | Evet | Yalnızca oluşturma ve rotasyon yanıtında bir kez döner. |
Örnek yanıt:
{
"url": "https://example.com/orders/1001",
"events": [
"purchase"
],
"status": "active",
"id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"description": "Sipariş durumu güncellemeleri",
"event_filters": {
"event_names": [
"purchase"
]
},
"batch": true,
"disabled_reason": "örnek",
"failure_count": 1,
"failing_since": "örnek",
"last_success_at": "örnek",
"last_failure_at": "örnek",
"header_names": [
"örnek"
],
"previous_secret_expires_at": "örnek",
"body_template": "örnek",
"body_content_type": "application/json",
"filters": {
"match": "all",
"conditions": [
{
"field": "örnek",
"op": "eq",
"value": "user_42"
}
]
},
"created_at": "örnek",
"updated_at": "örnek",
"secret": "ö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/webhooks/whe_01JD3W5Q7X9K2M4N6P8R0T1V3W/rotate-secret" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Test olayı gönder (anında, sonuç döner)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
webhookId | yol | string | Evet | "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: WebhookDeliveryDetail
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
endpoint_id | string | Evet | |
event_type | string | Evet | |
event_id | string | Evet | |
subject_id | string | null | Evet | |
attempt | integer | Evet | |
status | enum | Evet | Değerler: "pending", "success", "failed", "dead" |
response_status | integer | null | Evet | |
response_body_excerpt | string | null | Evet | |
error | string | null | Evet | |
duration_ms | integer | null | Evet | |
next_retry_at | string | null | Evet | |
delivered_at | string | null | Evet | |
replay_of | string | null | Evet | |
created_at | string | Evet | |
payload | map<string, any> | Evet |
Örnek yanıt:
{
"status": "pending",
"id": "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"endpoint_id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"event_type": "örnek",
"event_id": "evt_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"subject_id": "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"attempt": 1,
"response_status": 1,
"response_body_excerpt": "örnek",
"error": "örnek",
"duration_ms": 1,
"next_retry_at": "örnek",
"delivered_at": "örnek",
"replay_of": "örnek",
"created_at": "örnek",
"payload": {
"key": "ö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/webhooks/whe_01JD3W5Q7X9K2M4N6P8R0T1V3W/test" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Teslim geçmişi (cursor; durum/olay türü filtresi)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
webhookId | yol | string | Evet | "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
limit | sorgu | integer | Hayır | Varsayılan: 50; Aralık: 1–200 | 50 |
cursor | sorgu | string | Hayır | Uzunluk: 1–∞ | "eyJpZCI6Im1zZ18wMUpE…" |
status | sorgu | enum | Hayır | Değerler: "pending", "success", "failed", "dead" | "pending" |
event_type | sorgu | string | Hayır | Uzunluk: 0–64 | "örnek" |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: WebhookDeliveryPage
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].id | string | Evet | |
data[].endpoint_id | string | Evet | |
data[].event_type | string | Evet | |
data[].event_id | string | Evet | |
data[].subject_id | string | null | Evet | |
data[].attempt | integer | Evet | |
data[].status | enum | Evet | Değerler: "pending", "success", "failed", "dead" |
data[].response_status | integer | null | Evet | |
data[].response_body_excerpt | string | null | Evet | |
data[].error | string | null | Evet | |
data[].duration_ms | integer | null | Evet | |
data[].next_retry_at | string | null | Evet | |
data[].delivered_at | string | null | Evet | |
data[].replay_of | string | null | Evet | |
data[].created_at | string | Evet | |
next_cursor | string | null | Evet | |
has_more | boolean | Evet |
Örnek yanıt:
{
"data": [
{
"status": "pending",
"id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"endpoint_id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"event_type": "örnek",
"event_id": "evt_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"subject_id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"attempt": 1,
"response_status": 1,
"response_body_excerpt": "örnek",
"error": "örnek",
"duration_ms": 1,
"next_retry_at": "örnek",
"delivered_at": "örnek",
"replay_of": "örnek",
"created_at": "örnek"
}
],
"next_cursor": "eyJpZCI6Im1zZ18wMUpE…",
"has_more": true
}Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).
Örnekler
curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/webhooks/whe_01JD3W5Q7X9K2M4N6P8R0T1V3W/deliveries?limit=50" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Teslimi yeniden gönder (aynı olay kimliğiyle)
/v1/apps/{appId}/webhooks/deliveries/{deliveryId}/replayDene (etkileşimli API belgesi, yeni sekme)Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
deliveryId | yol | string | Evet | "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: WebhookDeliveryDetail
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | |
endpoint_id | string | Evet | |
event_type | string | Evet | |
event_id | string | Evet | |
subject_id | string | null | Evet | |
attempt | integer | Evet | |
status | enum | Evet | Değerler: "pending", "success", "failed", "dead" |
response_status | integer | null | Evet | |
response_body_excerpt | string | null | Evet | |
error | string | null | Evet | |
duration_ms | integer | null | Evet | |
next_retry_at | string | null | Evet | |
delivered_at | string | null | Evet | |
replay_of | string | null | Evet | |
created_at | string | Evet | |
payload | map<string, any> | Evet |
Örnek yanıt:
{
"status": "pending",
"id": "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"endpoint_id": "whe_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"event_type": "örnek",
"event_id": "evt_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"subject_id": "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"attempt": 1,
"response_status": 1,
"response_body_excerpt": "örnek",
"error": "örnek",
"duration_ms": 1,
"next_retry_at": "örnek",
"delivered_at": "örnek",
"replay_of": "örnek",
"created_at": "örnek",
"payload": {
"key": "ö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/webhooks/deliveries/dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W/replay" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Dynamic Content ve Data Feeds
Dynamic Content ve Data Feeds — 13 işlem (GET /v1/apps/{appId}/data-feeds, POST /v1/apps/{appId}/data-feeds, GET /v1/apps/{appId}/data-feeds/{feedId}, …). OpenAPI 3.1.0 sözleşmesinden üretilir.
Analitik
Analitik — 9 işlem (GET /v1/apps/{appId}/analytics/overview, GET /v1/apps/{appId}/analytics/messages, GET /v1/apps/{appId}/analytics/subscriptions, …). OpenAPI 3.1.0 sözleşmesinden üretilir.