Checkify
Documenti per sviluppatori

Verifica sul tuo backend

Una volta completato l'incorporamento nel browser, il tuo server deve verificare il risultato con una chiave API del sito prima di consentire la registrazione, il pagamento o qualsiasi azione protetta.

1. Crea una chiave API del sito

Nella dashboard aziendale, apri Sviluppatore e crea una chiave API del sito per il sito che stai integrando. Memorizzalo solo nelle variabili di ambiente del server: non inviarlo mai al browser.

2. Leggi il riferimento dal tuo modulo

L'incorporamento SDK scrive un request_id nel tuo campo nascosto (le integrazioni legacy possono comunque inviare il token del sondaggio: funzionano entrambi).

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

3. Verifica chiamata

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
}

Puoi anche inviare token invece di request_id.

FastAPI esempio

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

Esempio espresso

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

Gestione della risposta

CampoSignificato
successtrue quando la verifica è completata e requisiti Rivendicazioni corrispondenti
statuscompleted o pending
approved_claimsCheckify approvate, ad es. human_verified: true
signed_resultPayload firmato opzionale per audit trail

Promemoria di sicurezza

Tratta il campo nascosto come un riferimento non attendibile, non come una prova. Verifica sempre la chiave API del tuo sito sul server prima di concedere l'accesso. Utilizzo consume: true per azioni una tantum come la registrazione o la reimpostazione della password.