With the callback feature, you can receive subscriber data when certain events occur, such as unsubscribes, hard bounces, and spam complaints. This feature is useful if you would like to update your own records when specific events occur in Critical Impact that alter subscriber data. The data will be sent to an endpoint that you specify where you can process it as desired.
This feature supports "unsubscribe" events which include:
- Hard Bounces
- Spam Complaints
- Unsubscribes through the standard unsubscribe link in message footers
- Manually saving a subscriber as unsubscribed from all in the edit subscriber window
- Globally unsubscribing a subscriber when updating their data via the /subscriber PUT API call.
All these events fall under the “unsubscribe” callback type, so if you enable a callback for unsubscribe events, you will receive data payloads when any of the above events occur.
How It Works
First, you will need to select the URL where the data should be sent, and provide this URL to the Critical Impact support team. We will set up and enable the callback on the backend for your account. The data will be sent to your endpoint via HTTP POST. Any processing of the data at that endpoint will need to be handled by your developers. The process to make the POST requests runs every 5 minutes, so there may be a delay of up to 5 minutes after a supported event occurs before you will receive the data.
Hard Bounces: Hard bounces are processed once daily, and the callbacks are scheduled at the same time. This means you will receive all hard bounces in a burst in the morning shortly after we process them on our backend.
Spam Complaints: We poll for new spam complaint unsubscribes every 20 minutes. This means there can be up to a 25 minute delay (factoring in the 5 minute callback process delay) before you receive the data when a spam complaint is made.
All Other Unsubscribe Events: These are scheduled for callback in real-time.
The data will be included in the HTTP POST form in key-value pairs. It will include all custom field data for the subscriber as well as the action (unsubscribe) and reason (hardbounce, spam, or unsubscribe). The custom fields will be included using the human-readable names and not internal names.
Here is a sample payload demonstrating the data that you would receive:
If the response we receive from the callout is not 200, we will retry up to 3 times. These attempts will be spaced out over 10 minute intervals. If we still receive a non-200 response code from your endpoint after 3 retries, we will cancel the callback record and indicate that it produced an error.
How to Enable
To enable this feature, please contact the Critical Impact support team.