Verify API: Gov-ID Capture & Verification (desktop to mobile)

Overview

This walkthrough demonstrates the ability to trigger our "Desktop to Mobile" flow for end user Government issued ID capture, and then using the results for verification, all through the Verify API.

Step 1 – get access token

https://docs.iddataweb.com/v1.0/reference

notes

  • Use the client ID and client Secret from your verification technique to generate the Authorization: Basic header

Request

HTTP POST
https://api.preprod.iddataweb.com/v1/token?grant_type=client_credentials

Headers:
Authorization: Basic ODE1YTZlN2I4YzdjNGI4ZTpuT29UbFVqNTZmPW1Kd3M=

Response:

{
    "errorCode": "",
    "errorDescription": "",
    "access_token": "TjZK7NSjw24AxGKUhOE9uJDaZT23gKYuUC-9GMTAgLU",
    "expires_in": "600",
    "token_type": "Bearer"
}

Step 2 – call /doccapture/sendlink

https://docs.iddataweb.com/v1.0/reference

Notes

  • Use the “access_token” from the token request for the “Authorization: Beaerer ” header.

Request

HTTP GET
https://api.preprod.iddataweb.com/v1/doccapture/sendlink?dialCode=1&telephone=5714264638

Headers
Authorization: Bearer TjZK7NSjw24AxGKUhOE9uJDaZT23gKYuUC-9GMTAgLU

Response

{
    "responseCode": "200",
    "errorDescription": null,
    "asi": "4e402aba-40ce-47bd-bede-6d0da3b126b1",
    "status": "success"
}

Step 3: get results from /doccapture/results

https://docs.iddataweb.com/v1.0/reference#doccaptureresults

Notes

  • Use the “access_token” from the token request for the “Authorization: Beaerer ” header.
  • Use the ASI from the /doccapture/sendlink response in "asi" querystring parameter of /doccapture/results

📘

Make multiple requests.

Your application will need to make requests against the API every few seconds until the user finishes the capture process on their mobile device. Keep calling the API until you get "status": "success". Most customers do this every 2-5 seconds.

Results while user is still uploading:

{
    "responseCode": null,
    "errorDescription": "Status is not yet complete.",
    "asi": "3cc464f2-3403-4505-be0f-887444504487",
    "status": "pending",
    "urls": {}
}

Results when user finishes gov-ID capture:

{
    "responseCode": 200,
    "errorDescription": "",
    "asi": "3cc464f2-3403-4505-be0f-887444504487",
    "status": "success",
    "urls": {
    "frontImage": "https://link.com/12345",
    "cameraSnapshot": "https://link.com/554433",
    "backImage": "https://link.com/224466"
    }
}

Step 4: Verify Results

https://docs.iddataweb.com/v1.0/reference#slverify

Notes

  • Use the “access_token” from the token request for the “Authorization: Beaerer ” header.
  • Use the ASI from the /doccapture/results response as the input for the /slverify response in the JSON body
  • Include the links from the /doccapture/results response as the input for the /slverify "driversLicenseImages" and "cameraSnapshot" attributes.

Request

HTTP POST
https://api.preprod.iddataweb.com/v1/slverify

Headers
Authorization: Bearer TjZK7NSjw24AxGKUhOE9uJDaZT23gKYuUC-9GMTAgLU

{
   "asi": "3cc464f2-3403-4505-be0f-887444504487",
   "credential": "[email protected]",
   "userAttributes": [
        {
            "attributeType": "DriversLicenseImages",
            "values": {
                "frontImage": "https://link.com/12345",
                "backImage": "https://link.com/224466"
            }
        },
        {
            "attributeType": "CameraSnapshot",
            "values": {
                "cameraSnapshot": "https://link.com/554433"
            }
        }

]
}

Response

{
    "errorCode": "",
    "errorDescription": "",
    "mbun": "",
    "transaction_id": "3cc464f2-3403-4505-be0f-887444504487",
    "userAttributes": [
        {
            "attributeType": "DriversLicenseImages",
            "values": {
                "frontImage": "https://link.com/12345",
                "backImage": "https://link.com/224466"
            }
        },
        {
            "attributeType": "CameraSnapshot",
            "values": {
                "cameraSnapshot": "https://link.com/554433"
            }
        }

],
    "acquiredAttributes": [
        {
            "provider": "AuthenticID",
            "serviceOffering": "AuthenticID CatfishAIR Verification",
            "attributeType": "AuthenticIDDriversLicenseAuthenticationStatus",
            "values": {
                "authenticIDDriversLicenseAuthenticationStatus": "Good ID"
            },
            "dateCreated": "11/06/2018 14:15:51"
        },
        {
            "provider": "IDDataWeb",
            "serviceOffering": "IDDataWeb Risk Score Service",
            "attributeType": "IDWScore",
            "values": {
                "idwScore": "99.99"
            },
            "dateCreated": "11/06/2018 14:16:06"
        }
    ],
    "userAssertionList": [
        {
            "provider": "AuthenticID",
            "serviceOffering": "AuthenticID CatfishAIR Verification",
            "dateAsserted": "11/06/2018 14:15:51",
            "assertions": {
                "test.driversLicenseDOBVerified": "pass",
                "test.driversLicenseFrontColorVerified": "pass",
                "test.driversLicenseNotExpired": "pass",
                "test.selfiePhotoIntegrityVerified": "pass",
                "test.driversLicenseBiometricSpliceCheck": "pass",
                "test.driversLicenseBiographicTamperCheck": "pass",
                "test.selfieNaturalCaptureVerified": "pass",
                "test.selfieColorAnalysisVerified": "pass",
                "test.driversLicenseBackDPIResolutionVerified": "pass",
                "test.selfieCredentialDetectorCheck": "pass",
                "test.driversLicenseVerified": "pass",
                "test.driversLicenseFullNameVerified": "pass",
                "test.driversLicenseLayoutVerified": "pass",
                "test.driversLicenseBlurOrOcclusionCheck": "pass",
                "test.driversLicenseExpiryDateVerified": "pass",
                "test.driversLicenseRearIDRecieved": "pass",
                "test.driversLicenseFacialPhotoUsable": "pass",
                "test.driversLicenseIssueDateVerified": "pass",
                "test.driversLicenseBiographicSpliceCheck": "pass",
                "test.selfieImageRecieved": "pass",
                "test.driversLicenseBiometricTamperCheck": "pass",
                "test.selfieMinimumSizeCheck": "pass",
                "test.driversLicenseTinyOcclusionCheck": "pass",
                "test.idFacialComparisonVerified": "pass",
                "test.driversLicenseDigitalReproductionCheck": "pass",
                "test.driversLicenseFrontScreenPhotoCheck": "pass",
                "test.driversLicenseVisualAuthenticityVerified": "pass",
                "test.driversLicenseFrontDPIResolutionVerified": "pass"
            }
        }
    ]
}