الانتقال إلى الوثائق
SparkGlimDeveloper
مركز التكامل بمساعدة الذكاء الاصطناعي
SparkGlimSparkGlim للمطوّرين
ابحث في جميع الوثائق

جرّب موضوعًا بلغتك أو مسار API دقيقًا.

    مرجع API

    طلب رمز الوصول للتذاكر

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

    POSThttps://api.sparkglim.net/api/white-label/v1/my-tickets/request-otp

    نموذج الوصول

    نموذج الوصول
    توقيع المنظمة HMAC من الخادم
    الصلاحية المطلوبة
    my-tickets:read
    التوفر الموثّق
    منفذ في المصدر

    التوفر موثق من المصدر وليس ضمانًا لتشغيل الإنتاج.

    يبقى التوقيع الخاص في خادمك؛ تستخدم واجهة الإصدار 1 تنسيق توقيع v2 ولا تصبح واجهة إصدار 2.

    الترويسات

    الاسمالنوعالتحقق من المدخلات
    x-white-label-domainمطلوب

    اسم الموقع الموثق الذي يحدد حساب المنظمة المعتمد ويربط الطلب به.

    stringالتحقق: اسم مضيف HTTPS موثّق.
    x-white-label-key-idمطلوب

    المعرّف المستخرج من قيمة المفتاح الخاص الواحدة؛ لا ترسل السر في هذه الترويسة.

    stringالتحقق: المعرّف الداخلي للمفتاح الخاص الصادر.
    x-white-label-signature-versionمطلوب

    يحدد تنسيق التوقيع المرتبط بالنطاق؛ وتبقى مسارات الواجهة في الإصدار 1.

    stringالتحقق: 2.
    x-white-label-timestampمطلوب

    توقيت توقيع الطلب بالمللي ثانية؛ يقارنه الخادم بساعته لرفض الطلبات القديمة.

    stringالتحقق: توقيت بالمللي ثانية من 13 رقمًا؛ ضمن خمس دقائق.
    x-white-label-nonceمطلوب

    قيمة توقيع عشوائية جديدة يسجلها الخادم لمنع إعادة تشغيل الطلب الموقّع.

    stringالتحقق: قيمة جديدة: 16–128 [A-Za-z0-9_-].
    x-white-label-signatureمطلوب

    توقيع HMAC-SHA256 للنطاق ومفتاح عدم التكرار واعتماد الحملة والتوقيت وnonce والطريقة والمسار والاستعلام المرتب وبصمة الجسم الدقيقة.

    stringالتحقق: HMAC-SHA256 بالنظام الست عشري وبأحرف صغيرة.
    x-white-label-campaign-keyاختياري

    مفتاح حملة كامل اختياري يضيّق الطلب الخاص إلى الحملة المصرح بها نفسها.

    stringالتحقق: قيمة keyId:secret كاملة واختيارية ومقيّدة بالنطاق.

    الطلب

    الاسمالنوعالتحقق من المدخلات
    campaignIdمطلوب

    سجل حملة قائم ضمن حساب الطالب وأي نطاق أضيق لمفتاح الحملة.

    stringالتحقق: UUID.
    contactمطلوب

    بريد العميل أو هاتفه للعثور على تذاكر مكتملة ضمن الحملة المصرح بها قبل إرسال رمز الوصول.

    stringالتحقق: 3–254.
    challengeIdاختياري

    معرّف طلب OTP المطابق والمرتبط بالتواصل والموقع والحملة.

    stringالتحقق: UUID.
    codeاختياري

    اعتماد المورد أو رمز التحقق المطلوب للمسار؛ لا تنشر OTP حقيقيًا أو سر تذكرة.

    stringالتحقق: 6 أرقام.
    sessionTokenاختياري

    جلسة عميل موثقة للوصول إلى التذاكر ومرتبطة بالحساب والموقع والحملة.

    stringالتحقق: 40–100.
    ticketCodeاختياري

    اعتماد تذكرة قائم في الحملة المصرح بها للقراءة أو الدخول المصرح.

    stringالتحقق: 6–80.
    pageاختياري

    صفحة النتائج المطلوبة وفق ترقيم المسار الموثق؛ احتفظ ببيانات التقسيم من الخادم.

    integerالتحقق: 0–1000؛ القيمة الافتراضية: 0.

    الطلب

    تصف الأمثلة العقد ولا تُنفذ. استخدم سجلات اختبار مصرحًا بها، ولا تلصق أسرارًا حقيقية في هذه الصفحات.

    POST /api/white-label/v1/my-tickets/request-otp
    http
    POST /api/white-label/v1/my-tickets/request-otp HTTP/1.1
    Host: api.sparkglim.net
    x-white-label-domain: events.example.com
    x-white-label-key-id: <ISSUED_KEY_ID>
    x-white-label-signature-version: 2
    x-white-label-timestamp: <FRESH_MILLISECONDS>
    x-white-label-nonce: <FRESH_SIGNING_NONCE>
    x-white-label-signature: <SERVER_GENERATED_SIGNATURE>
    Content-Type: application/json
    
    {
      "campaignId": "11111111-1111-4111-8111-111111111111",
      "contact": "buyer@example.com"
    }

    الاستجابة

    استجابة النجاح · HTTP 200
    json
    {
      "success": true,
      "data": {
        "deliveryStarted": true,
        "challengeId": "11111111-1111-4111-8111-111111111111",
        "message": "Your sign-in code has been sent."
      },
      "requestId": "wlapi_example"
    }
    استجابة الخطأ · HTTP 400
    json
    {
      "success": false,
      "error": "<ERROR_MESSAGE>",
      "requestId": "wlapi_example"
    }

    تستخدم أخطاء التحقق والصلاحيات والموارد والأعطال حالة HTTP وبنية الخطأ الخاصة بالمعالج.

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

    للمنظمات: 120 طلبًا لكل مفتاح و300 لكل IP في النافذة؛ التزم بـ Retry-After وترويسات X-RateLimit.

    توافق المصدر

    تتطلب العمليات المصرح بها اختبارًا خاصًا بالحساب.

    • server/src/api/router.ts
    • server/src/api/routes/white-label.ts
    • server/src/white-label/auth.ts
    • server/src/white-label/schemas.ts
    • server/src/white-label/organization-service.ts
    • server/src/white-label/service.ts