La prévalidation d’un document d’identité vous permet de savoir s’il est valide avant et indépendamment d’une transaction de signature.
La prévalidation d’identité est un processus en deux étapes au cours duquel les données sont extraites du document d’identité, puis comparées aux données attendues de votre côté. Les deux étapes doivent être menées à bien pour obtenir un identifiant de validation d’identité valide (à utiliser dans la transaction).
Un identifiant de validation d’identité garantit que le certificat électronique associé à l’identifiant sera émis avec succès et immédiatement, dans le cadre d’une future transaction de signature ou d’une opération autonome.
Notez que la validation d’identité n’est actuellement disponible que pour le niveau 2 (signature avancée).
Pour utiliser un identifiant de validation d’identité dans une transaction :
- Demandez une prévalidation d’identité.
- Mettez à jour le participant dans la transaction.
1. Demander une prévalidation d’identité
Prérequis
Avant d’envoyer un document d’identité pour prévalidation, vous devez vous assurer qu’il répond aux prérequis suivants :
- Format : le document d’identité doit être fourni sous forme d’image (JPEG ou PNG) ou de fichier PDF. Notez que seules les importations en couleur sont acceptées pour la délivrance du certificat (pas de scans en noir et blanc).
- Les passeports doivent être téléchargés sous forme d’un seul fichier dans votre demande. Vous devez uniquement fournir la page contenant la photo.
- Les cartes d’identité peuvent être téléchargées sous forme d’un seul fichier (recto et verso dans le même fichier) ou de deux fichiers distincts (recto dans un fichier et verso dans un autre fichier).
- Taille : le fichier ne doit pas dépasser 4 Mo (4 Mo max. par face si vous importez 2 fichiers séparés), comme expliqué dans les exemples suivants :
- 4 Mo pour un passeport (1 face -> 1 fichier),
- 4 Mo pour un PDF de 2 pages (2 faces dans le même fichier),
- 4 Mo pour chaque fichier (1 face par fichier).
Pour obtenir la liste complète des documents d’identité acceptés, consultez la Liste des documents d’identité acceptés pour la délivrance de certificats LCP.
Une fois que vous vous êtes assuré que le document d’identité est conforme aux prérequis, vous devez l’envoyer à Universign en utilisant un type de requête multipart/form-data. Pour ce faire, envoyez une requête à POST /v1/id-validations et passez les arguments requis, comme indiqué dans l’exemple ci-dessous :
curl
https://api.universign.com/v1/id-validations \
-d document=@test_cin_recto.png \
-d document=@test_cin_verso.png \
-d [email protected] \
-d full_name="John DOE" \
-d birthdate="2000-04-06"
Notez que vous pouvez également passer des arguments optionnels :
expires_after: date après laquelle le document d’identité est autorisé à expirer. Le format attendu est AAAA-MM-JJ.allow_manual_validation: transmettez cette option sur « true » si vous souhaitez que le document d’identité soit prévalidé manuellement en cas d’échec du processus de prévalidation automatique.
Avant de demander une validation manuelle, assurez-vous auprès de nous que cette option est activée sur votre compte.
Si la prévalidation a réussi
Vous recevez une réponse 200 avec un identifiant de prévalidation. Notez que l’identifiant de prévalidation expirera 14 jours après sa délivrance. Notez également qu’une prévalidation réussie peut entraîner un échec de la délivrance du certificat si le document d’identité expire entre la date de prévalidation et la date de délivrance du certificat. Pour éviter cela, vous pouvez exiger qu’un document d’identité soit valide au-delà de la date actuelle à l’aide du paramètre expires_after.
{
"object": "id-validation",
"id": "idval_JxYxqqrdZOrn",
"status": "success",
"verification": {
"successful_checks": [
"color",
"expires_after",
"name",
"age",
"birth_date"
],
"failed_checks": []
}
}
Si la prévalidation échoue en raison d’une détection de fraude
Vous recevez une réponse 200 avec un identifiant de prévalidation ainsi que la raison de l’échec, à savoir une carte d’identité suspectée d’être frauduleuse.
{
"object" : "id-validation",
"id" : "idval_wZnbPe2Yv9a8",
"status" : "fraud_detection_failure",
"verification" : {
"fraud_detected" : true,
"successful_checks" : [ ],
"failed_checks" : [ ]
}
}
Si la prévalidation échoue en raison d’un problème d’extraction
Vous recevez une réponse 200 avec un identifiant de prévalidation ainsi que la première raison de l’échec rencontré pendant le processus d’extraction.
{
"object": "id-validation",
"id": "idval_w9Jb930GbwGP",
"status": "extraction_failure",
"verification": {
"extraction_failure_reason": "inconsistent_data",
"extraction_failure_fields": [
"optical_lines"
],
"successful_checks": [],
"failed_checks": []
}
}
En général, pour éviter les échecs d’extraction, vérifiez que le document téléchargé est conforme à nos prerequis. Les raisons possibles d’échec de l’extraction sont répertoriées dans le tableau ci-dessous :
| Raison | Description | Solution |
|---|---|---|
missing_side |
Un côté du document est manquant. | Assurez-vous de fournir tous les côtés attendus du document d’identité dans votre demande. |
unidentified_side |
Un côté du document n’est pas reconnu par le système. | La qualité du document ou de l’image peut en être la cause. Vous pouvez également vérifier que le document que vous avez fourni est un type de pièce d’identité accepté. |
too_many_sides |
Vous avez envoyé trop de pages dans votre demande. | Assurez-vous de ne télécharger qu’un seul document d’identité par demande. |
incompatible_sides |
Vous avez envoyé un document contenant des faces incompatibles. | Pour être compatibles, les deux faces doivent appartenir au même type de document (carte d’identité française par exemple) et être différentes (recto et verso). |
missing_data |
Un ou plusieurs champs attendus ne peuvent pas être extraits. | La qualité du document ou de l’image peut en être la cause. |
inconsistent_data |
Certaines des données extraites sont incohérentes. Alternativement, le recto et le verso sont incohérents l’un par rapport à l’autre. | La qualité du document ou de l’image peut en être la cause, ou vous avez soumis deux fichiers appartenant à deux documents d’identité différents. Alternativement, le document peut être frauduleux. |
Si la valeur de extraction_failure_reason est inconsistent_data ou missing_data, extraction_failure_fields spécifie les données qui ont entraîné l’échec de la validation de l’ID. Les valeurs possibles sont les suivantes :
optical_lines,family_names,given_names,identity_number,birthdate,birth_place,expiry_date,delivery_date.
Si la prévalidation échoue parce que les données extraites ne correspondent pas aux contraintes que vous avez spécifiées
Vous recevez une réponse 200 avec un identifiant de prévalidation, ainsi qu’une liste détaillée des vérifications de contraintes réussies et échouées. Veuillez vérifier et mettre à jour les données du propriétaire de l’identifiant en conséquence avant de renvoyer le document pour prévalidation.
{
"object": "id-validation",
"id": "idval_D9y9X913vQBA",
"status": "constraints_failure",
"verification": {
"successful_checks": [
"color",
"expires_after",
"age"
],
"failed_checks": [
"name",
"birth_date"
]
}
}
Si la prévalidation automatique échoue et que la validation manuelle est autorisée
Si vous transmettez allow_manual_validation sur true et que la prévalidation automatique échoue, vous obtenez une réponse 200 avec le statut pending_manual_validation.
{
"object": "id-validation",
"id": "idval_D9y9X913vQBC",
"status": "pending_manual_validation"
}
Pour être averti lorsque la validation manuelle est terminée et obtenir le résultat, vous devez vous abonner à l’événement identity-validation.processed.
2.Mettre à jour le participant
Maintenant que vous disposez de l’identifiant de la validation d’identité, envoyez une requête à POST /v1/transactions/{transaction_id}/participants et transmettez l’id de validation d’identité du participant dans l’argument prevalidation_id :
curl
https://api.universign.com/v1/transactions/tx_AWo949MOq0JE/participants \
-d [email protected] \
-d min_signature_level=level2 \
-d prevalidation_id=idval_JxYxqqrdZOrn
