Verificación de edad [Versión preliminar para desarrolladores]

La solución «Verificación de la edad» resuelve el doble reto que plantean el cumplimiento normativo y la protección de los menores, al permitir que las aplicaciones verifiquen la edad de un usuario con las mínimas molestias. Soluciona las deficiencias de los controles de edad tradicionales, que a menudo se eluden con facilidad o requieren un escaneo intrusivo de documentos. La API lo consigue aprovechando los datos verificados de los usuarios que los operadores de telefonía móvil y fuentes de datos de terceros de confianza conservan de forma segura, para confirmar si el usuario supera el umbral de edad requerido.

Entre los casos de uso más habituales en los que la verificación de la edad puede resultar beneficiosa, se encuentran:

  • Acceso restringido por edad (para sitios web con verificación mínima o sin verificación): La verificación de la edad permite a las plataformas que suelen basarse en datos mínimos de registro (por ejemplo, las redes sociales) integrar una comprobación segura de la edad en sus procesos de acceso. Esta medida impide que los menores accedan a contenidos sensibles o inapropiados, al tiempo que mejora la seguridad en la plataforma.
  • Verificación de la edad durante los procesos de incorporación: Esta función permite a las empresas aplicar un sistema de verificación de la edad de alta fiabilidad durante el registro de los usuarios, cumpliendo así con los requisitos legales para servicios como la banca o las apuestas, además de ayudar a las empresas a proteger a determinados colectivos de la compra en línea de productos sujetos a restricciones de edad.
  • Restricciones de contenido en función de la edad: La verificación de la edad permite a las empresas adaptar y restringir el tipo de contenido que se muestra al usuario en sus Applications y plataformas, en función de su edad. Gracias a esta función, es posible proteger a los usuarios vulnerables de contenidos que no sean adecuados para ellos, así como cumplir con la normativa vigente.
  • Restricciones publicitarias basadas en la edad: Mediante el uso de la verificación de edad, las empresas pueden ofrecer publicidad digital precisa y conforme a la normativa, al impedir que se muestren anuncios con restricciones de edad a usuarios identificados como menores. Esto garantiza el cumplimiento de la normativa y optimiza la inversión publicitaria, ya que permite dirigirse únicamente a audiencias que pueden consumir legalmente dichos anuncios.

Requisitos previos

Para utilizar Identity Insights, debe asegurarse de que su Account está configurado correctamente; consulte la sección Primeros pasos para obtener más información:

  • Crear tu Account,
  • Creación de una aplicación de Vonage para su uso con la API Identity Insights,
  • Los distintos entornos disponibles y cómo configurar tu Account para utilizarlos,
  • Y cómo utilizar la interfaz de usuario «Primeros pasos» del panel de control para utilizar la API sin tener que escribir código.

En esta guía se explica cómo utilizar la función «Age Verification Insight» mediante programación con cURL.

La API de Identity Insights está disponible a través de varios puntos de conexión regionales. Los ejemplos de esta guía utilizan el punto de conexión de la UE, pero puedes consultar la lista completa en Detalles técnicos.

Realizar una llamada a la API

La autenticación para la API Identity Insights se realiza mediante JWT, un token JSON compacto y autocontenido. Para generar un JWT, puede utilizar nuestra herramienta generador en línea, o bien utiliza el CLI de Vonage. Necesitará su ID de aplicación y su clave privada para generar el JWT. Una vez que tenga su JWT, puede enviar una solicitud a la API.

Este ejemplo muestra una solicitud cURL para la información de verificación de edad, con el fin de comprobar si un suscriptor asociado al número de teléfono indicado es mayor de 18 años; esto viene definido por el age_threshold parámetro, que se puede ajustar en cualquier valor comprendido entre 0 y 120 años:

curl -X POST https://api-eu.vonage.com/identity-insights/v1/requests  \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "14040000000",
    "purpose": "FraudPreventionAndDetection",
    "insights": {
        "age_verification": {
         	"age_threshold": 18,
          "id_document": "66666666q",
          "name": "Federica Sanchez Arjona",
          "given_name": "Federica",
          "family_name": "Sanchez Arjona",
          "middle_names": "Sanchez",
          "family_name_at_birth": "YYYY",
          "birthdate": "1978-08-22",
          "email": "federicaSanchez.Arjona@example.com",
          "include_content_lock": true,
          "include_parental_control": true
        }
      }
     }
   }'

A continuación, la API comparará la información asociada a ese usuario de teléfono móvil concreto con la que figura en los registros (y ha sido Verifyada) del propio operador de dicho usuario, y devolverá una confirmación de la edad basada en el umbral establecido, una puntuación global de identidad para los atributos de identidad facilitados, así como información sobre el contenido y las restricciones de control parental establecidas, si procede:

{
  "request_id": "f41087de-b9fc-4081-ab85-9d6475a19706",
  "insights": {
      "age_verification": {
          "is_age_threshold_met": "TRUE",
          "is_verified": true,
          "identity_match_score": 90,
          "content_lock": "TRUE",
          "parental_control": "TRUE",
          "status": {
              "code": "OK",
              "message": "Success"
          }
      }
  }
}

Verás los siguientes campos en el age_verification objeto:

Aquí, el status indica el estado de la información devuelta para el número de teléfono especificado:

Campo Descripción
status.code Código que indica el estado de la solicitud. Debe ser uno de los siguientes:

NO_COVERAGE: El país o la red móvil no son compatibles con los proveedores disponibles.
INVALID_PURPOSE: El propósito utilizado no es válido o no está permitido para este Insight.
UNAUTHORIZED: No se ha podido autorizar la solicitud para la combinación de solicitud, proveedor y número de teléfono.
INTERNAL_ERROR: Se ha producido un error interno al procesar la solicitud.
SUPPLIER_ERROR: El proveedor ha devuelto un error al procesar la solicitud.
NOT_FOUND: No se ha podido encontrar el número de teléfono correspondiente a este Insight.
UNSUPPORTED_NETWORK_TYPE: El tipo de red no es compatible con este Insight.
INVALID_NUMBER_FORMAT: El formato de número de teléfono no es válido para que las operadoras lo asignen a los usuarios.
OK: La entrada se ha procesado correctamente.
status.message Descripción más detallada del estado.

Si status.code en la respuesta se indica que OK, también es posible que aparezcan los campos descritos en la tabla siguiente. Si un campo aparece marcado como «Sí» en la columna «Obligatorio», siempre se mostrará cuando el estado sea «OK». Si un campo aparece marcado como «No», puede que se muestre o puede que no.

Nombre Descripción Obligatorio
is_age_threshold_met Enumeración: "TRUE" "FALSE", "DATA_UNAVAILABLE"
Indica TRUE cuando la edad del usuario sea igual o superior al umbral de edad (edad >= umbral de edad), y FALSE si no es así (edad < umbral de edad). Si el proveedor de la API no dispone de información suficiente para llevar a cabo la validación, DATA_UNAVAILABLE será devuelto.
is_verified Indica "TRUE" si la información facilitada se ha cotejado con la que figura en un documento de identificación legalmente válido como documento de verificación de la edad (Nota); en caso contrario, indíquelo "FALSE". No
identity_match_score Puntuación global de la información de identidad disponible en el proveedor de la API. Es opcional que el proveedor de la API devuelva la puntuación de coincidencia de identidad.
Mín.: 0, Max: 100
No
content_lock Indica "TRUE"si la suscripción asociada al número de teléfono tiene algún tipo de restricción de contenido (por ejemplo, cierto contenido web bloqueado) y "FALSE" si no es así. Si el proveedor de la API no dispone de información para recuperar el content_lock valor, DATA_UNAVAILABLE será devuelto. No
parental_control Indica "TRUE" si la suscripción asociada al número de teléfono tiene activado algún tipo de control parental y "FALSE" Si no es así. Si el proveedor de la API no dispone de información para recuperar el parental_control valor, DATA_UNAVAILABLE será devuelto. No

Lecturas complementarias