Webinar Reminder - 1 Day
This event is triggered when automatic reminder notifications are sent to webinar participants exactly 24 hours before the scheduled session starts. It provides participant and webinar details for early planning and preparation.
Event Type
webinar.reminder.1day
Setting Up the Webhook
To subscribe to this webhook event, configure your webhook endpoint with the following:
- cURL
- JavaScript
- Python
curl -X 'POST' \
'https://api-prod-new.tagmango.com/api/v1/integration/webhook/webhook' \
-H 'accept: application/json' \
-H 'x-api-key: <Your API Key>' \
-H 'Content-Type: application/json' \
-d '{
"hookUrl": "<your webhook url>",
"event": "webinar.reminder.1day",
"webinar": "<webinar to be associated> (optional sends all webinar related events if not specified)"
}'
fetch('https://api-prod-new.tagmango.com/api/v1/integration/webhook/webhook', {
method: 'POST',
headers: {
'accept': 'application/json',
'Content-Type': 'application/json',
'x-api-key': '<Your API Key>'
},
body: JSON.stringify({
"hookUrl": "<your webhook url>",
"event": "webinar.reminder.1day",
"webinar": "<webinar to be associated> (optional sends all webinar related events if not specified)"
})
})
.then(response => response.json())
.then(data => console.log(data));
import requests
import json
url = "https://api-prod-new.tagmango.com/api/v1/integration/webhook/webhook"
headers = {
"accept": "application/json",
"Content-Type": "application/json",
"x-api-key": "<Your API Key>"
}
data = {
"hookUrl": "<your webhook url>",
"event": "webinar.reminder.1day",
"webinar": "<webinar to be associated> (optional sends all webinar related events if not specified)"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
hookUrl | string | Yes | Your webhook endpoint URL |
event | string | Yes | Must be `webinar.reminder.1day` |
webinar | string | No | Specific webinar ID to monitor. If not specified, receives events for all webinars |
Webhook Payload
When the 1-day reminder event is triggered, TagMango will send a POST request to your webhook URL with the following payload:
Example
{
"name": "John Doe",
"email": "john@example.com",
"phone": "1234567890",
"timezone": "+05:30",
"webinar": "Introduction to Digital Marketing",
"webinarId": "634fc35ddaf58580e2418c40",
"webinarLink": "https://meet.google.com/abc-defg-hij",
"webinarFromTime": "2024-03-15T10:00:00.000Z",
"webinarToTime": "2024-03-15T11:00:00.000Z",
"webinarFromTimeInCreatorTimezone": "2024-03-15T15:30:00.000Z",
"creatorTimezone": "+05:30",
"mangoes": "Marketing Community, Digital Course Hub"
}
Schema
name
string
The attendee's full name
email
string
The attendee's email address
phone
string
The attendee's phone number
timezone
string | null
The attendee's timezone in UTC offset format (e.g. +05:30)
webinar
string
Title of the webinar session
webinarId
string
Unique identifier for the webinar session
webinarLink
string
URL for joining the webinar session
webinarFromTime
string
Start time of the webinar in attendee's timezone (fallback to creator's timezone if not provided)
webinarToTime
string
End time of the webinar in attendee's timezone (fallback to creator's timezone if not provided)
webinarFromTimeInCreatorTimezone
string
Start time of the webinar in creator's timezone
creatorTimezone
string | null
Creator's timezone in UTC offset format (e.g. +05:30)
mangoes
string
List of mango names associated with the webinar, comma separated string
High Volume Reminder Considerations
For webinars with many participants, the 1-day reminder can generate significant webhook traffic as it triggers individual calls for every registered participant.
Important considerations:
- Ensure your webhook endpoint can handle high request volumes
- Implement proper rate limiting and queuing mechanisms
Handling the Webhook
Your webhook endpoint should:
- Respond with 200 status - Return a 200 HTTP status code to acknowledge receipt
- Process quickly - Respond within 30 seconds to avoid timeouts
- Implement idempotency - Handle duplicate events gracefully
- Verify authenticity - Validate the request using the provided authentication headers
Example Implementation
// Node.js Express example
app.post("/webhook", (req, res) => {
const payload = req.body;
// Verify the webhook authenticity (implement based on your security setup)
if (!verifyWebhook(req)) {
return res.status(401).send("Unauthorized");
}
// Process the webhook event
try {
console.log("Event data:", JSON.stringify(payload, null, 2));
// Your business logic here
// Process the event data according to your application needs
processWebhookEvent(eventType, payload);
} catch (error) {
console.error("Error processing webhook:", error);
// You might want to return 500 here depending on your retry policy
}
// Acknowledge receipt
res.status(200).send("OK");
});
function processWebhookEvent(eventType, payload) {
// Implement your custom logic based on the event type and payload
// This is where you'll handle the webhook data according to your business requirements
// Examples of what you might do:
// - Store event data in your database
// - Send notifications to users
// - Update user records
// - Trigger automated workflows
// - Sync data with external systems
console.log(`Processing ${eventType} event for your application`);
}