Queris of how to integrate with ABIS

Hi Team, we want to integrate our ABIS system with MOSIP, but there are several problems, we don’t understand.

  1. In the insert interface, does the request parameter version represent the version number of the ABIS service? If not, what does this parameter mean?

  2. Is there an encryption/decryption SDK for the data corresponding to the referenceURL that can be used directly?

  3. What is the effectiveness and life cycle of JWT?

  4. In the request parameters of Identify interface, is the referenceIds set in the gallery the personnel library ID or the personnel ID?

  5. What are the results obtained from Pending Jobs interface? Is it the total number of interfaces being requested? Or is it just the total number of interfaces being requested by some specific interfaces? Or directly query the number in ActiveMQ queues? I mean does it query all the interfaces or query some specific types of interfaces?

  6. Do you have more detailed interface parameter documents and detailed explanation documents for XML parameters (or tags) parsed from referenceURLs?

  7. Is the feature data downloaded from the referenceURL full or incremental?

Welcome @wyf ,

  1. The request version is the version of the schema used in the API. As of now, there is only one. So feel free to use 1.1

  2. Yes there is a mock service that can help you. mosip-mock-services/mock-abis at master · mosip/mosip-mock-services · GitHub. We will try and provide some samples soon.

  3. the life cycle is usually configured by the IAM. In our case most often it’s keycloak.

  4. The reference id is unique per application to MOSIP. So if a user applies for MOSIP id once then he would have one reference id. If he again reaches MOSIP for the update then he has one more reference id.

  5. The pending job is the set of requests picked from the ActiveMQ but still pending response. So if you had 3 requests in the queue and 1 of them is picked from the queue for processing. But for some reason, the ABIS system detected a manual adjudication then inside ABIS this data would be under manual adjudication. In this case, we return the count for the request as 1. In the queue, we will have 2 left out and that need not be counted.

  6. It’s a CBEFF. Will share more information soon.

  7. Its full biometrics.

Adding to @gsasikumar 's inputs,

the sample XSD for our CBEFF XML file is available here: mosip-config/mosip-cbeff.xsd at v1.2.0.1-B1 · mosip/mosip-config · GitHub

A sample CBEFF output is available in our docs: documentation/abis-api.md at 1.2.0 · mosip/documentation · GitHub

@gsasikumar @nayakrounak Thank you for your reply. I have some other questions regarding your answers.

  1. About JWT, is it valid permanently so we only need to apply once when application is started? If not, does it have expiry limit? How do we judge it’s status and when to apply token again?
  2. About Pending Jobs, does it count pending requests of all the interfaces (Insert, Identify, Delete, Ping, Pending Jobs, Reference Count) or only some specific interfaces among them?
  3. When perfom 1:N. do we need to handle multiple modals (such as fingerprint, face, iris, etc.) or only one type of modal is enough?
    Please kindly check and give feedback. :rose:

Hi @wyf ,

  1. The JWT has validity. The validity is defined as per the IAM configuration. You need to request a new authentication token whenever you try to use the data share URL and get the below authentication failure error message.
  "id": null,
  "version": null,
  "responsetime": "2021-02-05T06:29:48.257Z",
  "metadata": null,
  "response": null,
  "errors": [
      "errorCode": "KER-ATH-401",
      "message": "Authentication Failed"

I have added a simple flow chart to understand the scenario:

  1. Currently, in MOSIP we do not use Pending Jobs. But the idea is to get the count of all pending requests for all the interfaces in ABIS.

  2. Multiple modalities or single modalities depends on MOSIP configuration and ABIS.

If the ABIS supports deduplication for a single modality (let’s say fingerprint), then MOSIP should be configured to send only that modality (fingerprint).

If the ABIS supports deduplication for all modalities (finger, iris and face), then MOSIP should be configured to send all the modalities (finger, iris and face).

It is good to have deduplication of multiple modalities to avoid scenarios where there are cases of missing biometrics of a particular modality.

@nayakrounak Thank you for your reply. It does help!

1 Like