Checkify
Documents du développeur

Vérifiez sur votre backend

Une fois l'intégration du navigateur terminée, votre serveur doit vérifier le résultat avec une clé de site API avant d'autoriser l'inscription, le paiement ou toute action protégée.

1. Créer un site Clé API

Dans le tableau de bord de votre entreprise, ouvrez Développeur et créez une clé de site API pour le site que vous intégrez. Stockez-le uniquement dans les variables d'environnement du serveur - ne l'envoyez jamais au navigateur.

2. Lisez la référence de votre formulaire

L'intégration SDK écrit un request_id dans votre champ caché (les intégrations héritées peuvent toujours soumettre le jeton de sondage — les deux fonctionnent).

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

3. Appelez vérifier

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
}

Vous pouvez également envoyer token au lieu de request_id.

FastAPI exemple

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...

Exemple express

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...
});

Traitement de la réponse

ChampSignification
successtrue lorsque la vérification est terminée et que les exigences correspondent
statuscompleted ou pending
approved_claimsRéclamations Checkify approuvées, par ex. human_verified: true
signed_resultCharge utile signée en option pour les pistes d'audit

Rappel de sécurité

Traitez le champ caché comme une référence non fiable, et non comme une preuve. Vérifiez toujours avec la clé API de votre site sur le serveur avant d'accorder l'accès. Utilisez consume: true pour des actions ponctuelles telles que l'inscription ou la réinitialisation du mot de passe.