Vérification de l'âge [Aperçu pour les développeurs]

La fonctionnalité « Vérification de l'âge » répond au double défi que constituent la conformité réglementaire et la protection des mineurs en permettant aux applications de vérifier l'âge d'un utilisateur avec un minimum de complications. Elle pallie les lacunes des contrôles d'âge traditionnels, qui sont souvent faciles à contourner ou nécessitent la numérisation intrusive de documents. Pour ce faire, l'API s'appuie sur les données vérifiées des utilisateurs, conservées en toute sécurité par les opérateurs mobiles et des sources de données tierces fiables, afin de confirmer que l'utilisateur a bien atteint l'âge minimum requis.

Parmi les cas d'utilisation les plus courants dans lesquels la vérification de l'âge peut s'avérer utile, on peut citer :

  • Accès soumis à une restriction d'âge (pour les sites avec vérification allégée ou sans vérification) : La vérification de l'âge permet aux plateformes qui se contentent généralement d'informations d'inscription minimales (comme les réseaux sociaux) d'intégrer un contrôle d'âge sécurisé à leurs procédures d'accès. Cette mesure empêche les mineurs d'accéder à des contenus sensibles ou inappropriés, tout en renforçant la sécurité sur la plateforme.
  • Vérification de l'âge lors des processus d'intégration : Cette fonctionnalité permet aux entreprises de mettre en place une vérification d'âge hautement fiable lors de l'inscription des utilisateurs, conformément aux exigences légales applicables à des services tels que les services bancaires ou les paris, tout en aidant les entreprises à empêcher certains publics d'acheter en ligne des produits soumis à une restriction d'âge.
  • Restrictions de contenu en fonction de l'âge : La vérification de l'âge permet aux entreprises d'adapter et de limiter le type de contenu proposé aux utilisateurs sur leurs applications et leurs plateformes, en fonction de leur âge. Grâce à cette fonctionnalité, il est possible de protéger les utilisateurs vulnérables contre les contenus qui ne leur sont pas adaptés, tout en se conformant à la réglementation en vigueur.
  • Restrictions publicitaires liées à l'âge : Grâce à la vérification de l'âge, les entreprises peuvent mettre en place une publicité numérique précise et conforme à la réglementation en empêchant la diffusion de publicités soumises à une restriction d'âge auprès d'utilisateurs identifiés comme mineurs. Cela garantit le respect de la réglementation et optimise les dépenses publicitaires en ciblant uniquement les audiences légalement autorisées à voir ces publicités.

Conditions préalables

Pour utiliser Identity Insights, vous devez vous assurer que votre Account est correctement configuré. Pour commencer pour plus d'informations :

  • Création de votre Account,
  • Création d'une application Vonage à utiliser avec l'API Identity Insights,
  • Les différents environnements disponibles et comment configurer votre Account pour les utiliser,
  • Et comment utiliser l'interface utilisateur du tableau de bord pour utiliser l'API sans écrire de code.

Ce guide explique comment utiliser le service « Age Verification Insight » par programmation à l'aide de cURL.

L'API Identity Insights est disponible via plusieurs points de terminaison régionaux. Les exemples de ce guide utilisent le point de terminaison de l'UE, mais vous pouvez en trouver la liste complète à l'adresse suivante Détails techniques.

Faire un appel à l'API

L'authentification pour l'API Identity Insights se fait par le biais de JWT, un jeton JSON compact et autonome. Pour générer un JWT, vous pouvez utiliser notre outil générateur en ligneou bien utiliser la fonction CLI Vonage. Vous aurez besoin de votre identifiant d'application et de votre clé privée pour générer le JWT. Une fois que vous avez votre JWT, vous pouvez envoyer une demande à l'API.

Cet exemple illustre une requête cURL visant à obtenir des informations sur la vérification de l'âge afin de vérifier si un abonné associé au numéro de téléphone indiqué a plus de 18 ans ; cela est défini par le age_threshold paramètre, qui peut être défini sur une valeur comprise entre 0 et 120 ans :

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
        }
      }
     }
   }'

Numbers aux États-Unis : given_name et family_name sont nécessaires si le phone_number est enregistré auprès de Zumigo.

L'API comparera ensuite les informations associées à cet utilisateur de téléphone mobile avec celles enregistrées (et vérifiées) dans les fichiers de l'opérateur de cet utilisateur, puis renverra une confirmation de l'âge en fonction du seuil défini, un score global d'identité pour les attributs d'identité fournis, ainsi que des informations sur le contenu et les restrictions de contrôle parental définies, le cas échéant :

{
  "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"
          }
      }
  }
}

Vous verrez les champs suivants dans la fenêtre age_verification objet :

Ici, le status indique l'état des informations renvoyées pour le numéro de téléphone spécifié :

Champ d'application Description
status.code Code indiquant l'état de la demande. Doit être l'un des suivants :

NO_COVERAGE: Le pays ou le réseau mobile n'est pas pris en charge par les fournisseurs disponibles.
INVALID_PURPOSE: L'objectif utilisé n'est pas valide ou autorisé pour cet Insight.
UNAUTHORIZED: La demande n'a pas pu être autorisée pour la combinaison de l'application, du fournisseur et du numéro de téléphone.
INTERNAL_ERROR: Une erreur interne s'est produite lors du traitement de la demande.
SUPPLIER_ERROR: Le fournisseur a renvoyé une erreur lors du traitement de la demande.
NOT_FOUND: Le numéro de téléphone n'a pas pu être trouvé pour ce Numbers.
UNSUPPORTED_NETWORK_TYPE: Le type de réseau n'est pas pris en charge par cet Insight.
INVALID_NUMBER_FORMAT: Le format du numéro de téléphone n'est pas valide pour être attribué par les opérateurs aux utilisateurs.
OK: L'insight a été traité avec succès.
status.message Description plus détaillée de l'état.

Si status.code dans la réponse est OKVous pouvez également voir les champs décrits dans le tableau ci-dessous. Si un champ est marqué comme "Oui" dans la colonne "Obligatoire", il sera toujours renvoyé lorsque le statut est OK. Si un champ est marqué comme "Non", il peut être renvoyé ou non.

Nom Description Obligatoire
is_age_threshold_met Énumération : "TRUE" "FALSE", "DATA_UNAVAILABLE"
Indiquez TRUE lorsque l'âge de l'utilisateur est égal ou supérieur au seuil d'âge (âge >= seuil d'âge), et FALSE sinon (âge < seuil d'âge). Si le fournisseur d'API ne dispose pas d'informations suffisantes pour effectuer la validation, DATA_UNAVAILABLE sera renvoyée.
Oui
is_verified Indiquez "TRUE" si les informations fournies ont été recoupées avec celles figurant sur un document d'identité légalement reconnu comme justificatif d'âge (Remarque), indiquer dans le cas contraire "FALSE". Non
identity_match_score Note globale attribuée aux informations d'identité disponibles chez le fournisseur d'API. Le fournisseur d'API est libre de renvoyer ou non la note de correspondance d'identité.
Min : 0, Max : 100
Non
content_lock Indiquez "TRUE"si l'abonnement associé au numéro de téléphone comporte un quelconque type de restriction d'accès au contenu (par exemple, certains contenus Web bloqués) et "FALSE" sinon. Si le fournisseur d'API ne dispose pas des informations nécessaires pour récupérer le content_lock valeur, DATA_UNAVAILABLE sera renvoyée. Non
parental_control Indiquez "TRUE" si l'abonnement associé au numéro de téléphone dispose d'un contrôle parental, quel qu'il soit, activé et "FALSE" sinon. Si le fournisseur d'API ne dispose pas des informations nécessaires pour récupérer le parental_control valeur, DATA_UNAVAILABLE sera renvoyée. Non

Pour en savoir plus