Connectors

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:

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:

  1. In your PingOne environment, go to Settings → Environment Properties.

  2. Locate the Environment ID and Region.

  3. 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:

  1. In your PingOne environment, go to Applications → Applications. If you haven’t added the application yet, see Adding an application.

  2. Locate the appropriate application and then click its entry to open the details panel.

  3. On the Profile tab, locate the Client ID and Client secret.

  4. 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:

A screen capture of a PingOne Verify flow example showing various 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 to Read government ID node, Return all collected node, and Read metadata node.

  • Success: The flow continues to Read government ID node, Return all collected node, and Read 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 the username 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.