Technical items


WebView integration

Parent Page integration (mandatory)

The Netheos Web Page can be displayed using the webviewUrl or url?token=token URL.But as the partner will have to handle some specific javascript event, it is mandatory to implement the following code in the parent page to display the URL :

<iframe id="signbook" scrolling="no" frameBorder="no" width="100%" allow="microphone; camera"></iframe>
<script src="https://integration-api.ekeynox.net/contract/signbook/v3/script/signbook.js"></script>
<script type="text/javascript">
    window.onload = function () {
        var signbook = new NthSignbook({
            iframeSelectorId: 'signbook',
            url: 'https://api.ekeynox.net/contract/signbook/signbook.html',
            options: {
                renderMode: 'pretty'
            },
            token: '20140917_7HJOLUbtlKET2iQwBGtN7QkkzFgg2r'
        });
    }
</script>

👉See the full Netheos Documentation here : https://integration-api.ekeynox.net/docs/integration/latest/fr/integration_signbook_v3/


Javascript Events handling

Identity check events

When identity check is completed (10 min max), an "identity" type event will be sent to the main page.

Example

event = {
   type: "identity",
   state: "WAITING",
   ok: true
}

This event should be handled as in the example below :

Example

window.addEventListener('message', function(evt){
    var msg = JSON.parse(evt.data);
    if (msg && msg.type === 'identity') {
        console.log('message: ',msg);
    }
}, false);

Electronic Signature Event handling

The same way, once an electronic signature is performed, a clientFileEvent will be sent with accepted status.



Webhook type 4

Each time the status of a due diligence changes, a callback 4 is sent.

This callback is composed of expectedDiligences and receivedDiligences, so you can see the progress of the items sent.


KYC Status Pending, no due diligence sent

Body parameter

        "type": "4",
        "status": "Pending",
        "appUserId": "appUserId-1",
        "kycLevel": "High",
        "workflowCode": "Electronic_Sign",
        "expectedDiligences": [
            {
                "type": "Identity",
                "expectedCount": 1,
                "possibleDiligenceSubTypes": [
                    "ID_CARD",
                    "PASSPORT",
                    "RES_CARD"
                ]
            },
            {
                "type": "Complementary",
                "expectedCount": 1,
                "possibleDiligenceSubTypes": [
                    "SCTIN",
                    "DELEGATED_COMPLEMENTARY_DILIGENCE",
                    "ESIGN"
                ]
            }
        ]

PossibleDiligenceSubTypesasexpectedDiligences` depend on the environment parameterization.


KYC Status "Incomplete", the identity document and the selfie have been sent

Body parameter

        "type": "4",
        "status": "Incomplete",
        "appUserId": "appUserId-1",
        "kycLevel": "High",
        "workflowCode": "Electronic_Sign",
        "receivedDiligences": [
            {
                "diligenceType": "ID_CARD",
                "status": "To_Review_Manually",
                "attachments": [
                    {
                        "FileName": "ID_CARD_FRONTSIDE",
                        "AttachmentKey": "d84c3525-d037-4e81-8b95-668c4de2340f"
                    },
                    {
                        "FileName": "ID_CARD_BACKSIDE",
                        "AttachmentKey": "96306caa-cc48-4aa4-8403-6055d92b629f"
                    },
                ]
            },
            {
                "diligenceType": "SELFIE",
                "status": "To_Review_Manually",
                "attachments": [
                    {
                        "FileName": "SELFIE_1",
                        "AttachmentKey": "dc840307-de7d-419b-b05d-222bda4ec0d4"
                    },
                ]
            }
        ],
                "expectedDiligences": [
            {
                "type": "Complementary",
                "expectedCount": 1,
                "possibleDiligenceSubTypes": [
                    "SCTIN",
                    "DELEGATED_COMPLEMENTARY_DILIGENCE",
                    "ESIGN"
                ]
            }
        ]
    },

KYC Status "Complete", all due diligences are validated

When all due diligence has been completed, the KYC status changes to "Completed".

"Payload": {
        "type": "4",
        "status": "Complete",
        "appUserId": "appUserId-1",
        "diligences": [
            {
                "reason": "",
                "diligenceType": "ID_CARD",
                "status": "Validated"
            },
            {
                "reason": null,
                "diligenceType": "SELFIE",
                "status": "Validated"
            },
            {
                "reason": null,
                "diligenceType": "ESIGN",
                "status": "Validated"
            }
        ]
    },




KYC Status "Refused"

❗️

The identity document status and the selfie status are not always the same.

The identity document is checked in several stages:

  • the data on the post kyc/demand and the card are automatically checked. If an error occurs here, the status of the ID document is changed to refused, regardless of the selfie.
  • automatically, checks are carried out on the quality of the document, the legibility of the photo, etc.
  • manually, an operator completes the check.If a refusal occurs during these last two phases, the status of the stagecoach will be identical.

Each time a diligence is refused, a reason is added to the callback.

  "Payload": {
        "type": "4",
        "status": "Incomplete",
        "appUserId": "appUserId-1",
        "kycLevel": "High",
        "workflowCode": "Electronic_Sign",
        "receivedDiligences": [
            {
                "reason": "",
                "diligenceType": "ID_CARD",
                "status": "Refused",
                "attachments": [
                    {
                        "FileName": "ID_CARD_FRONTSIDE",
                        "AttachmentKey": "d84c3525-d037-4e81-8b95-668c4de2340f"
                    },
                    {
                        "FileName": "ID_CARD_BACKSIDE",
                        "AttachmentKey": "96306caa-cc48-4aa4-8403-6055d92b629f"
                    },
                ]
            },
            {
                "diligenceType": "SELFIE",
                "status": "Validated",
                "attachments": [
                    {
                        "FileName": "SELFIE_1",
                        "AttachmentKey": "dc840307-de7d-419b-b05d-222bda4ec0d4"
                    }
                ]
            }
        ],
      "expectedDiligences": [
            {
                "type": "Identity",
                "expectedCount": 1,
                "possibleDiligenceSubTypes": [
                    "ID_CARD",
                    "PASSPORT",
                    "RES_CARD"
                ]
            },
            {
                "type": "Complementary",
                "expectedCount": 1,
                "possibleDiligenceSubTypes": [
                    "ESIGN"
                ]
            }
        ]
    },

Callback 48 - WebView URL

The 🔗 callback 48 will contain required information to display the KYC Web View URL to the user.

👍
  • The webviewUrl is the concatenation of the url value and token value with the following format: url?token= token
  • The WebViewUrl contained if the callback #35 is deprecated.


FAQ

FAQ1: Is the webview display customisable?

R: Partially:

🔗 https://integration-api.ekeynox.net/docs/integration/latest/integration_signbook_v3/#parametrage-de-lapparence-du-facematch-video


FAQ2: Do I have to send the second and third first names?

R: Yes, separated by spaces.

FAQ3: Are all telephone numbers accepted?

R: Yes, provided that the operator is not blacklisted.


FAQ4: when can I display my customer's iban?

R: The IBAN should only be displayed:

  • as part of the Electronic-sign workflow, the user is validated (userRecordStatus validated).
  • as part of the Identity workflow, the identity check part is validated.

How to test

This annexe describes available mocks on test environment for test and integrate the KYC functionnality.

Each mocked test case is based on the provided email adress for the user :

[email protected]

📘

Alias allows the partner to simulate one or more behaviour. Alias ordering is not relevant. At the minimum, the alias for the live check must be present.

Available mocks

AliasDecription
LC_ACCEPTEDAccepted Live Check
LC_FRAUDRejected Live Check / Reason code "Fraud Suspicion"
LC_EXPIREDRejected Live Check / Reason code "Other reason"
LC_DOC_EXPIREDRejected Live Check / Reason Code : "Expired Document"
LC_DOC_QUALITYRejected Live Check / Reason Code : "Document Quality is insufficient"
LC_BIO_QUALITYRejected Live Check / Reason Code : "Liveness Quality is insufficient"
LC_DOC_RECEIPTRejected Live Check / Reason Code : "Présence du récépissé seul"
LC_DOC_MISSINGRejected Live Check / Reason Code : "Recto or Verso of id document is missing"
LC_DOC_FRAMEDRejected Live Check / Reason Code : "Truncated Document"
LC_DOC_UNSUPPORTEDRejected Live Check / Reason Code : "Not supported Document"
LC_DOC_UNAUTHORIZEDRejected Live Check / Reason Code : "Document country not supported"
LC_OTHERRejected Live Check / Reason Code : "Other reason"


Did this page help you?