Key Differences & Migration
The Jumio Platform is a significant evolution from the earlier Netverify (sometimes referred to as v2) versions of Jumio products. Upgrading from Netverify requires your organization to develop and integrate the new APIs and SDKs with your applications. Work with Jumio Support to have your Netverify transaction data migrated to the Jumio Platform. Migrated data will continue to be available through the Netverify Customer Portal and API as well as through the Jumio Portal and the Jumio Platform APIs.
Using the Netverify API to delete transactions will also delete the migrated transactions from the Jumio Platform. Deleted transactions will not be available in the Jumio Portal and cannot be retrieved through the API.
The following information identifies significant differences between Netverify versions and the Jumio Platform, provides links to relevant documentation, and provides mappings between Netverify features and corresponding Jumio Platform features:
- New Enhancements
- Netverify Products to Jumio Workflows Mapping
- Netverify to Jumio Platform Transaction Data Mapping
New Enhancements
Discover the notable enhancements and improvements introduced in the Jumio Platform compared to earlier versions. Below, we’ve highlighted the key updates along with links to detailed documentation for easy reference.
- Jumio API Authentication: Transition from Basic Auth to OAuth2 Tokens
- Initiating a Transaction
- Callbacks
- Retrieval APIs
The Jumio Portal replaces previous Jumio customer portals as the user interface for reviewing transactions, accessing reports, and managing configuration options. See Welcome to the Jumio Portal.
Jumio API Authentication: Transition from Basic Auth to OAuth2 Tokens
Authorization for the Jumio REST APIs has changed. Basic authentication is deprecated. Oauth2 bearer tokens are required to authorize API calls. Checkout
In v2, you can authenticate each API call using basic credentials (token + secret). The Jumio Platform supports OAuth2 bearer tokens for authentication. You can generate a bearer token by calling a dedicated API endpoint.
While the Jumio Platform continues to support basic authentication, you are strongly encouraged to use the more secure bearer tokens. Support for basic authentication will be discontinued at some point in the future.
Netverify API Authentication
All Document Verification API calls are protected using HTTP Basic Authentication. Your Basic Auth credentials are constructed using your API token as the user-id and your API secret as the password. You can view and manage your API token and secret in the Jumio Portal under Settings > API credentials.
Never share your API token, API secret, or Basic Auth credentials with anyone — not even Jumio Support.
The TLS Protocol is required to securely transmit your data, and we strongly recommend using the latest version. For information on cipher suites supported by Jumio during the TLS handshake see supported cipher suites.
Jumio Platform API Authentication
All calls to Jumio REST APIs should be authorized using OAuth2 Bearer Tokens. You obtain the bearer token by calling the Access Token URL (OAuth2) for your region with your API token and secret values, which you can find in the Jumio Portal under:
Settings > Identity Verification > API credentials > OAuth2 Clients
See Authorization
Initiating a Transaction
Jumio Platform transactions are associated with an account ID, which allows multiple transactions to be associated with an end user. A transaction is initated by either creating or updating an account. The set of Jumio services used to process the transaction is controlled by a workflow that is specified as part of the request to create or update the account. Refer the following:
- Integrating Jumio Services for an overview of accounts, credentials, workflows, and transactions on the Jumio Platform.
- Creating or Updating Accounts for information on the relevant APIs for initiating a transaction.
- Services and Workflows Reference for reference information on standard workflows and customization options.
Initiating a Transaction in v2
Jumio's Netverify API allowed new transactions to be instantiated without context. You could create a new transaction for any user at any time with the same API call. The services executed by a given transaction were determined either by the API endpoint itself, or by including/removing certain API body parameters. There was no way to associate multiple transactions with the same user.
How did user attribution work in v2?
By using the "customerId" field, you could associate a given scan to a user. However, Jumio provided no out-of-the-box management infrastructure for your user/customer objects. You had to track and manage your own users indexed by customer ID fields that you could define arbitrarily.
Example: /initiate Request Body
{
"customerInternalReference" : "transaction_1234",
"userReference" : "user_1234",
"successUrl" : "https://www.abc.com/success",
"errorUrl" : "https://www.abc.com/error",
"callbackUrl" : "https://www.abc.com/callback",
"reportingCriteria" : "myReport1234",
"workflowId" : 200,
"presets" :
[
{
"index" : 1,
"country" : "AUT",
"type" : "PASSPORT"
}
],
"locale" : "en-GB"
}
Response
{
"timestamp": "2018-07-03T08:23:12.494Z",
"transactionReference": "xxxxxxxx-...-xxxxxx",
"redirectUrl": "https://abc.NetVerify.com/..."
}
Example: /performNetVerify Request Body
{
"merchantIdScanReference":"",
"country":"",
"idType":"",
"frontsideImage":"/9j/4AA...AEB//2Q=="
"userConsent": {
"userIp": "226.80.211.232",
"userLocation": {
"country": "USA",
"state": "IL"
},
"consent": {
"obtained": "yes",
"obtainedAt": "2022-07-20T17:20:35.000Z"
}
}
"enabledFields":"idNumber,idFirstName,...",
"merchantReportingCriteria":"",
"customerId":"",
"firstName":"firstName",
"lastName":"lastName",
"expiry":"2015-01-01",
"number":"123456789",
"dob":"1970-01-01",
"personalNumber":"123",
"callbackGranularity":"onAllSteps",
"mrzCheck":true,
"frontsideImageMimeType":"image/jpeg",
"callbackUrl":"https://….",
[...]
}
Response
{
"timestamp": "2017-08-16T10:37:44.623Z",
"jumioIdScanReference": "xxxxxxxx-xxxx-..."
}
Initiating a Transaction in the Jumio Platform
The Jumio Platform enhances user-management by introducing new concepts for supporting multiple transactions for a single end userClosed, including accountsClosed, and workflows.
Each of your end users who interacts with Jumio has their own accountClosed. Think of each account as a container for the transactions and documents associated with the user.
Instead of calling an endpoint for a specific service you call an /accounts endpoint. To initiate the first transaction for a new end user you use a POST request to initiate the transaction and create a new account. To initiate a subsequent transaction for the same end user you use a PUT request with the account ID as a path parameter. The Jumio services that will be used for the transaction are determined by the workflow key value that is specified in the request body.
Checkout:
Example /api/v1/accounts Request Body
{
"customerInternalReference":"myOrganization",
"workflowDefinition":{
"key": 10015
}
}
The response provides all of the information required to acquire the end user's credentials and finalize the transaction.
Example Response
{
"timestamp": "2022-11-28T23:45:02.536Z",
"account": {
"id": "572ac7b5-9f83-409d-ba8e-f0014e411c7e"
},
"web": {
"href": "https://greenunion.web.amer-1.jumio.ai/web/v4/app?authorizationToken=eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ&locale=en-US"
},
"sdk": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ"
},
"workflowExecution": {
"id": "41f71912-1c6b-4e2f-b340-d6dc10cd69b8",
"credentials": [
{
"id": "fdb1bc31-99a0-4671-8f2a-2bf7ca2faace",
"category": "ID",
"allowedChannels": [
"WEB",
"API",
"SDK"
],
"api": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ",
"parts": {
"front": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/fdb1bc31-99a0-4671-8f2a-2bf7ca2faace/parts/FRONT",
"back": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/fdb1bc31-99a0-4671-8f2a-2bf7ca2faace/parts/BACK"
},
"workflowExecution": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8"
}
},
{
"id": "e25c0737-5753-4812-ab5c-94813e067ec9",
"category": "FACEMAP",
"allowedChannels": [
"WEB",
"SDK"
]
},
{
"id": "bce8a24b-16ba-46a8-994e-fa76e4c4845b",
"category": "SELFIE",
"allowedChannels": [
"WEB",
"API",
"SDK"
],
"api": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ",
"parts": {
"face": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/bce8a24b-16ba-46a8-994e-fa76e4c4845b/parts/FACE"
},
"workflowExecution": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8"
}
}
]
}
}