iloveQR
    خطط وأسعارأسئلة شائعةAPI
    تسجيل
    iloveQR

    أنشئ وخصص وتتبع رموز QR لعملك. منصة رموز QR الكاملة مع التحليلات والتعاون الجماعي.

    • أنواع QR
    • QR ديناميكي
    • QR ثابت
    • التحليلات
    • القوالب
    • منشئ بالجملة
    • نطاقات مخصصة
    • API
    • معلومات عنا
    • التسعير
    • اتصل
    • الأسئلة الشائعة
    • مركز المساعدة
    • سياسة الخصوصية
    • الشروط والأحكام
    • سياسة الكوكيز
    • GDPR
    • الإبلاغ عن إساءة الاستخدام

    © 2026 iloveQR. جميع الحقوق محفوظة.

    توثيق API
    وثائق API
    البدء
    مقدمةبدء سريعالمصادقة
    المصادقة
    رموز QR
    عمليات جماعية
    التحليلات
    ويب هوكس
    الإعدادالأحداثالأمان

    روابط سريعة

    احصل على مفتاح APIابدأ تجربة مجانية
    ويب هوكس

    ويب هوكس

    استقبل إشعارات في الوقت الحقيقي عند حدوث أحداث في مؤسستك. تتيح لك Webhooks بناء تكاملات تفاعلية تستجيب على الفور لمسح رموز QR وغيرها من الأحداث.

    في الوقت الحقيقي

    احصل على إشعار فور حدوث الأحداث، دون الحاجة إلى الاستطلاع

    آمن

    تتحقق توقيعات HMAC من أن Webhooks تأتي من iloveQR

    موثوق

    إعادة محاولات تلقائية مع تراجع أسي للتسليمات الفاشلة

    إعداد Webhooks

    قم بتكوين Webhooks من خلال لوحة التحكم أو API لبدء تلقي الأحداث.

    1

    إنشاء نقطة نهاية Webhook

    قم بإعداد نقطة نهاية HTTPS على خادمك لاستقبال حمولات Webhook.

    2

    تسجيل Webhook

    أضف عنوان URL لنقطة النهاية الخاصة بك واختر الأحداث التي ترغب في الاشتراك فيها.

    3

    تحقق من التوقيعات

    قم بتنفيذ التحقق من التوقيع لضمان أن الحمولات أصلية.

    تسجيل 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

    اشترك في الأحداث التي تحتاجها. كل نوع من الأحداث له هيكل حمولة محدد.

    أحداث رمز QR

    qr.createdتم إنشاء رمز QR جديد
    qr.updatedتم تحديث رمز QR
    qr.deletedتم حذف رمز QR
    qr.scannedتم مسح رمز QR
    qr.archivedتم أرشفة رمز QR
    qr.restoredتم استعادة رمز QR من الأرشيف

    أحداث الاشتراك

    subscription.createdتم إنشاء اشتراك جديد
    subscription.updatedتم تحديث الاشتراك
    subscription.cancelledتم إلغاء الاشتراك
    subscription.payment_succeededتمت معالجة الدفع بنجاح
    subscription.payment_failedفشل الدفع

    أحداث الفريق

    member.joinedانضم عضو إلى المنظمة
    member.leftغادر عضو المنظمة
    member.role_changedتم تغيير دور عضو

    حمولة Webhook

    تتبع جميع حمولات الويب هيكلًا متسقًا مع بيانات وصف الحدث.

    مثال: حدث qr.scanned
    {
      "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
        }
      }
    }
    مثال: حدث qr.created
    {
      "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

    تحقق دائمًا من توقيعات الويب لضمان أن الحمولة جاءت من iloveQR ولم يتم العبث بها أثناء النقل.

    ترويسة التوقيع

    يتضمن كل طلب Webhook ترويسة X-Webhook-Signature تحتوي على توقيع HMAC-SHA256 لجسم الطلب.

    مثال تحقق Node.js
    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
    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

    أفضل الممارسات

    استجب بسرعة

    أعد 2xx استجابة في غضون 5 ثوانٍ. عالج الويب بشكل غير متزامن إذا استغرق التعامل وقتًا أطول.

    تعامل مع التكرارات

    قم بتخزين معرف الحدث والتحقق من التكرارات. قد يتم تسليم الويب أكثر من مرة في حالات نادرة.

    استخدم HTTPS

    استخدم دائمًا نقاط نهاية HTTPS. لا نقوم بتسليم الويب إلى عناوين URL HTTP.

    راقب الفشل

    قم بإعداد مراقبة لفشل تسليم الويب. تحقق من سجلات الويب في لوحة التحكم للتصحيح.

    سياسة إعادة المحاولة

    إذا أعاد نقطة النهاية خطأ أو لم يستجب، فإننا نعيد التسليم تلقائيًا مع تراجع أسي:

    محاولةتأخير
    إعادة المحاولة الأولى1 دقيقة
    إعادة المحاولة الثانية5 دقائق
    إعادة المحاولة الثالثة30 دقيقة
    إعادة المحاولة الرابعةساعتان
    إعادة المحاولة الخامسة (الأخيرة)24 ساعة

    ملاحظة: بعد 5 محاولات فاشلة، يتم وضع علامة على الويب على أنه فشل ونتوقف عن إعادة المحاولة. ستتلقى إشعارًا عبر البريد الإلكتروني حول الفشل.

    الخطوات التالية

    هل أنت مستعد للبدء؟ استكشف المزيد من الموارد: