link

# Start Capture flow

This topic describes how to use the Start Capture flow (opens new window) service to perform eIDV in a web context. From the end-user’s perspective, this service helps them capture and upload ID images.

This service encapsulates the providers’ Web SDKs. This means you do not have to integrate directly with those SDKs since they are already integrated into this service.

You can use this service with all the providers that run in a web environment (currently Onfido, Electronic IDentification and Signicat Paper).

# Request

When you call this service, you must provide similar request parameters as in the Create process service.

Here is an example of a basic Start Capture flow request using Onfido as provider:

{
    "providers": [
            {
                "provider": "onfido",
                "processType": "documentSelfie"
            }],
    "redirectUrl": "https://my-website.com/"
}

For more code examples and detailed descriptions of the Start Capture flow parameters, see the OpenAPI documentation (opens new window).

# Response

After the end-user has finished capturing and uploading the ID images, they are redirected to the redirectUrl (defined in the request and received in the response). When the redirect happens, this redirectUrl is appended with information about the dossierId, the processId and the process’ status in the one-provider flow (only dossierID is appended in the two-provider flow):

https://myredirecturl.com/?dossierId=c03e66c7-8230-4020-a084-5a34a925d5fe&processId=8a303665-c94a-47c1-be8d-5df65f64a0ad&status=processing

For more response examples, see the OpenAPI documentation for Start capture flow (opens new window).

# Verification

At this point, Assure API requests the provider to start performing the verification. When the verifiation is done, you can use the dossierId and processId in the Get Process service to obtain information about the verification result.

If you sent a notificationUrl in the service request, you will get a callback notification as soon as the verification is done, i.e., the process reached a final status (e.g. accepted, rejected, inconclusive, canceled). That callback will also contain the same dossierId and processId you got in the redirectUrl. For more details about how to use callback notifications, see Callbacks.

# Using the SDKs available in the Capture service

The Capture service embeds the Onfido and Electronic IDentification providers’ JS SDKs. It also includes a Signicat “capture” SDK that is used with the Signicat Paper provider but can also be used with some of the other providers as long as the provider and processType combination allows direct upload of images through the Assure API .

The table below indicates which SDKs are available to be used with each provider and, for each, which is the default value if sdk is not explicitly set in the request body:

Provider Native SDK Capture SDK
Signicat Paper No Yes (default)
Onfido document or documentSelfie Yes Yes (default)
Onfido documentVideo Yes (default) No
Electronic IDentification Yes (default) No

If the capture request contains two providers (see the below section), the default SDK will always be the default of the provider that is not Signicat Paper.

# Using two providers in the Capture flow

You can use the Start Capture flow service with Signicat Paper and any of the other third-party providers.

The most common use cases for this feature is to combine the services of the third-party providers with features available only through the Signicat Paper provider, such as:

  • Checking if the front and back images of a document belong to the same document. For more information, see Match the front and back of a document.
  • Hiding information in the document’s images. For more information, see Redaction.
  • Reading information from a document that is not supported by the third-party provider. To do that you must use the “passport”: “univ” option in the documentCountries field of the Capture configurations to be able to get information from any passport. If the document you want to get information from is not a passport and is not supported by Signicat Paper, please contact support@signicat.com.

# How to use two providers

In the request body, indicate the provider you want to use to perform the identity proofing (e.g. "onfido") and also the "signicatpaper" provider:

{
    "providers": [
        {
            "provider": "onfido"
        },
        {
            "provider": "signicatpaper"
        }
    ],
    "redirectUrl": "https://my-website.com/"
}

You can define any other parameters for each provider, as in any other Create process/Start Capture flow request. In the example above, we use the default values for both.

As usual, redirect the end-user to the URL you get in the response so that they can capture images and perform the verification.

After the end-user has finished the verification, the Assure API creates two processes in the dossier, one for each provider. For that reason, when using two providers, the redirectURL is appended only with dossierId (and no status or processId):

https://myredirecturl.com/?dossierId=c03e66c7-8230-4020-a084-5a34a925d5fe
  • Use the Callbacks feature to get a notification when each of the processes is finished.
  • Get the dossier and see the processes that were created in it.

# Capture configurations (uiProfile)

The configuration options allow you to specify the workflow and the graphical user interface.

The Start Capture flow service may receive a parameter named uiProfile. You must create this uiProfile using the Create capture configuration endpoint. You can later download or update that configuration.

# Capture SDK configurations

To specify the configuration for Capture SDK, you must set the value of the sdk parameter in the "Start Capture flow" request to capture. For more details about each configuration field (description, type, default value and code example), see the OpenAPI documentation for either Create capture configuration or Update capture configuration.

# Translations for Capture SDK

Signicat currently provides translations in the following languages in the Capture SDK: English (en), Danish (da) and Dutch (nl).

However, you can provide your own translations for any given language. You define which languages the end-user can choose between in the languages field and your translations in the translations field.

In this code example, languages is set to English (en), Dutch (nl) and Danish (da) and the translations field provides a translated value of the header title for these three languages (see further down for a full overview of text fields you may translate):

{
    "languages": [
        "en",
        "nl",
        "da"
    ],
    "translations": {
        "en": {
          "mainHeaderGenericTitle": "Identity Verification"
        },
        "nl": {
          "mainHeaderGenericTitle": "Controle identiteit"
        },
        "da": {
          "mainHeaderGenericTitle": "Identitetsverificering"
        }
    }
}

This looks as follows in the English version of the user interface:

click-to-zoom

In the upper right corner, the end-user can choose between the different languages as defined in the languages field.

Capture will only override the values of the translation strings you specify in the configuration, meaning all other strings will remain untouched.

All strings without a translation will default to English.

You can translate the following text fields (click on the arrow to expand):

Main header

mainHeaderGoBackButton=Back
mainHeaderGenericTitle=Identity Verification
passportMainHeaderTitle=Verify Passport
identityCardMainHeaderTitle=Verify Identity Card
driversLicenseMainHeaderTitle=Verify Drivers License

Screen text fields

chooseDocumentType=Choose the document you wish to verify
chooseCountry=Select your nationality below
searchCountries=Search countries
uploadPicture=Upload an image
retakePhoto=Re-take photo
chooseFile=Choose file
reuploadFile=Re-upload file
confirm=Confirm
cancel=Cancel
cancelDialogTitle=Cancel
cancelDialogDescription=Are you sure you want to exit the process?
cancelDialogNoButton=No, I do not want to exit
cancelDialogYesButton=Yes, I want to exit
cancellingDialogTitle=Cancelling
cancellingDialogDescription=We are cancelling your process, you will be redirected back automatically
successDialogTitle=Success
successDialogDescription=Your pictures were successfully uploaded. You will be redirected back automatically
cameraPermissionDenied=We were unable to access your camera
glareWarning=There's too much glare
takePhoto=Take photo
scanningTitle=Scanning
scanningSubtitle=That's great, just stay in that position
selfieTakePhotoHelperTextTop=Position your face within the frame, then take the photo.
confirmPhotoTitle=Is the photo clear?
confirmPhotoSubtitle=Make sure the photo is clear without any glare or blur
confirmPhotoYesButton=Yes, use this one
confirmPhotoNoButton=Retake photo
frontImageTab=Front side
backImageTab=Back side
selfieTab=Selfie
uploadPhotoHelperTextSingular=Upload a photo (jpg or png) of your ID below. Make sure the photo is legible and does not contain any glare.
uploadPhotoHelperTextPlural=Upload photos (jpg or png) of your ID below. Make sure the photos are legible and do not contain any glare.
chooseToTakePhoto=Take photo
chooseToUploadPhoto=Upload photo

confirmPhotoSubtitlehas some optional fields. Using these fields will override 'confirmPhotoSubtitle' in the Capture front/back/selfie screens. The fields are empty by default. The values below are suggested examples:

frontImageConfirmPhotoSubtitle=Make sure the photo is clear without any glare or blur
backImageConfirmPhotoSubtitle=Make sure the photo is clear without any glare or blur
selfieConfirmPhotoSubtitle=After taking this photo, all photos will be sent and checked. It may take up to one minute before you will be redirected to another page.

Mobile handover

mobileHandoverTitle=To verify your identity we need to verify your document
mobileHandoverDescription=Please choose if you want to take pictures with your phone or if you want to provide pictures from this device
mobileHandoverUsePhoneButton=Use phone (recommended)
mobileHandoverUseDesktopButton=Continue on this device
mobileHandoverPopUpTitle=Enter your phone number
mobileHandoverInvalidPhoneNumberError=Invalid phone number
searchPrefix=Search indicatives
mobileHandoverPopUpDescription=We will send you an SMS link. Please open the link on your phone and continue. Do not close this window; the process continues on this device afterwards.
mobileHandoverPopUpButton=Send SMS link
mobileHandoverPopUpWaitingTitle=Link successfully sent to
mobileHandoverPopUpWaitingDescription=Please open the link and take a picture of your identity paper with your phone. <br/><br/> Do not close this window
mobileHandoverPopUpWaitingLoadingText=Waiting for pictures
mobileHandoverPopUpWaitingResendLink=Resend SMS link
mobileHandoverSuccessPageTitleLine1=Identity document checked
mobileHandoverSuccessPageTitleLine2=Continue on the device where you started the process.
mobileHandoverSuccessPageDescription=You can now close this window
mobileHandoverErrorPageTitleLine1=Something went wrong
mobileHandoverErrorPageTitleLine2=There was a problem checking your identity document.
mobileHandoverErrorPageDescription=You can now close this window
customRedactionErrorMobileHandoverPageTitleLine1=Identity verification pending.
customRedactionErrorMobileHandoverPageTitleLine2=Continue on the device where you started the process.
customRedactionErrorMobileHandoverPageDescription=You can now close this window
mobileHandoverChangeToSMS=Get a link via SMS
mobileHandoverChangeToQrCode=Scan QR code
mobileHandoverQrCodeTitle=Scan QR code
mobileHandoverQrCodeDescription=Scan the QR code with your phone. Point your phone's camera at the QR code below. If it doesn't work, download a QR code scanner from Google Play or the App Store.

Native camera in the mobile flow

The useNativeCamera fields are for when Capture uses the native camera app instead of web RTC. They are only displayed on mobile phones. The following fields are default:

useNativeCameraButton=Take photo
frontImage.useNativeCameraText=Click the button below to take a picture of the front side of your identity document
backImage.useNativeCameraText=Click the button below to take a picture of the back side of your identity document
selfie.useNativeCameraText=Click the button below to take a selfie

If you want to be more specific, you can add optional translation strings for each type of document. If you define these instead, they will override the default fields described above. These optional fields are empty by default, and the values below are suggested examples:

passport.frontImage.useNativeCameraText=Click the button below to take a picture of the photo page of your passport
passport.backImage.useNativeCameraText=Click the button below to take a picture of the back of your passport
passport.selfie.useNativeCameraText=Click the button below to take a selfie to compare it with the photo in your passport
identityCard.frontImage.useNativeCameraText=Click the button below to take a picture of the front of your identity card
identityCard.backImage.useNativeCameraText=Click the button below to take a picture of the back of your identity card
identityCard.selfie.useNativeCameraText=Click the button below to take a selfie to compare it with the photo on your identity card
driversLicense.frontImage.useNativeCameraText=Click the button below to take a picture of the front of your driver's licence
driversLicense.backImage.useNativeCameraText=Click the button below to take a picture of the back of your driver's licence
driversLicense.selfie.useNativeCameraText=Click the button below to take a selfie to compare it with the picture on your driver's licence

Verify orientation

verifyingOrientationHintPlural=Are the provided identity papers oriented as shown in the illustrations above?
verifyingOrientationHintSingular=Is the provided identity paper oriented as shown in the illustrations above?
verifyingOrientationYesButtonPlural=Yes, they are correctly oriented
verifyingOrientationYesButtonSingular=Yes, it's correctly oriented
verifyingOrientationNoButtonPlural=No, I need to rotate the images
verifyingOrientationNoButtonSingular=No, I need to rotate the image

Overlay


selfieTakePhotoHelperTextBottom=Keep your face neutral
passportBackOverlayTitle=Back side
passportBackOverlaySubtitle=Back side of the passport
identityCardFrontOverlayTitle=Front side
identityCardFrontOverlaySubtitle=Front side of the identity card
identityCardBackOverlayTitle=Back side
identityCardBackOverlaySubtitle=Back side of the identity card
driversLicenseFrontOverlayTitle=Front side
driversLicenseFrontOverlaySubtitle=Front side of the drivers license
driversLicenseBackOverlayTitle=Back side
driversLicenseBackOverlaySubtitle=Back side of the drivers license

ReadID ready

readIdQrCodePageTitle=Scan QR code
readIdQrCodePageDescription=<ol><li>Download the ReadID Ready App from Google Play or the App Store</li><li>Scan the QR code below using the app.</li></ol>

Error

genericErrorTitle=Something went wrong
genericErrorDescription=Your session has expired.
usedUrlErrorTitle=Expired URL
usedUrlErrorDescription=This URL has already expired. Please use another one.
noArtifactErrorTitle=Something went wrong
noArtifactErrorDescription=This URL is no longer valid.
getArtifactInfoErrorTitle=Something went wrong
getArtifactInfoErrorDescription=We could not process your request.
getTranslationsErrorTitle=Something went wrong
getTranslationsErrorDescription=Error fetching translations.
getDocumentTypesErrorTitle=Something went wrong
getDocumentTypesErrorDescription=Error fetching document types
retryDialogTitle=Something went wrong
retryDialogDescription=Please try again
retryDialogButton=Try again
errorRetriesExceededTitle=Verification Failed
errorRetriesExceededDescription=You have exceeded the number of permitted retries
errorVerificationFailedTitle=Verification Failed
errorVerificationFailedDescription=Something went wrong with the verification process

Onfido fail reason

onfidoFailReasonPopupTitle=The following problem was detected in your process:
onfidoFailReasonField_facedetection=Face detection
onfidoFailReasonMessage_multiplefacesinimage=There are multiple faces in the picture.
onfidoFailReasonMessage_facenotdetectedinimage=No faces were detected in the sent picture.
onfidoFailReasonMessage_fallbackMessage=A problem occurred and the verification could not be done.

Document

passport=Passport
identityCard=Identity Card
driversLicense=Drivers License
residencePermit=Residence Permit
panCard=Pan Card
passportCard=Passport Card
voterId=Voter Id
stateId=State Id
visa=Visa
workPermit=Work Permit
postalIdentityCard=Postal Identity Card
professionalQualificationCard=Professional Qualification Card
asylumRegistrationCard=Asylum Registration Card
nationalHealthInsuranceCard=National Health Insurance Card
socialSecurityCard=Social Security Card
aadharCard=Aadhar Card
unknown=Unknown

Country

countryAFG=Afghanistan
countryALA=Åland Islands
countryALB=Albania
countryDZA=Algeria
countryASM=American Samoa
countryAND=Andorra
countryAGO=Angola
countryAIA=Anguilla
countryATA=Antarctica
countryATG=Antigua and Barbuda
countryARG=Argentina
countryARM=Armenia
countryABW=Aruba
countryAUS=Australia
countryAUT=Austria
countryAZE=Azerbaijan
countryBHS=Bahamas
countryBHR=Bahrain
countryBGD=Bangladesh
countryBRB=Barbados
countryBLR=Belarus
countryBEL=Belgium
countryBLZ=Belize
countryBEN=Benin
countryBMU=Bermuda
countryBTN=Bhutan
countryBOL=Bolivia
countryBES=Bonaire, Sint Eustatius and Saba
countryBIH=Bosnia and Herzegovina
countryBWA=Botswana
countryBVT=Bouvet Island
countryBRA=Brazil
countryIOT=British Indian Ocean Territory
countryBRN=Brunei Darussalam
countryBGR=Bulgaria
countryBFA=Burkina Faso
countryBDI=Burundi
countryCPV=Cabo Verde
countryKHM=Cambodia
countryCMR=Cameroon
countryCAN=Canada
countryCYM=Cayman Islands
countryCAF=Central African Republic
countryTCD=Chad
countryCHL=Chile
countryCHN=China
countryCXR=Christmas Island
countryCCK=Cocos (Keeling) Islands
countryCOL=Colombia
countryCOM=Comoros
countryCOD=Democratic Republic of the Congo
countryCOG=Congo
countryCOK=Cook Islands
countryCRI=Costa Rica
countryHRV=Croatia
countryCUB=Cuba
countryCUW=Curaçao
countryCYP=Cyprus
countryCZE=Czechia
countryCIV=Côte d Ivoire
countryDNK=Denmark
countryDJI=Djibouti
countryDMA=Dominica
countryDOM=Dominican Republic
countryECU=Ecuador
countryEGY=Egypt
countrySLV=El Salvador
countryGNQ=Equatorial Guinea
countryERI=Eritrea
countryEST=Estonia
countrySWZ=Eswatini
countryETH=Ethiopia
countryFLK=Falkland Islands
countryFRO=Faroe Islands
countryFJI=Fiji
countryFIN=Finland
countryFRA=France
countryGUF=French Guiana
countryPYF=French Polynesia
countryATF=French Southern Territories
countryGAB=Gabon
countryGMB=Gambia
countryGEO=Georgia
countryDEU=Germany
countryGHA=Ghana
countryGIB=Gibraltar
countryGRC=Greece
countryGRL=Greenland
countryGRD=Grenada
countryGLP=Guadeloupe
countryGUM=Guam
countryGTM=Guatemala
countryGGY=Guernsey
countryGIN=Guinea
countryGNB=Guinea-Bissau
countryGUY=Guyana
countryHTI=Haiti
countryHMD=Heard Island and McDonald Islands
countryVAT=Holy See
countryHND=Honduras
countryHKG=Hong Kong
countryHUN=Hungary
countryISL=Iceland
countryIND=India
countryIDN=Indonesia
countryIRN=Iran
countryIRQ=Iraq
countryIRL=Ireland
countryIMN=Isle of Man
countryISR=Israel
countryITA=Italy
countryJAM=Jamaica
countryJPN=Japan
countryJEY=Jersey
countryJOR=Jordan
countryKAZ=Kazakhstan
countryKEN=Kenya
countryKIR=Kiribati
countryPRK=Korea
countryKOR=Korea
countryKWT=Kuwait
countryKGZ=Kyrgyzstan
countryLAO=Lao
countryLVA=Latvia
countryLBN=Lebanon
countryLSO=Lesotho
countryLBR=Liberia
countryLBY=Libya
countryLIE=Liechtenstein
countryLTU=Lithuania
countryLUX=Luxembourg
countryMAC=Macao
countryMDG=Madagascar
countryMWI=Malawi
countryMYS=Malaysia
countryMDV=Maldives
countryMLI=Mali
countryMLT=Malta
countryMHL=Marshall Islands
countryMTQ=Martinique
countryMRT=Mauritania
countryMUS=Mauritius
countryMYT=Mayotte
countryMEX=Mexico
countryFSM=Micronesia
countryMDA=Moldova
countryMCO=Monaco
countryMNG=Mongolia
countryMNE=Montenegro
countryMSR=Montserrat
countryMAR=Morocco
countryMOZ=Mozambique
countryMMR=Myanmar
countryNAM=Namibia
countryNRU=Nauru
countryNPL=Nepal
countryNLD=Netherlands
countryNCL=New Caledonia
countryNZL=New Zealand
countryNIC=Nicaragua
countryNER=Niger
countryNGA=Nigeria
countryNIU=Niue
countryNFK=Norfolk Island
countryMNP=Northern Mariana Islands
countryNOR=Norway
countryOMN=Oman
countryPAK=Pakistan
countryPLW=Palau
countryPSE=Palestine
countryPAN=Panama
countryPNG=Papua New Guinea
countryPRY=Paraguay
countryPER=Peru
countryPHL=Philippines
countryPCN=Pitcairn
countryPOL=Poland
countryPRT=Portugal
countryPRI=Puerto Rico
countryQAT=Qatar
countryMKD=Republic of North Macedonia
countryROU=Romania
countryRUS=Russian Federation
countryRWA=Rwanda
countryREU=Réunion
countryBLM=Saint Barthélemy
countrySHN=Saint Helena, Ascension and Tristan da Cunha
countryKNA=Saint Kitts and Nevis
countryLCA=Saint Lucia
countryMAF=Saint Martin
countrySPM=Saint Pierre and Miquelon
countryVCT=Saint Vincent and the Grenadines
countryWSM=Samoa
countrySMR=San Marino
countrySTP=Sao Tome and Principe
countrySAU=Saudi Arabia
countrySEN=Senegal
countrySRB=Serbia
countrySYC=Seychelles
countrySLE=Sierra Leone
countrySGP=Singapore
countrySXM=Sint Maarten
countrySVK=Slovakia
countrySVN=Slovenia
countrySLB=Solomon Islands
countrySOM=Somalia
countryZAF=South Africa
countrySGS=South Georgia and the South Sandwich Islands
countrySSD=South Sudan
countryESP=Spain
countryLKA=Sri Lanka
countrySDN=Sudan
countrySUR=Suriname
countrySJM=Svalbard and Jan Mayen
countrySWE=Sweden
countryCHE=Switzerland
countrySYR=Syrian Arab Republic
countryTWN=Taiwan
countryTJK=Tajikistan
countryTZA=Tanzania
countryTHA=Thailand
countryTLS=Timor-Leste
countryTGO=Togo
countryTKL=Tokelau
countryTON=Tonga
countryTTO=Trinidad and Tobago
countryTUN=Tunisia
countryTUR=Turkey
countryTKM=Turkmenistan
countryTCA=Turks and Caicos Islands
countryTUV=Tuvalu
countryUGA=Uganda
countryUKR=Ukraine
countryARE=United Arab Emirates
countryGBR=United Kingdom
countryUMI=United States Minor Outlying Islands
countryUSA=United States of America
countryURY=Uruguay
countryUZB=Uzbekistan
countryVUT=Vanuatu
countryVEN=Venezuela
countryVNM=Viet Nam
countryVGB=Virgin Islands (British)
countryVIR=Virgin Islands (U.S)
countryWLF=Wallis and Futuna
countryESH=Western Sahara
countryYEM=Yemen
countryZMB=Zambia
countryZWE=Zimbabwe
countryUNIV=Other countries

# Onfido SDK configurations

The Capture configuration also includes specific configuration fields when using the Onfido native SDK. These configuration fields allow you to specify the workflow and the graphical user interface. This configuration applies when the sdk field in the "Start Capture flow" request is set to native and provider to onfido.

For more details, see the onfidoConfig element in the OpenAPI documentation for either Create or Update capture configuration.

# Electronic IDentification SDK configurations

The Capture configuration also includes specific configuration fields when using the Electronic IDentification native SDK. Currently you can only set sdkVersion for Electronic IDentification. This configuration applies when the sdk field in the "Start Capture flow" request is set to native and provider to eid.

For more details, see the eidConfig element in the OpenAPI documentation for either Create or Update capture configuration.

Last updated: 9/20/2021, 11:44:04 AM