Pulse + Custom Webhooks
What is a Webhook?
Webhooks are a way for apps to communicate with each other. They allow you to send automated messages from one app to another when something happens. These messages contain information (known as payload) which are sent to a unique URL destination.
How can webhooks be used with Proof?
A webhook integration is an alternative method for capturing new conversions for your Proof notifications. This is an advanced option that should be implemented by a web developer.
Webhook setup instructions
Step 1 – Create a webhook endpoint
Inside the Proof app you can create a webhook endpoint – it's a unique URL where Proof will receive your webhook information. Make sure to POST webhook messages to this url in JSON format.
- Edit a campaign
- Go to Step 2 'Capture'
- Click the 'Webhook' button
- Then click the 'Custom Webhook' button
- Here you'll see a page where you can create a webhook endpoint
Step 2 – Setup your HTTP Post
Your data should be sent in the request body as "application/json" content.
Please include the following fields in your webhook (case sensitive):
{ "type": "custom", "email": "", "first_name": "", "city": "", "state": "", "country": "", "ip": "" }
Please note that the following data will need to be matched with custom variables associated with your web platform (email
, first_name
, city
, state
,country
, ip
).
The type
field will always be matched to the custom
variable.
Additional Information
Payload Type
You'll need to send as JSON format type
Required fields
type
and email
are the only fields technically required, but we recommend you send all this information if you have it available.
Optional fields
first_name
, city
, state
,country
, ip
Webhook example (in PHP)
// Proof Webhook $l_asJson = array( 'type' => 'custom', 'email' => $_POST['email'], 'first_name' => $_POST['first_name'] ); $l_sUrl = YOUR WEBOOK; $l_sRequest = json_encode( $l_asJson ); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' ) ); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); curl_setopt($ch, CURLOPT_URL, $l_sUrl ); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $l_sRequest ); $l_sReturn = curl_exec($ch); curl_close($ch);
Frequently Asked Questions
What if the webhook captures a prospects full name, but we only want to display their first name?Not a problem at all! Proof has a setting that will automatically strip the last name from the webhook if you send us the full name. That will ensure only the first name is being displayed.
Can I use a secure HTTPS webhook url in my POST requests? YES, you absolutely can and we recommend it.
How are duplicate email contacts handled?
If you send Proof two email contacts with duplicate email addresses, then your original email contact will get removed and replaced with the new contact.