Checkify
مستندات المطور

التحقق على الواجهة الخلفية لديك

بعد اكتمال تضمين المتصفح، يجب على الخادم الخاص بك التحقق من النتيجة باستخدام مفتاح الموقع API قبل السماح بالتسجيل أو الخروج أو أي إجراء محمي.

1. قم بإنشاء موقع API مفتاح

في لوحة معلومات عملك، افتح Developer وقم بإنشاء مفتاح موقع API للموقع الذي تقوم بدمجه. قم بتخزينه في متغيرات بيئة الخادم فقط — لا تقم أبدًا بشحنه إلى المتصفح.

2. اقرأ المرجع من النموذج الخاص بك

يقوم التضمين SDK بكتابة request_id في الحقل المخفي (قد تستمر عمليات التكامل القديمة في إرسال رمز الاستقصاء - كلاهما يعمل).

// Example POST body from your frontend form
{
  "email": "user@example.com",
  "checkify_token": "56a57761-ff5b-42f0-9c97-6c13e223e017"
}

3. اتصل بالتحقق

POST https://checkify.me/v1/qr/results/verify
Authorization: Bearer YOUR_SITE_API_KEY
Content-Type: application/json

{
  "request_id": "56a57761-ff5b-42f0-9c97-6c13e223e017",
  "required_claims": ["human_verified"],
  "consume": true
}

يمكنك أيضًا إرسال token بدلاً من request_id.

FastAPI مثال

from checkify_server import Checkify

checkify = Checkify(api_key=os.environ["CHECKIFY_SITE_API_KEY"])

@app.post("/signup")
async def signup(email: str, checkify_token: str):
    result = checkify.verify_human(request_id=checkify_token)
    if not result.get("success") or not result.get("approved"):
        raise HTTPException(status_code=403, detail="Human verification required")
    # continue signup...

مثال صريح

import { Checkify } from "@checkify/server";

const checkify = new Checkify({ apiKey: process.env.CHECKIFY_SITE_API_KEY });

app.post("/signup", async (req, res) => {
  const result = await checkify.verifyHuman({
    requestId: req.body.checkify_token,
  });

  if (!result.success || !result.approved) {
    return res.status(403).json({ error: "Human verification required" });
  }

  // continue signup...
});

معالجة الاستجابة

الحقلالمعنى
successtrue عند اكتمال التحقق ومطابقة المتطلبات
statuscompleted أو pending
approved_claimsالمطالبات Checkify المعتمدة، على سبيل المثال. human_verified: true
signed_resultالحمولة الموقعة الاختيارية لمسارات التدقيق

تذكير الأمان

تعامل مع الحقل المخفي كمرجع غير موثوق به، وليس كدليل. تحقق دائمًا باستخدام مفتاح موقعك API الموجود على الخادم قبل منح الوصول. استخدم consume: true لإجراءات لمرة واحدة مثل الاشتراك أو إعادة تعيين كلمة المرور.