Pushizo Docs

Hızlı başlangıç

Kayıt, app oluşturma, kanal kurulumu, SDK kurulumu ve ilk bildirim — 15 dakikada test push.

Bu rehber sıfırdan ilk bildirime kadar olan adımları izler. Dashboard'daki Başlangıç sihirbazı (/<org>/getting-started) aynı adımları app → kanal (ya da simülasyon) → SDK snippet → canlı cihaz algılama → test push sırasıyla yürütür ve cihaz kaydını canlı gösterir.

1. Kayıt ve organizasyon

  1. https://<dashboard>/register adresinden e-posta ve parolayla kayıt olun (Google/GitHub ile giriş de etkinleştirilmiş olabilir). Gelen doğrulama e-postasındaki bağlantıya tıklayın; yerel geliştirmede e-postalar Mailpit'te (http://localhost:8025) görünür.
  2. Onboarding adımında organizasyon adınızı verin. Her yeni organizasyon 14 günlük starter denemesiyle başlar; sonrasında free plan (10k abone, 100k mesaj/ay) devam eder. Planlar ve kotalar: Faturalama.
  3. İsteğe bağlı: Hesap → MFA ile iki aşamalı doğrulamayı açın (organizasyon düzeyinde zorunlu kılınabilir).

2. App oluşturma

Dashboard → App'ler → Yeni app (ya da Başlangıç sihirbazı). App oluşturulunca app_… kimliğini App ayarları'nda görürsünüz; istemci SDK'ları bu kimlikle çalışır.

API ile (org geneli admin anahtarıyla):

curl -X POST https://api.example.com/v1/apps \
  -H "Authorization: Bearer hs_live_…" -H "Content-Type: application/json" \
  -d '{"name":"Mağaza"}'

3. Kanal kurulumu

App ayarları → Kanallar'da en az bir kanalı etkinleştirin. Gerçek kimlik bilgisi yoksa her kanal simülasyon (mock) sağlayıcısıyla da çalışır; teslimat hattı uçtan uca işler, bildirim cihaza gitmez.

KanalGerekenlerDoğrulama
Web PushYalnızca etkinleştirme (VAPID çifti otomatik üretilir), gönderici subject (mailto: ya da https://)Anında active
iOS PushAPNs .p8 anahtarı, Key ID, Team ID, Bundle ID, ortam (sandbox / production)APNs bağlantı testi
Android PushFirebase servis hesabı JSON'uFCM bağlantı testi
E-postaSMTP / SES / Resend bilgileri, gönderici adresi (SPF/DKIM/DMARC önerilir)Sağlayıcı testi
SMSTwilio ya da Netgsm bilgileriSağlayıcı testi

Gizli alanlar (p8, servis hesabı, parola, API anahtarı) şifreli saklanır ve hiçbir yanıtta geri dönmez. API: PUT /v1/apps/{app_id}/channels/{channel} + POST …/validate (admin).

4. SDK kurulumu

Geliştirici → SDK Kurulumu sayfası App ID ve API adresi yerleştirilmiş snippet'leri verir. En hızlı yol web:

<script src="https://api.example.com/sdk-web/PushizoSDK.js" async></script>
<script>
  window.PushizoDeferred = window.PushizoDeferred || [];
  PushizoDeferred.push(async (Pushizo) => {
    await Pushizo.init({ appId: 'app_…', apiUrl: 'https://api.example.com' });
  });
</script>

Site kökünde PushizoSDKWorker.js:

const apiUrl = new URL(self.location.href).searchParams.get('apiUrl') || 'https://api.example.com';
importScripts(`${apiUrl}/sdk-web/PushizoSDKWorker.js`);

Bir düğmeye Pushizo.Notifications.requestPermission() bağlayın; izin verilince abonelik oluşur ve Dashboard → Abonelikler'de web_push kaydı görünür. Mobil ve sunucu SDK'ları için SDK rehberleri: iOS (Pushizo.initialize), Android (Pushizo.initialize(context, appId, options)), Flutter (Pushizo.initialize), Node (new Pushizo({ apiKey })), PHP (new Client([...])).

Kullanıcı kimliğini bildiğiniz anda Pushizo.login('user_42') çağırın; böylece aynı kullanıcının tüm cihazları birleşir ve sunucudan external_id ile hedefleyebilirsiniz.

5. İlk bildirim

Dashboard'dan

Abonelikler → kaydı Test cihazı yapın → Mesajlar → Test push gönder. Bildirim cihaza gelir; tıklayınca sayfa/uygulama açılır ve Mesaj İzleme'de queued → sent → received → opened zaman çizelgesi görünür. Başlangıç sihirbazı bu adımı ≤ 15 dakika hedefiyle ölçer.

API'den

Organizasyon → API anahtarları'ndan notifications:write kapsamlı bir anahtar oluşturun (ham anahtar yalnızca bir kez gösterilir).

curl -X POST https://api.example.com/v1/notifications \
  -H "Authorization: Bearer hs_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: ilk-bildirim-1" \
  -d '{
    "app_id": "app_…",
    "target": { "test_devices_only": true },
    "headings": { "tr": "Merhaba", "en": "Hello" },
    "contents": { "tr": "Pushizo çalışıyor", "en": "Pushizo is working" },
    "url": "https://example.com"
  }'
# 202 → { "id": "msg_…", "status": "queued", "recipients_estimate": 1, "external_id_missing": [] }

target.test_devices_only: true yalnızca test cihazlarına gönderir; gerçek hedefleme için include_external_ids, include_aliases, included_segments ya da all: true. Durum: GET /v1/notifications/{message_id} (counts.sent, delivered, opened…), teslimatlar: GET /v1/notifications/{message_id}/deliveries.

Node ile aynı istek:

import { Pushizo } from '@pushizo/node';

const hs = new Pushizo({ apiKey: process.env.HS_API_KEY!, appId: 'app_…', baseUrl: 'https://api.example.com' });
const result = await hs.notifications.create({
  idempotency_key: 'ilk-bildirim-1',
  target: { test_devices_only: true },
  headings: { tr: 'Merhaba' },
  contents: { tr: 'Pushizo çalışıyor' },
});
console.log(result.id, result.status);

6. Sonraki adımlar

  • Olay ve dönüşüm: Pushizo.Session.sendEvent('purchase', { sku: 'A1' }, 49.9) ya da POST /v1/apps/{app_id}/events; olay tanımında is_conversion işaretleyin.
  • Segment ve kampanya: Dashboard → Kitle → Segmentler; Kampanyalar ile zamanlama, A/B testi (A/B testi).
  • Webhook: teslimat ve abonelik olaylarını sunucunuza alın (Webhook'lar).
  • Journey: olay/segment tetikli otomasyon (Journey'ler).
  • E-posta, SMS, in-app, bildirim kutusu: Mesajlaşma.
  • OneSignal'den geliyorsanız: göç rehberi.

Bu sayfada