Skip to content

[ENROLLMENT] No way to send biometrics & documents step by step? #82

@williamT13

Description

@williamT13

In the existing OSIA API, there's no way to send biometrics modality by modality, e.g:

  • send face(s)
  • send FP
  • send Iris
  • send signature
  • send …

Each Update (PartialUpdate) will overwrite the whole biometrics block due to the following constraints:
PartialUpdate (PATCH):

  • In OSIA, all biometrics are stored in a generic array of biometric data sets
        biometricData:
          type: array
          items:
            $ref: '#/components/schemas/BiometricData'
  • PartialUpdate is based on RFC7396 (JSON merge patch) which allows to merge at object level, so no way to update only a part of an array
    https://www.rfc-editor.org/rfc/pdfrfc/rfc7396.txt.pdf
    There are a few things to note about the function. If the patch is anything other than an object, the result will always be to replace the entire target with the entire patch. Also, it is not possible to patch part of a target that is not an object, such as to replace just some of the values in an array.

It means that any change on a part of the biometrics in this array (e.g. update the signature) requires to send ALL biometrics or only this part (e.g. signature) will be kept................

The same for other entities like documents...
Again due to this Array type.
Use Case: An applicant was unable to provide all the necessary documents during enrollment, he will send the missing ones later and they will need to be added to the enrollment before the process can continue.

        biometricData:
          type: array
          items:
            $ref: '#/components/schemas/BiometricData'
        documentData:
          type: array
          items:
            $ref: '#/components/schemas/DocumentData'

I think it is a problem if we consider to send data (biometrics, scanned documents...) step by step.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions