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
- 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.
- Input Schema
- default
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
- items
array
- type
object
- properties
-
verifyEmail
array
[.attr-uniqueitems]##[.codeph]``uniqueItems:- true``##
-
email address(es) for verification
- items
array
- type
object
- properties
- referenceImage
string
-
base64 encoded reference image for facial-comparison-only verify policy
- biographic
array
-
biographic info
- items
array
- type
object
- properties
- challenge
string
minLength: 1
maxLength: 100
-
challenge Id
- Output Schema
- output
object
- transaction
object
- properties
object
- id
string
- verifyPolicy
object
- properties
object
-
- id
string
- id
- transactionStatus
object
- properties
object
-
- status
string
- status
- qrUrl
string
- webVerificationUrl
string
- webVerificationCode
string
- createdAt
string
- updatedAt
string
- expiresAt
string
- rawResponse
object
- properties
object
- id
string
- verifyPolicy
object
- properties
object
-
- id
string
- id
- transactionStatus
object
- properties
object
-
- status
string
- status
- qrUrl
string
- webVerificationUrl
string
- webVerificationCode
string
- createdAt
string
- updatedAt
string
- expiresAt
string
- headers
object
- statusCode
integer
- challenge
string
Read Transaction
Read verify transaction
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- transactionId
string
required
minLength: 0
maxLength: 100
-
Transaction ID
- Output Schema
- output
object
- transaction
object
- properties
object
- id
string
- verifyPolicy
object
- properties
object
-
- id
string
- id
- transactionStatus
object
- properties
object
-
- status
string
- providerMessagesList
array
- items
array
- status
- type
object
- properties
- qrUrl
string
- webVerificationUrl
string
- webVerificationCode
string
- verifiedDocuments
string
- createdAt
string
- updatedAt
string
- expiresAt
string
- rawResponse
object
- properties
object
- id
string
- verifyPolicy
object
- properties
object
-
- id
string
- id
- transactionStatus
object
- properties
object
-
- status
string
- providerMessagesList
array
- items
array
- status
- type
object
- properties
- qrUrl
string
- webVerificationUrl
string
- webVerificationCode
string
- verifiedDocuments
string
- createdAt
string
- updatedAt
string
- expiresAt
string
- headers
object
- statusCode
integer
Read User Data
Read verified user data
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- transactionId
string
required
minLength: 0
maxLength: 100
-
Transaction ID
- Output Schema
- output
object
- userData
object
- properties
object
- id
string
- transactionStatus
object
- properties
object
-
- status
string
- status
- verifiedUserData
object
- properties
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
- firstName
- rawResponse
object
- properties
object
- id
string
- transactionStatus
object
- properties
object
-
- status
string
- status
- verifiedUserData
object
- properties
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
- firstName
- headers
object
- statusCode
integer
Read Government ID
Read verified data parsed off the government ID images
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- transactionId
string
required
minLength: 0
maxLength: 100
-
Transaction ID
- Output Schema
- output
object
- governmentID
object
- properties
object
- _embedded
object
- properties
object
-
- verifiedData
array
- items
array
- verifiedData
- type
object
- properties
{"type":"string"}
- size
number
- rawResponse
object
- properties
object
- _embedded
object
- properties
object
-
- verifiedData
array
- items
array
- verifiedData
- type
object
- properties
{"type":"string"}
- size
number
- headers
object
- statusCode
integer
Read Selfie
Read selfie provided by the user
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- transactionId
string
required
minLength: 0
maxLength: 100
-
Transaction ID
- Output Schema
- output
object
- selfie
object
- properties
object
- _embedded
object
- properties
object
-
- verifiedData
array
- items
array
- verifiedData
- type
object
- properties
{"type":"string"}
- size
number
- rawResponse
object
- properties
object
- _embedded
object
- properties
object
-
- verifiedData
array
- items
array
- verifiedData
- type
object
- properties
{"type":"string"}
- size
number
- headers
object
- statusCode
integer
Read Metadata
Read metadata related to verification
Show details
- Properties
- 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
-
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- transactionId
string
required
minLength: 0
maxLength: 100
-
Transaction ID
- metadataType
string
-
metadata type
- Output Schema
- output
object
- metaData
object
- properties
object
- _embedded
object
- properties
object
-
- metaData
array
- items
array
- metaData
- type
object
- properties
{"type":"string"}
- size
number
- rawResponse
object
- properties
object
- _embedded
object
- properties
object
-
- metaData
array
- items
array
- metaData
- type
object
- properties
{"type":"string"}
- size
number
- headers
object
- statusCode
integer
Read Verify Policy
Read verify policy for verification
Show details
- Properties
- Verify Policy
dropDown
-
Name of the verify policy.
-
Use Verify Policy ID (Default)
-
- Verify Policy ID
textField
-
ID of the verify policy.
- Input Schema
- default
object
- verifyPolicySelect
string
required
minLength: 0
maxLength: 100
-
verify policy
- verifyPolicyIdSelect
string
minLength: 0
maxLength: 100
-
verify policy ID
- Output Schema
- output
object
- verifyPolicy
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- name
string
- description
string
- default
boolean
- governmentId
object
- properties
object
-
- verify
string
- verify
- facialComparison
object
- properties
object
-
- verify
string
- threshold
string
- verify
- liveness
object
- properties
object
-
- verify
string
- threshold
string
- verify
- email
object
- properties
object
-
- verify
string
- createMfaDevice
boolean
- otp
object
- properties
object
- verify
- attempts
object
- properties
object
- count
number
- lifeTime
object
- properties
object
- duration
number
- timeUnit
object
- deliveries
object
- properties
object
- count
number
- cooldown
object
- notification
object
- properties
object
- templateName
string
- variantName
string
- phone
object
- properties
object
-
- verify
string
- createMfaDevice
boolean
- otp
object
- properties
object
- verify
- attempts
object
- properties
object
- count
number
- lifeTime
object
- properties
object
- duration
number
- timeUnit
object
- deliveries
object
- properties
object
- count
number
- cooldown
object
- notification
object
- properties
object
- templateName
string
- variantName
string
- createdAt
string
- updatedAt
boolean
- rawResponse
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- name
string
- description
string
- default
boolean
- governmentId
object
- properties
object
-
- verify
string
- verify
- facialComparison
object
- properties
object
-
- verify
string
- threshold
string
- verify
- liveness
object
- properties
object
-
- verify
string
- threshold
string
- verify
- email
object
- properties
object
-
- verify
string
- createMfaDevice
boolean
- otp
object
- properties
object
- verify
- attempts
object
- properties
object
- count
number
- lifeTime
object
- properties
object
- duration
number
- timeUnit
object
- deliveries
object
- properties
object
- count
number
- cooldown
object
- notification
object
- properties
object
- templateName
string
- variantName
string
- phone
object
- properties
object
-
- verify
string
- createMfaDevice
boolean
- otp
object
- properties
object
- verify
- attempts
object
- properties
object
- count
number
- lifeTime
object
- properties
object
- duration
number
- timeUnit
object
- deliveries
object
- properties
object
- count
number
- cooldown
object
- notification
object
- properties
object
- templateName
string
- variantName
string
- createdAt
string
- updatedAt
boolean
- headers
object
- statusCode
integer
Set Verify Status
Set verify status for user
Show details
- Properties
- User ID
textField
-
ID of the user
- Verify Status
dropDown
-
Verify status of the user to be set.
-
ENABLED (Default)
-
DISABLED
-
NOT_INITIATED
-
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- verifyStatus
string
required
-
verify status
- Output Schema
- output
object
- verifyStatus
object
- properties
object
- verifyStatus
string
- rawResponse
object
- properties
object
- verifyStatus
string
- headers
object
- statusCode
integer
Return All Collected Data
Return all data collected from the user.
Show details
- Properties
- 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
-
- Input Schema
- default
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
- items
array
- type
string
- maxLength
maxLength: 255
- Output Schema
- output
object
- documents
object
- properties
object
- _embedded
object
- properties
object
-
- documents
array
- items
array
- documents
- type
object
- properties
{"type":"string"}
- size
number
- rawResponse
object
- properties
object
- _embedded
object
- properties
object
-
- documents
array
- items
array
- documents
- type
object
- properties
{"type":"string"}
- size
number
- headers
object
- statusCode
integer
Read Collected Data
Return a piece of data collected from the user.
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Document ID
textField
-
ID of the data collected from user.
- Input Schema
- default
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 Schema
- output
object
- document
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- user
object
- properties
object
-
- id
string
- id
- verifyTransaction
object
- properties
object
-
- id
string
- id
- type
string
- value
string
- status
string
- source
object
- properties
object
-
- provider
string
- provider
- rawResponse
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- user
object
- properties
object
-
- id
string
- id
- verifyTransaction
object
- properties
object
-
- id
string
- id
- type
string
- value
string
- status
string
- source
object
- properties
object
-
- provider
string
- provider
- headers
object
- statusCode
integer
Submit Collected Data
Submit a piece of data collected from the user during verification.
Show details
- Properties
- 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.
- Input Schema
- default
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 Schema
- output
object
- document
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- user
object
- properties
object
-
- id
string
- id
- verifyTransaction
object
- properties
object
-
- id
string
- id
- type
string
- value
string
- status
string
- source
object
- properties
object
-
- provider
string
- provider
- rawResponse
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- user
object
- properties
object
-
- id
string
- id
- verifyTransaction
object
- properties
object
-
- id
string
- id
- type
string
- value
string
- status
string
- source
object
- properties
object
-
- provider
string
- provider
- headers
object
- statusCode
integer
Update Collected Data
Update a piece of data collected from the user.
Show details
- Properties
- 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.
- Input Schema
- default
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 Schema
- output
object
- document
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- user
object
- properties
object
-
- id
string
- id
- verifyTransaction
object
- properties
object
-
- id
string
- id
- type
string
- value
string
- status
string
- source
object
- properties
object
-
- provider
string
- provider
- rawResponse
object
- properties
object
- id
string
- environment
object
- properties
object
-
- id
string
- id
- user
object
- properties
object
-
- id
string
- id
- verifyTransaction
object
- properties
object
-
- id
string
- id
- type
string
- value
string
- status
string
- source
object
- properties
object
-
- provider
string
- provider
- headers
object
- statusCode
integer
Delete Collected Data
Delete a piece of data collected from the user.
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Document ID
textField
-
ID of the data collected from user.
- Input Schema
- default
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 Schema
- output
object
- rawResponse
object
- headers
object
- statusCode
integer
Process All Data Collected
Process all data collected from the user during verification.
Show details
- Properties
- User ID
textField
-
ID of the user
- Transaction ID
textField
-
ID of the transaction
- Input Schema
- default
object
- userId
string
required
minLength: 0
maxLength: 100
-
User ID
- transactionId
string
required
minLength: 0
maxLength: 100
-
Transaction ID
- Output Schema
- output
object
- documents
object
- properties
object
- _embedded
object
- properties
object
-
- documents
array
- items
array
- documents
- type
object
- properties
{"type":"string"}
- size
number
- rawResponse
object
- properties
object
- _embedded
object
- properties
object
-
- documents
array
- items
array
- documents
- type
object
- properties
{"type":"string"}
- size
number
- headers
object
- statusCode
integer
Create Response for External Client
Create JSON response for an integration with a mobile application.
Show details
- Properties
- 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.
- Input Schema
- default
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 Schema
- 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.