Webhooks
PDL Webhooks Overview
PDL offers a webhook functionality to receive timely person data updates at scale.
Currently, webhooks are only available for our subscribing enterprise API and Data License customers.
If you would like access, please reach out to your dedicated Customer Success Manager.
What is a webhook
A webhook is a method used by applications to enable real-time notifications of specific events to other applications or services over the web. It functions by sending an HTTP POST request to a URL configured by the user whenever a triggering event occurs. Here's a breakdown of its key aspects for your documentation.
Why use webhooks
When integrating PDL into your data pipeline, you might want your system to automatically signal data updates as they happen with our releases, so that your backend systems can execute actions accordingly.
To enable a webhook, you need to work with your PDL team to register the webhook endpoint. After you register them, PDL can push event data to your application’s webhook endpoint when we update records that match your filter criteria. PDL uses HTTPS to send webhook events to your app as a JSON payload that includes a list of ids.
Who can use webhooks
Webhooks are for enterprise customers only. Please reach out to us if you are interested in utilizing them.
How to setup webhooks (Webhook registration)
In order to register a webhook endpoint you will need to work with your PDL team. There are 3 pieces of information required to enable a webhook:
Target URL
Target URL
- This is the endpoint you create where we should send the payloads.
- The
Target URL
must be a secured endpoint using https.
Example | https://www.domain.com/webhook/person/job_change |
---|
Headers
Headers
- This contains any headers we need to use when firing off the endpoint.
- At a minimum, this should contain a shared key for secure authorization for accepting webhook events.
Example | "Authorization": "Bearer pk_1312323123131231" |
---|
Filters
Filters
- These are the types of updates to filter for and multiple can be selected
Using Multiple Filters
If multiple filters are selected, profiles will be returned if any of the associated fields for either filter have been updated (logical
OR
)For example, if
mobile_phone_number
andpersonal_emails
are enabled on a single webhook, a PDL ID will appear twice if both the mobile phone and personal email change in a single release.Therefore, in some cases, it might be better to create one webhook per filter to reduce potential duplication
The following filters are supported:
Filter Name | Updates Based On |
---|---|
education | education |
job_change | job_company_id job_title |
location | location_name location_locality location_metro location_region location_country location_continent location_street_address location_address_line_2 location_postal_code location_geo |
mobile_phone_number | mobile_phone |
personal_emails | personal_emails recommended_personal_email |
phone_number | mobile_phone phone_numbers |
social_profile | linkedin_url linkedin_username linkedin_id facebook_url facebook_username facebook_id twitter_url twitter_username github_url github_username |
work_email | work_email |
What do webhooks send back (Webhook payloads)
- Whenever a webhook has been triggered (i.e. records have been updated in our dataset based on the registered
filters
), it will send back a JSON payload containing IDs of the updated records.- Payloads are sent in batches of 1,000 ids
- These are sent once per month, around the time of when our new data is released into the API and post DL delivery
Webhook Delivery Errors
In the event of a failure (i.e. your server does not return a 200), we will not automatically resend. Instead, please reach out to your PDL Team to resend the current batch. We will need to resend the entire batch when we do resend.
Example Response
[
"9adnit66-hdZ5lkBbq-AOQ_0000",
"YraxDoP16jzyjfxtn-1XJQ_0000",
"6Wu6sKeyNfaLF3CVBgoysg_0000",
"MRXuwdbvx-poOxpPIPYO9A_0000",
"9R7GG5mBULdNjHWbQnRsJA_0000",
...
]
Updated 3 months ago