26.R6 ajoute un événement de rappel, ATTACHMENT_VALIDATION_RESULT, abonné comme tout autre événement. Il se déclenche une fois par signataire par transaction, une fois que l’étape de téléversement de ce signataire est terminée et que chaque extraction de ses fichiers a atteint un résultat. C’est message FINISHED lorsque l’extraction de chaque fichier est terminée, ou FAILED quand au moins un ne l’est pas ; sessionUser identifie le signataire et packageId la transaction. L’événement annonce que les résultats sont prêts et ne contient aucun détail par fichier — à la réception, lisez le point de terminaison de vérification. Il supprime le besoin de relire le point de terminaison sur un minuteur.
Erreur et référence de statut
ExtractionStatut
Valeur | Signification |
|---|---|
TERMINÉ | L’extraction a été exécutée et a produit des résultats. extractedFields et verificationCheckResults sont remplis |
NOT_PERFORMED | L’extraction n’a pas fonctionné, ou n’a jamais été tentée. Vérifiez le raisonCode pour savoir pourquoi |
ÉCHEC | L’extraction a été tentée et a été erronée |
reasonCode
Valeur | Cause | Que faire |
|---|---|---|
null avec extractionStatus : NOT_PERFORMED | L’extraction n’a jamais été demandée pour ce fichier, a été sautée car le type détecté ne correspondait pas, n’était pas encore terminé, ou ne pouvait pas être soumis ou lu car le service de validation était injoignable. | Parcourez l’arbre de décision ci-dessous. Seule sa dernière branche vaut la peine d’être attendue |
EXTRACTION_NOT_ENABLED | L’exigence demandait l’extraction, mais la fonctionnalité compte Extraction des données jointes était désactivée lors du téléchargement du fichier. Normalement empêchée lors de la création du rôle ; cela peut se produire si la fonctionnalité est désactivée par la suite. Une exigence qui n’a tout simplement pas le mode extractionEnabled produit un code de raison nulle, pas celui-ci | Configuration, pas échec. Confirmez la fonction de compte, puis demandez au signataire de remplacer le fichier |
CLASSIFICATION_UNKNOWN | Le document n’a pas pu être identifié comme un type pris en charge | Le signataire a probablement téléchargé la mauvaise chose, ou un document non supporté. Avis humain |
CLASSIFICATION_UNSUPPORTED_TYPE | Le document a été identifié, mais ce type ne prend pas en charge l’extraction sur le champ | Chaque type de document pris en charge prend en charge l’extraction. Réservé aux types futurs |
CLASSIFICATION_QUALITY_WARNING | Deux causes, différenciées par classificationRésultat.failed. true : le fichier a été rejeté avant classification — illisible, mauvais format, ou hors limites de taille — et classificationRésultat.erreurCode nomme le problème. false : la classification a réussi mais avec confianceNiveau MOYEN ou BAS, et le service de validation a refusé d’extraire ; documentType montre toujours ce qui a été détecté | Demandez au signataire une copie meilleure. Si l’échec est faux et que documentType est le type que vous avez demandé, le signataire a très probablement envoyé le bon document ; une copie plus claire peut permettre de le reconnaître |
EXTRACTION_ERROR | L’extraction a été tentée et a été commise par erreur. Toujours associé à l’extraction État : ÉCHEC | Terminal pour ce fichier ; relire ne le changera pas. Voir ce qui peut et ne peut pas être réessayé ci-dessous |
Résolution d’un null code de raison. Utilisez les champs présents pour exclure les causes terminales avant d’attendre quoi que ce soit. classificationResult.failed Jamais accompagné de code null de raison — une classification échouée rapporte CLASSIFICATION_QUALITY_WARNING toujours — donc l’arbre part d’une classification réussie :
classificationResultestnull— la classification stockée ne pouvait pas être lue, et l’extraction n’a jamais été lancée. Terminal.L’exigence n’avait
extractionEnabled: truepas — l’extraction n’a jamais été demandée. Terminale, et attendue.classificationResult.documentTypen’est pas celuiattachmentTypeque vous avez demandé — le type détecté ne correspondait pas, et l’extraction n’a jamais été soumise. Terminal. (Un type correct détecté àMEDIUMouLOWune confiance n’atteint pas cet arbre : il rapporteCLASSIFICATION_QUALITY_WARNING.)Sinon, l’extraction a été demandée et aucun résultat n’est encore disponible : il est toujours en cours, il a été refusé à la soumission (par exemple le minimum de 1 024 px pour les six types à haut niveau de détail), ou le service de validation n’a pas pu être atteint. Ces éléments ne sont pas distingués. Relisez ce point de terminaison à intervalles réguliers avec un backoff, et après un temps limité de votre choix, considérez le résultat d’extraction comme indisponible pour ce fichier.
Ce qui peut ou ne peut pas être réessayé. OneSpan Sign exécute la classification et l’extraction une fois par fichier, au téléchargement, et ne les réessaie ni ne révèle de moyen de les redéclencher. Relire ce point de terminaison ne détecte qu’une extraction encore en cours — branche 4 ci-dessus. EXTRACTION_ERROR , et a classificationResult.errorCode de upstream_service_error, sont des résultats stockés pour ce fichier et ne changeront pas lors d’une relecture ; la seule récupération est que le signataire remplace le fichier, qui relance la validation depuis le début. Si l’un ou l’autre réapparaît sur de nombreux fichiers, le service de validation est dégradé — contactez le support OneSpan.
Distinguer la configuration de la défaillance.EXTRACTION_NOT_ENABLED Cela signifie que la fonctionnalité n’a pas été activée — rien n’a mal tourné. Tous les autres codes de raison décrivent quelque chose qui est arrivé au document.
Des limites que vous pouvez vérifier avant de les télécharger
Les limites ci-dessous appartiennent au service de validation et sont distinctes des limites d’envoi des pièces jointes propres à OneSpan Sign (environ 16 Mo, et les types de fichiers autorisés sur le compte). Dépasser les limites de téléchargement rejette le téléchargement. Dépasser les limites ci-dessous ne le rejette pas — le téléchargement réussit et la classification échoue avec le code d’erreur affiché. Les vérifier sur le client évite complètement ces erreurs.
Limite | Valeur | Code d’erreur si dépassé |
|---|---|---|
Formats acceptés | PDF (application/pdf), Word (application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document), JPEG, PNG, TIFF, BMP, GIF. Le type est déterminé à partir du contenu et du nom du fichier, et non d’un type MIME déclaré | unsupported_content_type |
Taille minimale de fichier | 1 024 octets | file_too_small |
Taille maximale de fichier | 10 485 760 octets (10 MiB) — inférieur à la limite de 16 Mo en téléversement | file_too_large |
Dimensions minimales de l’image | 200 × 200 px, pour un téléchargement d’image et pour chacune des deux premières pages d’un fichier PDF ou Word | image_resolution_too_low |
Dimensions maximales de l’image | Aucun. Les images dépassant 1 568 px sur le côté le plus long sont réduites à l’échelle | — |
L’extraction applique un minimum plus strict pour six types de documents.T4_SLIP_CA , AUTO_INSURANCE_CERTIFICATE, PROPERTY_INSURANCE, LIFE_INSURANCE_POLICY, VEHICLE_REGISTRATION et EMPLOYMENT_LETTER nécessitent 1 024 × 1 024 px lors de l’exécution de l’extraction. Un fichier entre 200 et 1 024 px passe la classification, puis l’extraction est refusée avant de commencer et rien n’est enregistré — le fichier rapporte extractionStatus: NOT_PERFORMED avec reasonCode: null. Si l’extraction est active pour l’un de ces types, imposez 1 024 px au client.
Les vérifications restantes — image_too_blurry, image_too_dark, image_low_contrast, image_glare_detected — mesurent les pixels et ne peuvent pas être pré-validés par taille ou type. Le flou et l’obscurité s’appliquent à chaque entrée ; le contraste et l’éblouissement ne s’appliquent qu’aux téléchargements de photos (JPEG, PNG, TIFF, BMP, GIF), jamais aux pages PDF ou Word. Un PDF né numérique sans images les saute complètement. Pour les photos, guidez le signataire vers une capture plate, uniformément éclairée, nette sans reflet du flash.
classificationRésultat.errorCode
Rempli uniquement lorsque classificationResult.failed est true, et seulement avec une des valeurs ci-dessous. Ce sont des clés de traduction, toutes préfixées esl.error.attachment_verification.
Suffixe de clé | Cause |
|---|---|
image_resolution_too_low | En dessous de 200 × 200 px (1 024 px pour les six types à haut niveau de détail à l’extraction) |
image_too_blurry | L’image est floue |
image_low_contrast | L’image présente un contraste insuffisant |
image_glare_detected | L’éblouissement masque le document |
image_too_dark | L’image est sous-exposée |
document_corrupted | Le fichier ne pouvait pas être décodé en image ou document |
file_too_large | Plus de 10 485 760 octets |
file_too_small | Moins de 1 024 octets |
unsupported_content_type | Aucun des formats acceptés listés ci-dessus |
upstream_service_error | Le service de validation a signalé un problème sans correspondance ici — un fichier vide, un nom de fichier ou un type de contenu manquant, ou une image qui n’a pas pu être traitée. Enregistré pour le fichier et inchangé lors d’une relecture — voir Ce qui peut et ne peut pas être réessayé ci-dessus |
Sur la réponse de téléversement. Le client du signataire reçoit immédiatement les mêmes clés, que classificationErrorCode sur chaque fichier de la réponse à l’appel de téléversement ou de remplacement de pièce jointe, afin de pouvoir afficher un message approprié. Cette réponse peut également contenir une clé qui n’apparaît jamais sur classificationResult.errorCode: type_mismatch — le type détecté ne correspond pas au type demandé. Un fichier transporte au maximum une clé à cet endroit ; un problème de qualité prime sur un décalage. Sur le point de terminaison des vérifications, un décalage est exprimé par typeMatch et documentType à la place. La réponse de téléversement porte verificationResultUuidégalement , la même valeur que classificationResult.documentUuid.