iloveQR
    Plannen en prijzenFAQAPI
    iloveQR

    Maak, pas aan en volg QR-codes voor uw bedrijf. Het complete QR-codeplatform met analytics en team samenwerking.

    • QR-typen
    • Dynamische QR
    • Statische QR
    • Analytics
    • Sjablonen
    • Bulk Builder
    • Aangepaste domeinen
    • API
    • Over ons
    • Prijzen
    • Contact
    • FAQ
    • Helpcentrum
    • Privacybeleid
    • Algemene Voorwaarden
    • Cookiesbeleid
    • GDPR
    • Misbruik Rapporteren

    © 2026 iloveQR. Alle rechten voorbehouden.

    API-documentatie
    API Docs
    Aan de Slag
    InleidingSnelle StartAuthenticatie
    Authenticatie
    QR-codes
    Bulkbewerkingen
    Analytics
    Webhooks
    InstellenEvenementenBeveiliging

    Snelle Links

    Krijg API-sleutelStart Gratis Proefperiode
    Webhooks

    Webhooks

    Ontvang real-time meldingen wanneer gebeurtenissen plaatsvinden in uw organisatie. Webhooks stellen u in staat om reactieve integraties te bouwen die onmiddellijk reageren op QR-code scans en andere gebeurtenissen.

    Real-time

    Ontvang onmiddellijk een melding wanneer gebeurtenissen plaatsvinden, geen polling vereist

    Veilig

    HMAC-handtekeningen verifiëren dat webhooks van iloveQR komen

    Betrouwbaar

    Automatische herhalingen met exponentiële terugval voor mislukte leveringen

    Webhooks instellen

    Configureer webhooks via het dashboard of de API om te beginnen met het ontvangen van gebeurtenissen.

    1

    Maak een webhook-eindpunt aan

    Stel een HTTPS-eindpunt op uw server in om webhook-payloads te ontvangen.

    2

    Registreer de webhook

    Voeg uw eindpunt-URL toe en selecteer op welke gebeurtenissen u zich wilt abonneren.

    3

    Verifieer handtekeningen

    Implementeer handtekeningverificatie om ervoor te zorgen dat payloads authentiek zijn.

    Registreer Webhook
    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-gebeurtenissen

    Abonneer u op de gebeurtenissen die u nodig heeft. Elk type gebeurtenis heeft een specifieke payloadstructuur.

    QR-code gebeurtenissen

    qr.createdEr is een nieuwe QR-code aangemaakt
    qr.updatedEen QR-code is bijgewerkt
    qr.deletedEen QR-code is verwijderd
    qr.scannedEen QR-code is gescand
    qr.archivedEen QR-code is gearchiveerd
    qr.restoredEen QR-code is hersteld uit archief

    Abonnementsgebeurtenissen

    subscription.createdEr is een nieuw abonnement aangemaakt
    subscription.updatedEen abonnement is bijgewerkt
    subscription.cancelledEen abonnement is geannuleerd
    subscription.payment_succeededEen betaling was succesvol
    subscription.payment_failedEen betaling is mislukt

    Teamgebeurtenissen

    member.joinedEen lid is toegetreden tot de organisatie
    member.leftEen lid heeft de organisatie verlaten
    member.role_changedDe rol van een lid is gewijzigd

    Webhook Payload

    Alle webhook-payloads volgen een consistente structuur met gebeurtenismetadata en gegevens.

    Voorbeeld: qr.scanned Gebeurtenis
    {
      "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
        }
      }
    }
    Voorbeeld: qr.created Gebeurtenis
    {
      "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 verifiëren

    Verifieer altijd webhook-handtekeningen om ervoor te zorgen dat de payload van iloveQR komt en niet onderweg is gewijzigd.

    Handtekeningheader

    Elke webhook-aanroep bevat een X-Webhook-Signature header met een HMAC-SHA256-handtekening van de aanvraagbody.

    Node.js Verificatie Voorbeeld
    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 Verificatie Voorbeeld
    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

    Beste praktijken

    Reageer snel

    Geef binnen 5 seconden een 2xx-respons terug. Verwerk webhooks asynchroon als uw verwerking langer duurt.

    Omgaan met duplicaten

    Sla de gebeurtenis-ID op en controleer op duplicaten. Webhooks kunnen in zeldzame gevallen meer dan eens worden afgeleverd.

    Gebruik HTTPS

    Gebruik altijd HTTPS-eindpunten. We leveren geen webhooks aan HTTP-URL's.

    Monitor mislukkingen

    Stel monitoring in voor mislukkingen bij de levering van webhooks. Controleer de webhook-logboeken in het dashboard voor debugging.

    Retry-beleid

    Als uw eindpunt een fout retourneert of niet reageert, proberen we automatisch opnieuw te leveren met exponentiële terugval:

    PogingVertraging
    1e herhaling1 minuut
    2e herhaling5 minuten
    3e herhaling30 minuten
    4e herhaling2 uur
    5e herhaling (finale)24 uur

    Opmerking: Na 5 mislukte pogingen wordt de webhook gemarkeerd als mislukt en stoppen we met opnieuw proberen. U ontvangt een e-mailmelding over de mislukking.

    Volgende stappen

    Klaar om aan de slag te gaan? Verken meer bronnen: