Skip to main content

Integration guide for VideoID

This section provides integration steps for the following two use case scenarios:

Prerequisites

We assume you already have done the initial integration steps with the Assure API, see set up client credentials and access token.

UC 1: Use only Assure API's Capture service to capture and upload the image (web only)

I want to allow an end-user to verify their identity using the Signicat VideoID SDK provider in my website.

I want the required ID images to be captured and uploaded using VideoID's SDK but I don't want to integrate with it.

I also want to be able to retrieve the video of the verification process.

In the end, I want to see all the information regarding the verification process. Afterwards, I want to delete the dossier (including all the end-user information).

This use case only fits web (JS) applications.

In this use case, you integrate only with the Assure API. VideoID's Web (JS) SDK is embedded in the Assure API Start capture flow service.

VideoID with Start capture flow (Use case 1)

The green colour indicates the path you should take for this use case.

This use case path is described in more detail below, using the same step numbers as in the diagram.

Step A: Create dossier

Use the Create dossier endpoint to create a placeholder for all of your end-user's data:

curl -X POST \
<ENVIRONMENT>/assure/dossiers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer eyJh ... QifQ.eyJ ... hIOw' \
-H 'Content-Type: application/json' \

Save the dossierId from the response body to use in the next requests.

Note

Ensure you use one dossier per end-user.

View the dossier contents

After creating a dossier, you can see all of its contents anytime you want to. To do that, use the Get dossier endpoint giving it the dossierId.

Step G: Start capture flow

Use the Start capture flow endpoint to create an identity verification process in a web context. The Capture service helps capturing and uploading ID images from the identity verification process.

Request

To start the flow, send a POST request to https://api.signicat.com/assure/dossiers/{dossierId}/capture

In the Start capture flow request, ensure you:

  • Use the dossierId from the "Create dossier" response.
  • Specify the redirectUrl to redirect the user to the required page after the verification is finished.

Here is an example of a basic request:

curl --location 'https://api.signicat.com/assure/dossiers/<DOSSIER_ID>/capture' \
--header 'Authorization: Bearer eyJh ... QifQ.eyJ ... hIOw' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"providers":
[
{
"provider": "signicatvideoid",
"processType": "substantialFullyAuto"
}
],
"redirectUrl": "<REDIRECT_URL>"
}'

For other optional parameters in this request, see the API Reference > Start capture flow.

Redirect the end-user to the identity verification

In the "Start capture flow" response, you receive a URL, for example:

{
"url": "https://assure-demo.sandbox.signicat.com/capture/#/artifact=4f24sdq2pcs1m5dymx8zfvdft8g1ns3getdx41ar222e3smkoh"
}
  • You must use this URL to redirect the end-user to the identity verification UI (on desktop or mobile), where they can perform their identification.
  • After the end-user has identified themselves, they are redirected to the specified redirectURLyou sent in the request.
  • Then wait for the notification to arrive before you proceed to the Get process step to get the result (see below).
Assure Events

It is recommended to subscribe to Assure Events to be notified when the result is available (either successfully or not). For more information, see Assure Events.

Step F: Get process

Retrieve the result information with the following endpoints, using the dossierId and processId from the previous steps (or from the Assure event notification):

Delete the dossier

After you have finished the end-user verification, it is recommended to delete the dossier. This deletes all the information about this end-user.


See also the General usage recommendations section.

UC 2: Use VideoID's native SDK to capture and upload the images (web or native mobile)

I want to allow the same end-user from the previous use case to verify their identity, but now using the Signicat VideoID SDK.

In the end, I want to receive a final result with the same structure as the one from the test case before (despite having used a different provider).

I also want to see the information about all processes from this end-user.

Tip

This use case seamlessly fits both web (JS) and native mobile (Android/iOS) applications.

VideoID always requires that the ID images are captured and uploaded using its native SDK.

VideoID with native SDK (Use case 2)

The green colour indicates the path you should take for this use case.

This use case path is described in more detail below, using the same step numbers as in the diagram.

Step A: Create dossier

Use the Create dossier endpoint to create a placeholder for all of your end-user's data:

curl -X POST \
<ENVIRONMENT>/assure/dossiers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer eyJh ... QifQ.eyJ ... hIOw' \
-H 'Content-Type: application/json' \

Save the dossierId from the response body to use in the next requests.

Note

Ensure you use one dossier per end-user.

View the dossier contents

After creating a dossier, you can see all of its contents anytime you want to. To do that, use the Get dossier endpoint giving it the dossierId.

Step B: Get document types

When integrating with the VideoID SDK, you must specify the ID of the document that will be used to verify the identity. To get that document ID, you must use the getDocumentTypes endpoint to get the list of documents supported by VideoID in your environment.

Enable more document types

VideoID supports more documents than the ones listed in the getDocumentTypes response, but they must be explicitly enabled. If you need to enable more documents, please create a support ticket in the Signicat Dashboard.

Step C: Create process

Use the Create process endpoint to create an identity verification process inside the dossier.

Ensure you use the dossierId from the "Create dossier" response.

  • Set the provider to signicatvideoid.

Here is an example JSON request body:

{
"provider": "signicatvideoid",
"processType": "high",
}

Save the authorizationToken and the processId from the response to be used in the next step.

Step D1: Launch provider's SDK

Now you must launch the SDK in your app. For more information about how to do this, see the Mobile SDKs section.

Step E: Start verification

VideoID High requires that a manual approval of each verification request is performed using their Registration Authority Application (RA App).

  • Access VideoID's Registration Authority App.
  • Select Start to work.
  • Accept a verification request. Go through the indicated steps and register the verification.
    Register the verification

    It is important to register the verification since it marks the process as accepted. If you reject it, the process status in the next step will be returned as rejected and you will not get a finalResult element in the response body.

Step F: Get process

  • Use the dossierId and processId from the previous steps (or from the Assure event notification, in case you use it).
  • The process status is now accepted and the response body contains data about the process final result (for more details, see Final result status).
  • All information is normalised and the finalResult element contains the same fields of information as the final result of the accepted Onfido requests in the previous use cases.
  • Get dossier: Finally, to check the information about all processes regarding this end-user, call the Get dossier endpoint.
Delete the dossier

After you have finished the end-user verification, it is recommended to delete the dossier. This deletes all the information about this end-user.


See also the General usage recommendations section.