PingOne Verify Connector
Use the PingOne Verify DaVinci connector to securely verify a user’s identity based on a government-issued document and other user-submitted data, such as a live face capture (selfie).
The user ID information is captured using a unique QR code and sent to the PingOne ID verification service. The PingOne ID verification service interacts with service providers that verify the submitted user ID information. When a user’s ID information is successfully verified, the PingOne ID verification service approves the user authentication and sends the ID verification status to the browser or to the next connector in the flow.
Setup
Resources
For information and setup help, see the following sections of the PingOne Verify and DaVinci documentation:
-
PingOne Verify documentation
-
DaVinci documentation:
Requirements
To use the PingOne Verify connector, you’ll need:
-
A PingOne license with PingOne Verify(Try PingOne for free)
-
A PingOne environment with a configured application
Setting up PingOne
Setting up your PingOne environment
Sign up for PingOne and configure an environment with PingOne Verify. Follow the instructions in Getting started with PingOne.
Getting your environment details
Get your Environment ID and Region before setting up the PingOne Verify connector in DaVinci:
-
In your PingOne environment, go to Settings → Environment Properties.
-
Locate the Environment ID and Region.
-
Copy these values to a secure location.
Getting your application credentials
Get the Client ID and Client secret from the PingOne console before setting up the PingOne Verify connector in DaVinci:
-
In your PingOne environment, go to Applications → Applications. If you haven’t added the application yet, see Adding an application.
-
Locate the appropriate application and then click its entry to open the details panel.
-
On the Profile tab, locate the Client ID and Client secret.
-
Copy these values to a secure location.
Setting up the connector
In DaVinci, go to Connections and add a PingOne Verify connection. For help, see Adding a connector.
Connector settings
Environment ID
The unique identifier for the appropriate PingOne environment. To find the environment ID, see Environment properties.
Client ID
The unique public identifier for the PingOne application. To find the Client ID, see Viewing application details.
Client secret
The cryptographic secret that is known only to the application and the authorization server. To find the client secret, see Viewing a client secret.
Region
The geographic region that hosts your PingOne tenant. To find the region, see Environment properties.
Using the PingOne Verify connector in a flow
You can use the PingOne Verify connector to add user verification based on a government-issued document and live face capture (selfie) and the other PingOne Verify types of verification configurable with a PingOne Verify policy.
The PingOne Verify connector is typically added to an existing flow, such as a registration flow or sign-on flow.
When Debug Mode is selected in the flow settings, logs can include sensitive data. For more information, see Debugging and Analytics. |
In the flow example below, when a user’s ID information is successfully verified, the PingOne ID verification service approves the user authentication and sends the ID verification status to the browser or to the next connector in the flow.
The example flow contains the following nodes:

The Get user details
node lets the user input their information into PingOne using the Create user
node. This information is also used for biographic matching requirements needed in a PingOne Verify transaction.
The Create transaction
node enables the user verification status and creates the PingOne Verify transaction. You can use this node to add biographic fields, such as a user’s first name, last name, and birth date, which are used for biographic matching. If the transaction succeeds, the user sees a unique QR code in the browser.
The Read transaction
and Check status
nodes read the results of the verification transaction, and then check the status of the transaction. The status is evaluated as follows:
-
Fail
: The flow continues toRead government ID
node,Return all collected
node, andRead metadata
node. -
Success
: The flow continues toRead government ID
node,Return all collected
node, andRead metadata
node. -
No match
: The flow shows the QR code again, and the user can try again.
The Read government ID
, Return all collected
, and Read metadata
nodes then read the verified data from the government ID, desired user-submitted data, and metadata related to the verification, which their output can be selectively used in the Display user data
node.
Read metadata
results include biographic matching that was required in the Create transaction
node. The biographic matching results show the comparison between what the end user inputs as their data against the verified data extracted from their government ID, returning a confidence level of high, medium, or low.
The Return all collected data
node captures all user-submitted data, which can be selected based on the desired document types.
Capabilities
Create Transaction
Create verify transaction
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Device OS Type dropDown
-
The OS type of the device to receive SMS messages during verification.
-
Mobile Web (Default)
-
- Verify Policy dropDown
-
Name of the verify policy.
-
Use Verify Policy ID
-
- Verify Policy ID textField
-
ID of the verify policy.
- Notification Phone Number textField
-
The phone number to receive SMS notifications during verification.
- Notification Email Address textField
-
The email address to receive email notifications during verification.
- Verification Phone Number multipleTextFields
-
The phone number(s) to be verified for phone-verification-required policy.
- Verification Email Address multipleTextFields
-
The email address(es) to be verified for email-verification-required policy.
- Reference Image textField
-
Base64 encoded reference image for facial-comparison-only verify policy.
- Biographic Fields selectNameValueListColumn
-
Use this section to add biographic fields
-
Given Name
-
Family Name
-
Name
-
Address
-
Birthdate
-
- Challenge textField
-
Optional challenge. If not provided, a random challenge will be generated.
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
deviceOsType string required
device OS type
-
verifyPolicy string minLength: 0 maxLength: 100
verify policy
-
verifyPolicyId string minLength: 0 maxLength: 100
verify policy ID
-
notifyPhone string
phone number for notification
-
notifyEmail string
email address for notification
-
verifyPhone array uniqueItems: true
phone number(s) for verification
-
verifyEmail array uniqueItems: true
email address(es) for verification
-
referenceImage string
base64 encoded reference image for facial-comparison-only verify policy
-
biographic array
biographic info
-
challenge string minLength: 1 maxLength: 100
-
challenge Id
-
-
output object
-
transaction object
-
id string
-
verifyPolicy object
-
id string
-
-
transactionStatus object
-
status string
-
-
qrUrl string
-
webVerificationUrl string
-
webVerificationCode string
-
createdAt string
-
updatedAt string
-
expiresAt string
-
-
rawResponse object
-
id string
-
verifyPolicy object
-
id string
-
-
transactionStatus object
-
status string
-
-
qrUrl string
-
webVerificationUrl string
-
webVerificationCode string
-
createdAt string
-
updatedAt string
-
expiresAt string
-
-
headers object
-
statusCode integer
-
challenge string
-
Output Example
{ "rawResponse" :
{ "transaction" :
{ "id" : "c8d41d45-7f0b-42b6-88ee-fba3f6e883bf",
"verifyPolicy" :
{ "id" : "a661f3bf-0e7b-45aa-a9db-6fc926ccacd3" },
"transactionStatus" :
{ "status" : "REQUESTED" },
"qrUrl" : "https://api.pingone.com/v1/idValidations/webVerifications/c8d41d45-7f0b-42b6-88ee-fba3f6e883bf/qr",
"webVerificationUrl" : "https://verifycredential.pingone.com/verify-webapp/index.html?txnid=c8d41d45-7f0b-42b6-88ee-fba3f6e883bf&url=https%3A%2F%2Fapi.pingone.com%2Fv1%2FidValidations%2FwebVerifications&code=082754",
"webVerificationCode" : "082754",
"createdAt" : "2021-11-04T17:32:17.195Z",
"updatedAt" : "2021-11-04T17:32:17.195Z",
"expiresAt" : "2021-11-04T18:02:17.195Z" } } }
Read Transaction
Read verify transaction
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
-
Transaction ID
-
-
output object
-
transaction object
-
id string
-
verifyPolicy object
-
id string
-
-
transactionStatus object
-
status string
-
providerMessagesList array
-
-
qrUrl string
-
webVerificationUrl string
-
webVerificationCode string
-
verifiedDocuments string
-
createdAt string
-
updatedAt string
-
expiresAt string
-
-
rawResponse object
-
id string
-
verifyPolicy object
-
id string
-
-
transactionStatus object
-
status string
-
providerMessagesList array
-
-
qrUrl string
-
webVerificationUrl string
-
webVerificationCode string
-
verifiedDocuments string
-
createdAt string
-
updatedAt string
-
expiresAt string
-
-
headers object
-
statusCode integer
-
Output Example
{ "rawResponse" :
{ "transaction" :
{ "id" : "c8d41d45-7f0b-42b6-88ee-fba3f6e883bf",
"verifyPolicy" :
{ "id" : "a661f3bf-0e7b-45aa-a9db-6fc926ccacd3" },
"transactionStatus" :
{ "status" : "REQUESTED" },
"qrUrl" : "https://api.pingone.com/v1/idValidations/webVerifications/c8d41d45-7f0b-42b6-88ee-fba3f6e883bf/qr",
"webVerificationUrl" : "https://verifycredential.pingone.com/verify-webapp/index.html?txnid=c8d41d45-7f0b-42b6-88ee-fba3f6e883bf&url=https%3A%2F%2Fapi.pingone.com%2Fv1%2FidValidations%2FwebVerifications&code=082754",
"webVerificationCode" : "082754",
"createdAt" : "2021-11-04T17:32:17.195Z",
"updatedAt" : "2021-11-04T17:32:17.195Z",
"expiresAt" : "2021-11-04T18:02:17.195Z" } } }
Read User Data
Read verified user data
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
-
Transaction ID
-
-
output object
-
userData object
-
id string
-
transactionStatus object
-
status string
-
-
verifiedUserData object
-
firstName string
-
lastName string
-
middleName string
-
gender string
-
expirationDate string
-
idNumber string
-
addressStreet string
-
addressCity string
-
addressState string
-
addressZip string
-
country string
-
issueDate string
-
weight string
-
height string
-
hairColor string
-
eyeColor string
-
nationality string
-
issuingCountry string
-
personalNumber string
-
birthDate string
-
idType string
-
-
-
rawResponse object
-
id string
-
transactionStatus object
-
status string
-
-
verifiedUserData object
-
firstName string
-
lastName string
-
middleName string
-
gender string
-
expirationDate string
-
idNumber string
-
addressStreet string
-
addressCity string
-
addressState string
-
addressZip string
-
country string
-
issueDate string
-
weight string
-
height string
-
hairColor string
-
eyeColor string
-
nationality string
-
issuingCountry string
-
personalNumber string
-
birthDate string
-
idType string
-
-
-
headers object
-
statusCode integer
-
Read Government ID
Read verified data parsed off the government ID images
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
-
Transaction ID
-
-
output object
-
governmentID object
-
_embedded object
-
verifiedData array
-
-
size number
-
-
rawResponse object
-
_embedded object
-
verifiedData array
-
-
size number
-
-
headers object
-
statusCode integer
-
Read Selfie
Read selfie provided by the user
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
-
Transaction ID
-
-
output object
-
selfie object
-
_embedded object
-
verifiedData array
-
-
size number
-
-
rawResponse object
-
_embedded object
-
verifiedData array
-
-
size number
-
-
headers object
-
statusCode integer
-
Read Metadata
Read metadata related to verification
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
- Metadata Type dropDown
-
Type of the metadata. Select ALL to get all metadata.
-
LIVENESS
-
FACIAL_COMPARISON
-
BIOGRAPHIC_MATCH
-
DOCUMENT_AUTHENTICATION
-
DOCUMENT_MANUAL_AUTHENTICATION
-
VOICE_ENROLLMENT
-
VOICE_VERIFICATION
-
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
Transaction ID
-
metadataType string
-
metadata type
-
-
output object
-
metaData object
-
_embedded object
-
metaData array
-
-
size number
-
-
rawResponse object
-
_embedded object
-
metaData array
-
-
size number
-
-
headers object
-
statusCode integer
-
Read Verify Policy
Read verify policy for verification
Show details
-
Properties
-
Input Schema
-
Output Schema
- Verify Policy dropDown
-
Name of the verify policy.
-
Use Verify Policy ID (Default)
-
- Verify Policy ID textField
-
ID of the verify policy.
-
default object
-
properties object
-
verifyPolicySelect string required minLength: 0 maxLength: 100
verify policy
-
verifyPolicyIdSelect string minLength: 0 maxLength: 100
-
verify policy ID
-
-
output object
-
verifyPolicy object
-
id string
-
environment object
-
id string
-
-
name string
-
description string
-
default boolean
-
governmentId object
-
verify string
-
-
facialComparison object
-
verify string
-
threshold string
-
-
liveness object
-
verify string
-
threshold string
-
-
email object
-
verify string
-
createMfaDevice boolean
-
otp object
-
attempts object
-
count number
-
-
lifeTime object
-
duration number
-
timeUnit object
-
-
deliveries object
-
count number
-
cooldown object
-
duration number
-
timeUnit string
-
-
notification object
-
templateName string
-
variantName string
-
-
-
-
phone object
-
verify string
-
createMfaDevice boolean
-
otp object
-
attempts object
-
count number
-
-
lifeTime object
-
duration number
-
timeUnit object
-
-
deliveries object
-
count number
-
cooldown object
-
duration number
-
timeUnit string
-
-
notification object
-
templateName string
-
variantName string
-
-
-
-
createdAt string
-
updatedAt boolean
-
-
rawResponse object
-
id string
-
environment object
-
id string
-
-
name string
-
description string
-
default boolean
-
governmentId object
-
verify string
-
-
facialComparison object
-
verify string
-
threshold string
-
-
liveness object
-
verify string
-
threshold string
-
-
email object
-
verify string
-
createMfaDevice boolean
-
otp object
-
attempts object
-
count number
-
-
lifeTime object
-
duration number
-
timeUnit object
-
-
deliveries object
-
count number
-
cooldown object
-
duration number
-
timeUnit string
-
-
notification object
-
templateName string
-
variantName string
-
-
-
-
phone object
-
verify string
-
createMfaDevice boolean
-
otp object
-
attempts object
-
count number
-
-
lifeTime object
-
duration number
-
timeUnit object
-
-
deliveries object
-
count number
-
cooldown object
-
duration number
-
timeUnit string
-
-
notification object
-
templateName string
-
variantName string
-
-
-
-
createdAt string
-
updatedAt boolean
-
-
headers object
-
statusCode integer
-
Set Verify Status
Set verify status for user
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Verify Status dropDown
-
Verify status of the user to be set.
-
ENABLED (Default)
-
DISABLED
-
NOT_INITIATED
-
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
verifyStatus string required
-
verify status
-
-
output object
-
verifyStatus object
-
verifyStatus string
-
-
rawResponse object
-
verifyStatus string
-
-
headers object
-
statusCode integer
-
Return All Collected Data
Return all data collected from the user.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
- Document Types dropDownMultiSelect
-
Types of the data collected. The document types accepted are determined by the transaction’s policy requirements.
-
Driver License Front
-
Driver License Back
-
Driver License Code
-
Passport Front
-
Passport Card Front
-
Passport Card Back
-
Selfie
-
Phone
-
Email
-
Voice Sample
-
Voice Input
-
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
Transaction ID
-
documentTypes array uniqueItems: true
-
document types
-
-
output object
-
documents object
-
_embedded object
-
documents array
-
-
size number
-
-
rawResponse object
-
_embedded object
-
documents array
-
-
size number
-
-
headers object
-
statusCode integer
-
Read Collected Data
Return a piece of data collected from the user.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
- Document ID textField
-
ID of the data collected from user.
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
Transaction ID
-
documentId string required minLength: 0 maxLength: 100
-
document ID
-
-
output object
-
document object
-
id string
-
environment object
-
id string
-
-
user object
-
id string
-
-
verifyTransaction object
-
id string
-
-
type string
-
value string
-
status string
-
source object
-
provider string
-
-
-
rawResponse object
-
id string
-
environment object
-
id string
-
-
user object
-
id string
-
-
verifyTransaction object
-
id string
-
-
type string
-
value string
-
status string
-
source object
-
provider string
-
-
-
headers object
-
statusCode integer
-
Submit Collected Data
Submit a piece of data collected from the user during verification.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
- Document Type dropDown
-
Type of the data collected. The document types accepted are determined by the transaction’s policy requirements.
-
Driver License Front (Default)
-
Driver License Back
-
Driver License Code
-
Passport Front
-
Passport Card Front
-
Passport Card Back
-
Selfie
-
Phone
-
Email
-
Voice Sample
-
Voice Input
-
- Voice Sample Index textField
-
voice sample index starting from 1.
- Document Value textField
-
Base64 encoded jpeg or textual data collected from user.
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
Transaction ID
-
documentTypeName string required minLength: 0 maxLength: 255
document type
-
voiceSampleIndex integer
voice sample index starting from 1
-
documentValue string required
-
base64 encoded jpeg or textual document depending on document type
-
-
output object
-
document object
-
id string
-
environment object
-
id string
-
-
user object
-
id string
-
-
verifyTransaction object
-
id string
-
-
type string
-
value string
-
status string
-
source object
-
provider string
-
-
-
rawResponse object
-
id string
-
environment object
-
id string
-
-
user object
-
id string
-
-
verifyTransaction object
-
id string
-
-
type string
-
value string
-
status string
-
source object
-
provider string
-
-
-
headers object
-
statusCode integer
-
Update Collected Data
Update a piece of data collected from the user.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
- Document ID textField
-
ID of the data collected from user.
- Document Type dropDown
-
Type of the data collected. The document types accepted are determined by the transaction’s policy requirements.
-
Driver License Front (Default)
-
Driver License Back
-
Driver License Code
-
Passport Front
-
Passport Card Front
-
Passport Card Back
-
Selfie
-
Phone
-
Email
-
Voice Sample
-
Voice Input
-
- Document Value textField
-
Base64 encoded jpeg or textual data collected from user.
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
Transaction ID
-
documentId string required minLength: 0 maxLength: 100
document ID
-
documentTypeName string required minLength: 0 maxLength: 255
document type
-
documentValue string required
-
base64 encoded jpeg or textual document depending on document type
-
-
output object
-
document object
-
id string
-
environment object
-
id string
-
-
user object
-
id string
-
-
verifyTransaction object
-
id string
-
-
type string
-
value string
-
status string
-
source object
-
provider string
-
-
-
rawResponse object
-
id string
-
environment object
-
id string
-
-
user object
-
id string
-
-
verifyTransaction object
-
id string
-
-
type string
-
value string
-
status string
-
source object
-
provider string
-
-
-
headers object
-
statusCode integer
-
Delete Collected Data
Delete a piece of data collected from the user.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
- Document ID textField
-
ID of the data collected from user.
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
Transaction ID
-
documentId string required minLength: 0 maxLength: 100
-
document ID
-
-
output object
-
rawResponse object
-
headers object
-
statusCode integer
-
Process All Data Collected
Process all data collected from the user during verification.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField
-
ID of the user
- Transaction ID textField
-
ID of the transaction
-
default object
-
properties object
-
userId string required minLength: 0 maxLength: 100
User ID
-
transactionId string required minLength: 0 maxLength: 100
-
Transaction ID
-
-
output object
-
documents object
-
_embedded object
-
documents array
-
-
size number
-
-
rawResponse object
-
_embedded object
-
documents array
-
-
size number
-
-
headers object
-
statusCode integer
-
Create Response for External Client
Create JSON response for an integration with a mobile application.
Show details
-
Properties
-
Input Schema
-
Output Schema
- Web Verification URL textField
-
web verification url
- Challenge textField
-
Required challenge. To be added to the output for polling in subsequent step.
- Is Last Client Step toggleSwitch
-
If isLastClientStep is false, the continueLink will be generated and added to the output, otherwise the link will not be added.
-
default object
-
properties object
-
webVerificationUrl string required
web verification url
-
challengeId string required minLength: 1 maxLength: 100
challenge Id
-
isLastClientStep boolean
-
If isLastClientStep is false, the continueLink will be generated and added to the output, otherwise the link will not be added.
-
-
output object
-
clientState string
-
webVerificationUrl string
-
continueLink string
-
challenge string
-
Troubleshooting
The following resources can help you solve issues with the connector.
Solutions
- The flow fails with no error message
-
Ensure that the application is enabled in PingOne. For more information, see Enabling or disabling an application.
- The flow fails when reading or updating a user
-
Ensure that you are using the PingOne
user ID
attribute, not theusername
attribute.
Resources
- Audit
-
You can use the audit log to identify potential issues. For more information, see Audit.
- Testing capabilities
-
Testing your flows frequently is the key to making them work correctly. For more information, see Getting Started with DaVinci.