iloveQR
    Planlar ve fiyatlarSSSAPI
    Kaydol
    iloveQR

    Güçlü platformumuzla QR kodlarınızı oluşturun, özelleştirin ve takip edin. Dünya çapında binlerce işletmenin güvendiği çözüm.

    • QR Türleri
    • Dinamik QR
    • Statik QR
    • Analitik
    • Şablonlar
    • Toplu Oluşturucu
    • Özel Alan Adları
    • API
    • Hakkımızda
    • Fiyatlandırma
    • İletişim
    • SSS
    • Yardım Merkezi
    • Gizlilik Politikası
    • Şartlar ve Koşullar
    • Çerez Politikası
    • GDPR
    • Kötüye Kullanımı Bildir

    © 2026 iloveQR. Tüm hakları saklıdır.

    API Dokümantasyonu
    API Belgeleri
    Başlarken
    GirişHızlı BaşlangıçKimlik Doğrulama
    Kimlik Doğrulama
    QR Kodları
    Toplu İşlemler
    Analitik
    Web Kancaları
    KurulumEtkinliklerGüvenlik

    Hızlı Bağlantılar

    API Anahtarını AlÜcretsiz Deneme Başlat
    Webhooks

    Webhooks

    Etkinlikler gerçekleştiğinde organizasyonunuzda gerçek zamanlı bildirimler alın. Webhooks, QR kodu taramaları ve diğer etkinliklere anında yanıt veren reaktif entegrasyonlar oluşturmanıza olanak tanır.

    Gerçek zamanlı

    Etkinlikler gerçekleştiğinde anında bildirim alın, anket gerektirmez

    Güvenli

    HMAC imzaları, webhooks'un iloveQR'den geldiğini doğrular

    Güvenilir

    Başarısız teslimatlar için otomatik yeniden denemeler ile üstel geri çekilme

    Webhooks'u Ayarlama

    Etkinlikleri almaya başlamak için webhooks'u kontrol paneli veya API aracılığıyla yapılandırın.

    1

    Bir webhook uç noktası oluşturun

    Webhook yüklerini almak için sunucunuzda bir HTTPS uç noktası ayarlayın.

    2

    Webhook'u kaydedin

    Uç nokta URL'nizi ekleyin ve hangi etkinliklere abone olacağınızı seçin.

    3

    İmzaları doğrulayın

    Yüklerin gerçek olduğunu doğrulamak için imza doğrulaması uygulayın.

    Webhook Kaydı
    curl -X POST \
      "https://api.iloveqr.com/api/v1/organizations/org_abc123/webhooks" \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "https://your-server.com/webhooks/iloveqr",
        "events": ["qr.scanned", "qr.created", "qr.updated"],
        "secret": "your_webhook_secret"
      }'

    Webhook Etkinlikleri

    İhtiyacınız olan etkinliklere abone olun. Her etkinlik türünün belirli bir yük yapısı vardır.

    QR Kod Etkinlikleri

    qr.createdYeni bir QR kodu oluşturuldu
    qr.updatedBir QR kodu güncellendi
    qr.deletedBir QR kodu silindi
    qr.scannedBir QR kodu tarandı
    qr.archivedBir QR kodu arşivlendi
    qr.restoredBir QR kodu arşivden geri yüklendi

    Abonelik Etkinlikleri

    subscription.createdYeni bir abonelik oluşturuldu
    subscription.updatedBir abonelik güncellendi
    subscription.cancelledBir abonelik iptal edildi
    subscription.payment_succeededBir ödeme başarılı oldu
    subscription.payment_failedBir ödeme başarısız oldu

    Ekip Etkinlikleri

    member.joinedBir üye organizasyona katıldı
    member.leftBir üye organizasyondan ayrıldı
    member.role_changedBir üyenin rolü değiştirildi

    Webhook Yükü

    Tüm webhook yükleri, etkinlik meta verileri ve verilerle tutarlı bir yapıyı takip eder.

    Örnek: qr.scanned Etkinliği
    {
      "id": "evt_1a2b3c4d5e6f",
      "event": "qr.scanned",
      "createdAt": "2024-01-15T14:30:00Z",
      "organizationId": "org_abc123",
      "data": {
        "qrCodeId": "qr_xyz789",
        "qrCodeName": "Product Landing Page",
        "shortCode": "xyz789",
        "destinationUrl": "https://example.com/product",
        "scan": {
          "id": "scan_123abc",
          "timestamp": "2024-01-15T14:30:00Z",
          "location": {
            "country": "US",
            "city": "New York",
            "latitude": 40.7128,
            "longitude": -74.0060
          },
          "device": {
            "type": "mobile",
            "os": "iOS",
            "browser": "Safari"
          },
          "isUnique": true
        }
      }
    }
    Örnek: qr.created Etkinliği
    {
      "id": "evt_7g8h9i0j1k2l",
      "event": "qr.created",
      "createdAt": "2024-01-15T10:00:00Z",
      "organizationId": "org_abc123",
      "data": {
        "qrCode": {
          "id": "qr_newcode",
          "type": "URL",
          "name": "New Campaign QR",
          "shortUrl": "https://ilqr.co/newcode",
          "destinationUrl": "https://example.com/campaign",
          "createdBy": "user_abc123"
        }
      }
    }

    Webhooks'u Doğrulama

    Her zaman webhook imzalarını doğrulayın, böylece yükün iloveQR'den geldiğinden ve transit sırasında değiştirilmediğinden emin olun.

    İmza Başlığı

    Her webhook isteği, istek gövdesinin HMAC-SHA256 imzasını içeren bir X-Webhook-Signature başlığı içerir.

    Node.js Doğrulama Örneği
    const crypto = require('crypto');
    
    function verifyWebhookSignature(payload, signature, secret) {
      const expectedSignature = crypto
        .createHmac('sha256', secret)
        .update(payload)
        .digest('hex');
    
      return crypto.timingSafeEqual(
        Buffer.from(signature),
        Buffer.from(expectedSignature)
      );
    }
    
    // In your webhook handler
    app.post('/webhooks/iloveqr', (req, res) => {
      const signature = req.headers['x-webhook-signature'];
      const payload = JSON.stringify(req.body);
    
      if (!verifyWebhookSignature(payload, signature, WEBHOOK_SECRET)) {
        return res.status(401).send('Invalid signature');
      }
    
      // Process the webhook
      const event = req.body;
      console.log('Received event:', event.event);
    
      res.status(200).send('OK');
    });
    Python Doğrulama Örneği
    import hmac
    import hashlib
    
    def verify_webhook_signature(payload: bytes, signature: str, secret: str) -> bool:
        expected = hmac.new(
            secret.encode(),
            payload,
            hashlib.sha256
        ).hexdigest()
        return hmac.compare_digest(signature, expected)
    
    # In your Flask handler
    @app.route('/webhooks/iloveqr', methods=['POST'])
    def handle_webhook():
        signature = request.headers.get('X-Webhook-Signature')
        payload = request.get_data()
    
        if not verify_webhook_signature(payload, signature, WEBHOOK_SECRET):
            return 'Invalid signature', 401
    
        event = request.get_json()
        print(f"Received event: {event['event']}")
    
        return 'OK', 200

    En İyi Uygulamalar

    Hızlı yanıt verin

    5 saniye içinde 2xx yanıtı döndürün. İşlemleriniz daha uzun sürerse webhooks'u asenkron olarak işleyin.

    Yinelenenleri yönetin

    Etkinlik kimliğini saklayın ve yinelenenleri kontrol edin. Webhooks nadir durumlarda birden fazla kez teslim edilebilir.

    HTTPS kullanın

    Her zaman HTTPS uç noktaları kullanın. HTTP URL'lerine webhooks teslim etmiyoruz.

    Başarısızlıkları izleyin

    Webhook teslimat başarısızlıkları için izleme ayarlayın. Hata ayıklama için kontrol panelindeki webhook günlüklerini kontrol edin.

    Yeniden Deneme Politikası

    Eğer uç noktanız bir hata dönerse veya yanıt vermezse, otomatik olarak üstel geri çekilme ile teslimatı yeniden deneriz:

    DenemeGecikme
    1. yeniden deneme1 dakika
    2. yeniden deneme5 dakika
    3. yeniden deneme30 dakika
    4. deneme2 saat
    5. deneme (son)24 saat

    Not: 5 başarısız denemeden sonra, webhook başarısız olarak işaretlenir ve denemeyi durdururuz. Başarısızlık hakkında bir e-posta bildirimi alacaksınız.

    Sonraki Adımlar

    Başlamak için hazır mısınız? Daha fazla kaynağı keşfedin: