Aller au contenu principal

Capture de document

Capture de documents d'identité. Le SDK présente un cadre pour aider l'utilisateur à positionner le document ; après le positionnement, l'utilisateur clique sur le bouton pour capturer la photo.

Aucune validation du contenu

Le SDK n'effectue aucune validation sur ce qui est capturé.

Cadres de document disponibles
CadreDescription
DocumentEnums.CPFCapture du CPF
DocumentEnums.CNHCapture du CNH ouvert
DocumentEnums.cnhFrenteCapture du recto du CNH
DocumentEnums.cnhVersoCapture du verso du CNH
DocumentEnums.RGCapture du RG ouvert
DocumentEnums.rgFrenteCapture du recto du RG
DocumentEnums.rgVersoCapture du verso du RG
DocumentEnums.noneCadre rectangulaire générique pour tout autre document
Cadre générique

Si vous devez capturer un document pour lequel il n'existe pas de cadre spécifique (par exemple, RNE), utilisez DocumentEnums.none — un cadre générique rectangulaire pouvant être utilisé pour guider n'importe quelle capture.

Pour la liste complète des types de documents pris en charge, consultez Référence API > Enums.

Démarrer une capture de document
Étape 1 — Implémenter AcessoBioManagerDelegate

AcessoBioManagerDelegate gère les callbacks du cycle de vie du SDK. Implémentez les quatre méthodes obligatoires :

MéthodeQuand elle est appelée
onErrorAcessoBioManager(error)Une erreur s'est produite lors du fonctionnement du SDK
onUserClosedCameraManually()L'utilisateur a fermé manuellement la caméra
onSystemClosedCameraTimeoutSession()La limite de session de 40 secondes a été atteinte
onSystemChangedTypeCameraTimeoutFaceInference()Aucun visage détecté pendant 13 secondes — bascule en capture manuelle
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!

override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}

func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
Méthodes delegate obligatoires

Les quatre méthodes delegate ci-dessus doivent être créées dans votre projet (même sans logique). Sinon, le projet ne compilera pas correctement.

Étape 2 — Implémenter DocumentCameraDelegate et AcessoBioDocumentDelegate

Ces delegates gèrent les callbacks du résultat de capture de document :

MéthodeDescription
onSuccessDocument(result)Capture réussie — retourne DocumentResult avec base64 (aperçu) et encrypted (JWT pour l'API)
onErrorDocument(errorBio)Capture échouée — retourne un ErrorBio avec le code et la description
class ViewController: UIViewController, AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate {

func onSuccessDocument(_ result: DocumentResult!) { }
func onErrorDocument(_ errorBio: ErrorBio!) { }
}
Étape 3 — Appeler prepareDocumentCamera et openDocument

Appelez prepareDocumentCamera en passant la configuration SDK. Lorsque la caméra est prête, onCameraReadyDocument est déclenché avec un AcessoBioCameraOpenerDelegate — ouvrez la caméra avec openDocument() et passez le DocumentEnums souhaité :

  • onCameraReadyDocument(cameraOpener) — la caméra est prête ; appelez openDocument(.CNH, delegate: self).
  • onCameraFailedDocument(message) — la préparation de la caméra a échoué (ErrorPrepare est une extension de ErrorBio).
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareDocumentCamera(self, config: YourUnicoConfigClass())
}

func onCameraReadyDocument(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.openDocument(DocumentEnums.CNH, delegate: self)
}

func onCameraFailedDocument(_ message: ErrorPrepare!) { }

Pour la gestion complète du résultat, consultez Réception du résultat.