Why Webhooks?
Through Webhooks, you can send HTTP requests to a third-party application every time when an event or action occurs on your application.
Simply put, when an event happens in your webpage, you can notify a third party application automatically without continuously polling for data.
Let’s say you have an e-commerce website and you have a billing application integrated with your application. So every time when a purchase happens, you can notify the billing system automatically using their webhook URL.
Freshmarketer Webhooks:
Using Freshmarketer Webhooks, you can automatically push data to your application through which you can have a simple one to one connection that runs automatically.
Whenever an event occurs in Freshmarketer, a POST event will be sent in a JSON format to the Webhook URL you’ve configured.
The URL will be called automatically every time when a specified action/event happens for the contacts in Freshmarketer. For example, whenever a new contact is added, you can configure Freshmarketer to push data to your application’s webhook URL automatically.
Configure Webhooks in Freshmarketer:
Drag and drop the Webhooks block that’s under the Actions.
Click on ‘Choose or Create a Webhook’. The below popup will be shown providing the option to choose from the list of available webhooks or create a new one.
Click ‘Create New Webhook’.
A popup window will be loaded where you can configure your Webhook URL’s details.
Webhook name: Provide a name for the Webhook
URL: Input your webhook URL. If there are any required parameters on your URL, you can add them as a placeholder using the below option.
Required Authentication:
If your third-party application URL is protected and requires authentication, you can authenticate using two ways. Through Basic, you can pass a Username and Password and through Token, a token or API key can be passed to authenticate and help access the URL.
Add Custom Header:
If your Webhook URL requires any additional information with the content such as security information, etc. those can be added as custom headers by enabling this option.
Add custom payload:
Apart from default event trigger information, you can add your own custom contact/event properties in your payload as well. Those events will be sent as JSON data on the HTTP request body.
Sample Payload:
"Headers": {
"Content-Type": "application/json;charset=UTF-8"
},
"Body": {
"event_type": "List",
"data": {
"contact": {
"first name": "test_contact_fname",
"mobile": "1234567890",
"email": "testuser@freshmarketer.com"
},
"event_details": {
"list_id": "100",
"contact_id": "200"
},
"custom_data": {
"name": "test_contact_fname",
"salary": "123",
"age": "12"
}
},
"id": "7c076336-6072-4be3-a86f-b7255dbd0d63",
"event": "list.add_contact",
"event_category": "system",
"event_time": 1563186327795
}
}
Test your Webhooks:
You can test your Webhook URL with sample data. The response status received should be 200 and any other response other than that is considered as a failure. This helps you identify if your Webhook URL is valid or not.
Click on 'Create Webhook' once the configuration is completed.
Sample Journey using Webhooks:
Here the Webhook URL will be called whenever the contacts from the list ‘Test’ clicks on the email campaign ‘Sample’ that has been sent.