Checkify
Documentos del desarrollador

Verifique en su backend

Después de que se complete la inserción del navegador, su servidor debe verificar el resultado con una clave API del sitio antes de permitir el registro, el pago o cualquier acción protegida.

1. Cree una clave API de sitio

En el panel de su empresa, abra Desarrollador y cree una clave API de sitio para el sitio que está integrando. Guárdelo únicamente en las variables de entorno del servidor; nunca lo envíe al navegador.

2. Lea la referencia de su formulario

La inserción SDK escribe un request_id en su campo oculto (las integraciones heredadas aún pueden enviar el token de encuesta; ambas funcionan).

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

3. Llame a verificar

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
}

También puede enviar token en lugar de request_id.

FastAPI ejemplo

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

Ejemplo exprés

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

Manejo de respuestas

CampoSignificado
successtrue cuando se completa la verificación y requisitos coincidente
statuscompleted o pending
approved_claimsReclamaciones Checkify aprobadas, p.e. human_verified: true
signed_resultCarga útil firmada opcional para pistas de auditoría

Recordatorio de seguridad

Trate el campo oculto como una referencia no confiable, no como una prueba. Verifique siempre con la clave API de su sitio en el servidor antes de otorgar acceso. Usar consume: true para acciones únicas como registrarse o restablecer contraseña.