Integración de APIFELCABrazilActualizado el 14 de marzo de 2026· 10 min de lecturaAPI en línea

Integración de la API FELCA — Endpoints de Verificación de Edad para Brasil

La API FELCA de FlagCheck ofrece dos endpoints listos para producción para cumplir con la Ley FELCA de Brasil (ECA Digital — Ley 15.211/2025), vigente desde el 17 de marzo de 2026. Verifica si un usuario brasileño tiene 18+ en menos de 2 segundos, con opción de biometría facial para plataformas de alto riesgo.

< 2s response🇧🇷 CPF-native🔒 LGPD-safe FELCA compliant🤳 Face liveness🌐 REST / JSON

Lo que Exige la Ley FELCA (Resumen Rápido)

El ECA Digital exige que cualquier plataforma digital accesible por menores implemente verificación de edad confiable — la autodeclaración está prohibida. Multas de hasta BRL 50 millones. La API FELCA cubre los dos escenarios obligatorios:

  • Plataformas estándar (juegos, streaming, redes sociales): verificación por CPF es suficiente.
  • Plataformas de alto riesgo (apuestas deportivas, contenido adulto, e-commerce de alcohol): CPF + biometría facial es muy recomendado.

Lee nuestras guías completas: Ley FELCA Explicada → Cumplimiento Paso a Paso →

Endpoints de la API

URL Base
https://api.flagcheck.com.br
Autenticación
Envía tu clave de API en el header X-API-Key .
POST/api/felca/age-check

Verificación de mayoría de edad por CPF. Devuelve is_adult, edad y fecha de nacimiento.

Usar para: plataformas estándar (juegos, streaming, redes sociales, e-commerce).

Request body
{
"cpf": "111.222.333-44"
}
POST/api/felca/liveness

Mayoría de edad + biometría facial. Devuelve is_adult + puntuación de coincidencia facial.

Usar para: apuestas deportivas, contenido adulto, delivery de alcohol, fintech.

Request body
{
"cpf": "111.222.333-44",
"selfie": "<base64-encoded-image>"
}

Ejemplos de Código

POSTEndpoint 1 — Verificación de Edad (solo CPF)

cURL
curl -X POST \
https://api.flagcheck.com.br/api/felca/age-check \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cpf": "111.222.333-44"}'
JavaScriptNode.js / server-side only
// Never expose your API key client-side
const res = await fetch(
'https://api.flagcheck.com.br/api/felca/age-check',
{
method: 'POST',
headers: {
'X-API-Key': process.env.FLAGCHECK_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({ cpf: '111.222.333-44' }),
}
)
const { success, data } = await res.json()
if (!success || !data.is_adult) {
return res.status(403).json({ error: 'Access restricted' })
}
Python
import requests
resp = requests.post(
'https://api.flagcheck.com.br/api/felca/age-check',
headers={
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={'cpf': '111.222.333-44'},
)
data = resp.json()
if not data["success"] or not data["data"]["is_adult"]:
raise PermissionError("Access restricted")
# Log for ANPD audit
print(data["meta"]["timestamp"], data["meta"]["request_id"])
PHP
$response = file_get_contents(
'https://api.flagcheck.com.br/api/felca/age-check',
false,
stream_context_create([
'http' => [
'method' => 'POST',
'header' => "X-API-Key: YOUR_API_KEY\r\nContent-Type: application/json\r\n",
'content' => json_encode(['cpf' => '111.222.333-44']),
]
])
);
$data = json_decode($response, true);
if (!$data["success"] || !$data["data"]["is_adult"]) {
http_response_code(403);
die('Access restricted'); // Block the user
}

POSTEndpoint 2 — Liveness (CPF + Selfie)

cURL
curl -X POST \
https://api.flagcheck.com.br/api/felca/liveness \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cpf": "111.222.333-44", "selfie": "<base64>"}'
JavaScript
// Capture selfie via MediaDevices API or liveness SDK
const selfieBase64 = await captureSelfie() // your implementation
const res = await fetch(
'https://api.flagcheck.com.br/api/felca/liveness',
{
method: 'POST',
headers: {
'X-API-Key': process.env.FLAGCHECK_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
cpf: '111.222.333-44',
selfie: selfieBase64,
})
}
)
const { success, data } = await res.json()
if (!success || !data.is_adult || data.face_match < 0.75) {
return { blocked: true }
}

Respuestas de la API

Usuario adulto (is_adult: true)

{
"success": true,
"data": {
"is_adult": true,
"age": 32,
"date_of_birth": "1993-05-14",
"document": { "type": "CPF", "valid": true }
},
"meta": { "request_id": "felca_a1b2c3d4", "timestamp": "2026-03-14T10:22:00Z" }
}

🔴 Usuario menor de edad (is_adult: false)

{
"success": true,
"data": {
"is_adult": false,
// age and date_of_birth omitted (LGPD protection for minors)
"document": { "type": "CPF", "valid": true }
},
"meta": { "request_id": "felca_b2c3d4e5", "timestamp": "2026-03-14T10:23:00Z" }
}

🤳 Respuesta del liveness

{
"success": true,
"data": {
"is_adult": true,
"age": 28,
"date_of_birth": "1998-02-20",
"face_match": 0.94,
"liveness_score": 0.98,
"document": { "type": "CPF", "valid": true }
},
"meta": { "request_id": "felca_c3d4e5f6", "timestamp": "2026-03-14T10:24:00Z" }
}

Registro de Auditoría (Cumplimiento ANPD)

Para auditorías de la ANPD, registra los siguientes campos de la respuesta — nunca almacenes el CPF en bruto:

  • 1Hash SHA-256 del CPF (no el CPF en bruto)
  • 2Resultado is_adult (booleano)
  • 3meta.timestamp (ISO 8601)
  • 4meta.request_id (para resolución de disputas)
  • 5Tu propio user_id o session_id

FELCA Law — in effect March 17, 2026

¿Listo para Integrar?

Obtén tu clave de API y comienza a verificar usuarios brasileños hoy. Cumple con la Ley FELCA, seguro para LGPD, listo para producción.

Preguntas Frecuentes

¿Necesito usar los dos endpoints?
No. Para la mayoría de las plataformas, el endpoint age-check solo es suficiente para cumplir con la Ley FELCA. El endpoint liveness se recomienda para plataformas de alto riesgo (apuestas, contenido adulto) donde necesitas confirmar que el usuario es realmente el titular del CPF.
¿La API almacena los CPFs?
No. FlagCheck procesa cada consulta en tiempo real y la descarta inmediatamente. Para tu registro de auditoría, almacena solo un hash SHA-256 del CPF junto con el resultado is_adult y el timestamp — esto prueba el cumplimiento sin exponer datos personales.
¿En qué formato debo enviar el CPF?
La API acepta CPF formateado (111.222.333-44) y sin formato (11122233344). Solo los dígitos es ligeramente preferible por robustez.
¿Qué debo hacer cuando is_adult: false?
El usuario es menor de 18 años. Tu plataforma debe bloquear el acceso al contenido restringido y mostrar un mensaje apropiado. La API devuelve una respuesta con timestamp para tu registro de auditoría. Los campos age y date_of_birth se omiten en respuestas de menores para proteger datos bajo LGPD.
¿Cómo envío el selfie para el endpoint de liveness?
Captura el selfie en el lado del cliente (móvil o web) y codifícalo en Base64. Envía el string Base64 en el campo "selfie" del cuerpo JSON junto con el CPF. Para apps móviles, usa la cámara del dispositivo; para web, usa la MediaDevices API o un SDK de liveness.
¿Cuál es el SLA / uptime de la API?
La API FlagCheck tiene como objetivo un 99,9% de disponibilidad con tiempos de respuesta por debajo de 2 segundos para el endpoint age-check. Las respuestas de liveness pueden tardar 2–4 segundos según el tamaño de la imagen.

FELCA API Brazil — CPF Age Check + Liveness

POST /api/felca/age-check CPF is_adult Brazil. POST /api/felca/liveness face biometrics Brazil. FELCA age verification API integration. Digital ECA compliance API. Brazil age gate CPF REST API. Lei FELCA API integração. Verificação de idade API CPF Brasil. Integración API FELCA Brasil CPF. is_adult CPF Brazil developer. LGPD compliant age verification API Brazil.