Request a Demo
Menu
Login
Request A Demo

PDP - WorkDay Integration APIs

Developer Documentation

PDP ProScan Invitation API

Programmatically create ProScan and ProScan Applicant survey invitations (exclude JDA surveys). Available with options A–D.

  • URL: https://my.pdpworks.com/external-api/surveyInvitations
  • Method: POST
  • Payload:

{ sender: {
name: String required maxsize 64,
emailAddress: Email required maxsize 256,
organizationName: String required maxsize 128,
languageCode: String optional default 'en' // see Sender and Report language list below for all valid values
},

jobModelId: Integer optional,
reportTypeIds: Array of integers optional default 27, 28 minimum 1 report if provided, // see list of valid values below
reportNotificationLevelId: Integer required // see below for valid values,
thirdPartyNotificationEmailAddresses: Array of email (valid format) addresses String maxsize 256,
invitee: {
firstName: String required maxsize 64,
lastName: String required maxsize 64,
emailAddress: Email required maxsize 256,
languageCode: String optional default 'en', // see ProScan survey language list below for all valid values
externalId: String optional maxsize 100,
}
}

Report list

The client account may only have a sub-set of this list available.

Report name
id
Personal Reports
Personal Dynamics 1
Connect with Me 27
Personal Performance Actions 7
Personal QuickView 28
Personal Strengths 3
Data Sheet 4
Intensity Chart 5
Motivators Worksheet 6
Applicant Reports
Applicant Match 14
Candidate Interview 15
Career Path 16
Management Reports
Executive Summary 9
Management Guide 10
Manager QuickView 11

 

Example Payload

This sends an email with the selected report(s) attached to only the sender of the invitation.

{
"sender": {
"name": "Manager Name",
"emailAddress": "sender@pdpglobal.com",
"organizationName": "Org Name",
"languageCode": "en"
},
"reportTypeIds": [28,27],
"reportNotificationLevelId": 1,
"invitee": {
"firstName": "todd",
"lastName": "test",
"emailAddress": "recipient@pgpglobal.com",
"languageCode": "en",
"externalId": "emp123"
}
}

Example Payload

This sends an email, with the selected report(s) attached, to the sender of the invitation and to one or more third-parties.

{
"sender": {
"name": "Manager Name",
"emailAddress": "sender@domian.com",
"organizationName": "Org Name",
"languageCode": "en"
},
"reportTypeIds": [28,27],
"reportNotificationLevelId": 4,
"thirdPartyNotificationEmailAddresses": [
"thirdparty1@domian.com",
"thirdparty2@domain.com"
],
"invitee": {
"firstName": "todd",
"lastName": "test",
"emailAddress": "recipient@domain.com",
"languageCode": "en",
"externalId": "emp123"
}
}

PDP Survey Completion Webhook

Upon completion of a survey, whether manually entered, from an invitation (created via UI or API) or survey link, the following call will be made from PDP to the client webhook URI configured in account settings.

  • Method: POST
  • Payload:
event: String required,  //  'survey-completed'<
uri: String required,  //  uri of the survey results
surveyKey: string required,
respondentExternalId: String optional,  //  passed to PDP via API or survey link (e.g., employee id)

Example payload:

{
event: 'survey-completed',
uri: `https://www.my.pdpworks.com/external-api/surveys/AB32DS83`,
surveyKey: 'AB32DS83',
respondentExternalId: '34598437'
}

PDP Client APIs

General Notes

  1. These APIs may be called to PDP by a client.
  2. Calls require TLS 1.2. (TLS 1.0 and 1.1 are not supported.)
  3. The client's endpoint API must respond with any HTTPS success code (2xx) within 5000ms, otherwise, PDP will retry the call multiple times until successful or the maximum retries is reached.

Tips

  • Keep your code as simple as possible.
  • Log the data sent from PDP and immediately return an HTTPS success status code (2xx).
  • Perform post-processing of the data received from PDP after sending the success status code (2xx) to avoid timeouts and unnecessary retries.

Authentication

  • PDP will provide the service username.
  • The password is managed by the client's Key Contact in the API Configuration area of the [user] > My Information page in the my.PDPworks.com account.
  • Authentication uses Basic Authentication
  • The header will be in the format—Authentication: Basic {credentials}
  • The credentials are Base64 encoded username and password, separated by a colon (:)
  • More information: https://en.wikipedia.org/wiki/Basic_access_authentication

Get Survey Results API

  • Method: GET
  • Header: Authorization: Basic {credentials}
  • URI: as specified in the Survey Completion Webhook
{uri: String required, // uri of the survey results
surveyKey: String required,
respondent ExtId: String optional,  // passed to PDP via API or survey link, or manually entered
surveyTakenDateTime: Date required,
surveyTakenUtcDateTime: Date required,
firstName: String, optional, lastName: String optional, emailAddress: String (email) optional, organizationName: String optional, phoneNumber: String optional, phoneExtension: String optional, faxNumber: String optional, address1: String optional, address2: String optional, city: String optional, state: String optional, zipCode: String optional, country: String optional, jobTitle: String optional, }

// Option B—available for additional cost
basic Traits: {
   structure: String required,
   highestTrait: String required,  //  may include two traits, comma separated
   lowestTrait: String required,
   logic: String required,
   primaryEnergyStyle: String required,
   kineticEnergy: Number required,
}

// Option C—available for additional cost
basicValues: {
   dominance: Number required
   extroversion: Number required,
   pace: Number required,
   conformity: Number required,
},

priorityValues: {
   dominanceLength: Number required
   extroversionLength: Number required,
   paceLength: Number required,
   conformityLength: Number required,
   logicLength: Number required,
   satisfaction: Number required,
   energyDrain: Number required,
},

// Array of report metadata
reports: [
  {
   uri: String required,
     reportKey: String required,
     reportType: String required,


// Option D—available for additional cost
    applicantMatches: [{
         jobModelName: String required,
       jobModelVersion: Number required, // 1 through 7
      matchScore: Number required, // 0 to 100
}] optional,
createdAt: Date required,   // date report created
  }
]

Get Report API

  • Retrieves a single report as a PDF response
  • Header: Authentication: Basic {credentials}
  • Method: GET
  • URI: as specified in the Get Survey Results API
  • Response: 
  • mime-type: application/.pdf

Get Job Models API

  • Method: GET
  • Header: Authentication: Basic {credentials}
  • URI: https://my.pdpworks.com/external-api/jobModels
[
{
jobModelId: integer,
jobModelName: string
}
]