Kanallar
Kanallar — 3 işlem (GET /v1/apps/{appId}/channels, PUT /v1/apps/{appId}/channels/{channel}, POST /v1/apps/{appId}/channels/{channel}/validate). OpenAPI 3.1.0 sözleşmesinden üretilir.
APNs, FCM, HMS, Web Push, e-posta ve SMS kanal yapılandırması; gizli alanlar şifreli saklanır ve yanıtlarda dönmez. validate sağlayıcıyla gerçek bağlantı testi yapar.
Taban adres: https://api.pushizo.com · Etiket: channels · Etkileşimli belge (Scalar)
İşlemler
| Yöntem | Yol | İşlem |
|---|---|---|
GET | /v1/apps/{appId}/channels | Kanal yapılandırmaları |
PUT | /v1/apps/{appId}/channels/{channel} | Kimlik bilgisi yükle (APNs p8, FCM servis hesabı, VAPID, mock) |
POST | /v1/apps/{appId}/channels/{channel}/validate | Sağlayıcıya test bağlantısı |
Ayrıntılar
Kanal yapılandırmaları
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: ChannelList
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
data | array<object> | Evet | |
data[].channel | enum | Evet | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
data[].provider | enum | null | Evet | |
data[].status | enum | Evet | Değerler: "unconfigured", "active", "invalid", "suspended" |
data[].config | object | Evet | |
data[].config.auth_type | enum | Hayır | Değerler: "token", "certificate" |
data[].config.certificate_environment | enum | Hayır | Değerler: "sandbox", "production", "universal" |
data[].config.certificate_subject | string | Hayır | |
data[].config.certificate_expires_at | string | Hayır | |
data[].config.key_id | string | Hayır | |
data[].config.team_id | string | Hayır | |
data[].config.bundle_id | string | Hayır | |
data[].config.environment | enum | Hayır | Değerler: "sandbox", "production" |
data[].config.project_id | string | Hayır | |
data[].config.client_email | string | Hayır | |
data[].config.hms_app_id | string | Hayır | |
data[].config.high_priority | boolean | Hayır | |
data[].config.subject | string | Hayır | |
data[].config.vapid_public_key | string | Hayır | |
data[].config.site_url | string | Hayır | |
data[].config.from_address | string | Hayır | |
data[].config.from_name | string | Hayır | |
data[].config.reply_to | string | Hayır | |
data[].config.dkim_selector | string | Hayır | |
data[].config.postal_address | string | Hayır | |
data[].config.host | string | Hayır | |
data[].config.port | integer | Hayır | |
data[].config.secure | boolean | Hayır | |
data[].config.username | string | Hayır | |
data[].config.region | string | Hayır | |
data[].config.access_key_id | string | Hayır | |
data[].config.configuration_set | string | Hayır | |
data[].config.account_sid | string | Hayır | |
data[].config.from_number | string | Hayır | |
data[].config.messaging_service_sid | string | Hayır | |
data[].config.usercode | string | Hayır | |
data[].config.msgheader | string | Hayır | |
data[].config.iys_filter | enum | Hayır | Değerler: "0", "11", "12" |
data[].config.waba_id | string | Hayır | |
data[].config.phone_number_id | string | Hayır | |
data[].config.graph_api_version | string | Hayır | |
data[].config.display_phone_number | string | Hayır | |
data[].config.verified_name | string | Hayır | |
data[].config.rbm_agent_id | string | Hayır | |
data[].config.content_sid | string | Hayır | |
data[].config.sms_fallback | boolean | Hayır | |
data[].has_secret | boolean | Evet | |
data[].has_hook | boolean | Evet | |
data[].last_validated_at | string | null | Evet | |
data[].last_error | string | null | Evet | |
data[].updated_at | string | null | Evet | |
data[].suspended_reason | string | null | Evet | |
data[].dns_check | object | null | Evet |
Örnek yanıt:
{
"data": [
{
"channel": "ios_push",
"status": "unconfigured",
"provider": "apns",
"config": {
"auth_type": "token",
"certificate_environment": "sandbox"
},
"has_secret": true,
"has_hook": true,
"last_validated_at": "örnek",
"last_error": "örnek",
"updated_at": "örnek",
"suspended_reason": "örnek",
"dns_check": {
"domain": "örnek",
"checked_at": "örnek",
"spf": {
"ok": true,
"record": "örnek",
"expected": "örnek"
},
"dkim": {
"ok": true,
"selector": "örnek",
"record": "örnek",
"expected": "örnek"
},
"dmarc": {
"ok": true,
"record": "örnek",
"expected": "örnek"
},
"issues": [
"ö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/channels" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Kimlik bilgisi yükle (APNs p8, FCM servis hesabı, VAPID, mock)
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
channel | yol | string | Evet | "web_push" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
İstek gövdesi (zorunlu)
Tür: object
Örnek:
{
"provider": "apns",
"key_id": "key_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"team_id": "id_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"bundle_id": "id_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"environment": "sandbox",
"p8": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}Yanıtlar
200 — Başarılı.
Şema: ChannelConfig
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
channel | enum | Evet | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
provider | enum | null | Evet | |
status | enum | Evet | Değerler: "unconfigured", "active", "invalid", "suspended" |
config | object | Evet | |
config.auth_type | enum | Hayır | Değerler: "token", "certificate" |
config.certificate_environment | enum | Hayır | Değerler: "sandbox", "production", "universal" |
config.certificate_subject | string | Hayır | |
config.certificate_expires_at | string | Hayır | |
config.key_id | string | Hayır | |
config.team_id | string | Hayır | |
config.bundle_id | string | Hayır | |
config.environment | enum | Hayır | Değerler: "sandbox", "production" |
config.project_id | string | Hayır | |
config.client_email | string | Hayır | |
config.hms_app_id | string | Hayır | |
config.high_priority | boolean | Hayır | |
config.subject | string | Hayır | |
config.vapid_public_key | string | Hayır | |
config.site_url | string | Hayır | |
config.from_address | string | Hayır | |
config.from_name | string | Hayır | |
config.reply_to | string | Hayır | |
config.dkim_selector | string | Hayır | |
config.postal_address | string | Hayır | |
config.host | string | Hayır | |
config.port | integer | Hayır | |
config.secure | boolean | Hayır | |
config.username | string | Hayır | |
config.region | string | Hayır | |
config.access_key_id | string | Hayır | |
config.configuration_set | string | Hayır | |
config.account_sid | string | Hayır | |
config.from_number | string | Hayır | |
config.messaging_service_sid | string | Hayır | |
config.usercode | string | Hayır | |
config.msgheader | string | Hayır | |
config.iys_filter | enum | Hayır | Değerler: "0", "11", "12" |
config.waba_id | string | Hayır | |
config.phone_number_id | string | Hayır | |
config.graph_api_version | string | Hayır | |
config.display_phone_number | string | Hayır | |
config.verified_name | string | Hayır | |
config.rbm_agent_id | string | Hayır | |
config.content_sid | string | Hayır | |
config.sms_fallback | boolean | Hayır | |
has_secret | boolean | Evet | |
has_hook | boolean | Evet | |
last_validated_at | string | null | Evet | |
last_error | string | null | Evet | |
updated_at | string | null | Evet | |
suspended_reason | string | null | Evet | |
dns_check | object | null | Evet |
Örnek yanıt:
{
"channel": "ios_push",
"status": "unconfigured",
"provider": "apns",
"config": {
"auth_type": "token",
"certificate_environment": "sandbox",
"certificate_subject": "örnek",
"certificate_expires_at": "örnek"
},
"has_secret": true,
"has_hook": true,
"last_validated_at": "örnek",
"last_error": "örnek",
"updated_at": "örnek",
"suspended_reason": "örnek",
"dns_check": {
"domain": "örnek",
"checked_at": "örnek",
"spf": {
"ok": true,
"record": "örnek",
"expected": "örnek"
},
"dkim": {
"ok": true,
"selector": "örnek",
"record": "örnek",
"expected": "örnek"
},
"dmarc": {
"ok": true,
"record": "örnek",
"expected": "örnek"
},
"issues": [
"ö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 PUT "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/channels/web_push" \
-H "Authorization: Bearer $PUSHIZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "apns",
"key_id": "key_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"team_id": "id_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"bundle_id": "id_01JD3W5Q7X9K2M4N6P8R0T1V3W",
"environment": "sandbox",
"p8": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'Sağlayıcıya test bağlantısı
Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|---|
channel | yol | string | Evet | "web_push" | |
appId | yol | string | Evet | "app_01JD3W5Q7X9K2M4N6P8R0T1V3W" |
Yanıtlar
200 — Başarılı.
Şema: ChannelValidation
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
ok | boolean | Evet | |
kind | enum | null | Evet | |
code | string | null | Evet | |
message | string | null | Evet | |
details | map<string, any> | null | Evet | |
channel | object | Evet | |
channel.channel | enum | Evet | Değerler: "ios_push", "android_push", "hms_push", "web_push", "email", "sms", "whatsapp", "rcs" |
channel.provider | enum | null | Evet | |
channel.status | enum | Evet | Değerler: "unconfigured", "active", "invalid", "suspended" |
channel.config | object | Evet | |
channel.config.auth_type | enum | Hayır | Değerler: "token", "certificate" |
channel.config.certificate_environment | enum | Hayır | Değerler: "sandbox", "production", "universal" |
channel.config.certificate_subject | string | Hayır | |
channel.config.certificate_expires_at | string | Hayır | |
channel.config.key_id | string | Hayır | |
channel.config.team_id | string | Hayır | |
channel.config.bundle_id | string | Hayır | |
channel.config.environment | enum | Hayır | Değerler: "sandbox", "production" |
channel.config.project_id | string | Hayır | |
channel.config.client_email | string | Hayır | |
channel.config.hms_app_id | string | Hayır | |
channel.config.high_priority | boolean | Hayır | |
channel.config.subject | string | Hayır | |
channel.config.vapid_public_key | string | Hayır | |
channel.config.site_url | string | Hayır | |
channel.config.from_address | string | Hayır | |
channel.config.from_name | string | Hayır | |
channel.config.reply_to | string | Hayır | |
channel.config.dkim_selector | string | Hayır | |
channel.config.postal_address | string | Hayır | |
channel.config.host | string | Hayır | |
channel.config.port | integer | Hayır | |
channel.config.secure | boolean | Hayır | |
channel.config.username | string | Hayır | |
channel.config.region | string | Hayır | |
channel.config.access_key_id | string | Hayır | |
channel.config.configuration_set | string | Hayır | |
channel.config.account_sid | string | Hayır | |
channel.config.from_number | string | Hayır | |
channel.config.messaging_service_sid | string | Hayır | |
channel.config.usercode | string | Hayır | |
channel.config.msgheader | string | Hayır | |
channel.config.iys_filter | enum | Hayır | Değerler: "0", "11", "12" |
channel.config.waba_id | string | Hayır | |
channel.config.phone_number_id | string | Hayır | |
channel.config.graph_api_version | string | Hayır | |
channel.config.display_phone_number | string | Hayır | |
channel.config.verified_name | string | Hayır | |
channel.config.rbm_agent_id | string | Hayır | |
channel.config.content_sid | string | Hayır | |
channel.config.sms_fallback | boolean | Hayır | |
channel.has_secret | boolean | Evet | |
channel.has_hook | boolean | Evet | |
channel.last_validated_at | string | null | Evet | |
channel.last_error | string | null | Evet | |
channel.updated_at | string | null | Evet | |
channel.suspended_reason | string | null | Evet | |
channel.dns_check | object | null | Evet |
Örnek yanıt:
{
"channel": {
"channel": "ios_push",
"status": "unconfigured",
"provider": "apns",
"config": {
"auth_type": "token",
"certificate_environment": "sandbox"
},
"has_secret": true,
"has_hook": true,
"last_validated_at": "örnek",
"last_error": "örnek",
"updated_at": "örnek",
"suspended_reason": "örnek",
"dns_check": {
"domain": "örnek",
"checked_at": "örnek",
"spf": {
"ok": true,
"record": "örnek",
"expected": "örnek"
},
"dkim": {
"ok": true,
"selector": "örnek",
"record": "örnek",
"expected": "örnek"
},
"dmarc": {
"ok": true,
"record": "örnek",
"expected": "örnek"
},
"issues": [
"örnek"
]
}
},
"ok": true,
"kind": "auth",
"code": "örnek",
"message": "Takip bağlantısı içeride",
"details": {
"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/channels/web_push/validate" \
-H "Authorization: Bearer $PUSHIZO_API_KEY"Identity verification anahtarları
Identity verification anahtarları — 3 işlem (GET /v1/apps/{appId}/identity-keys, POST /v1/apps/{appId}/identity-keys, DELETE /v1/apps/{appId}/identity-keys/{keyId}). OpenAPI 3.1.0 sözleşmesinden üretilir.
Bildirimler
Bildirimler — 8 işlem (GET /v1/notifications, POST /v1/notifications, POST /v1/notifications/estimate, …). OpenAPI 3.1.0 sözleşmesinden üretilir.