Webhooks are an easy way to have Emma’s system notify you when certain events occur. In general, you will use our API to tell us which events you want to be notified about. When those events occur, we will make a POST to the URL you have provided with a particular set of data.
We have a broad array of triggering events and an easy API interface to create webhooks for each event. We do have documentation of the webhook API.
Below is a list of each triggering event we currently support and the data that will be sent when that event occurs.
{
"event_name": "member_signup",
"data": {
"account_id": account_id,
"member_id": member_id,
"mailing_id": mailing_id
}
}
{
"event_name": "message_open",
"data": {
"account_id": account_id,
"member_id": member_id,
"mailing_id": mailing_id,
"subject": mailing_subject,
"timestamp": timestamp
}
}
{
"event_name": "message_click",
"data": {
"account_id": account_id,
"member_id": member_id,
"mailing_id": mailing_id,
"subject": mailing_subject,
"timestamp": timestamp,
"link_id": link_id
}
}
{
"event_name": "member_optout",
"data": {
"account_id": account_id,
"member_id": member_id,
"mailing_id": mailing_id,
"subject": mailing_subject,
"timestamp": timestamp
}
}
{
"event_name": "message_forward",
"data": {
"account_id": account_id,
"member_id": member_id,
"mailing_id": mailing_id,
"subject": mailing_subject,
"timestamp": timestamp
}
}
{
"event_name": "mailing_finish",
"data": {
"mailing_id": mailing_id,
"account_id": account_id,
"subject": mailing_subject,
"timestamp": timestamp
}
}
{
"event_name": "import_finish",
"data": {
"import_id": import_id,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url,
"group_ids": group_ids,
"contact_count": contact_count
}
}
{
"event_name": "member_add",
"data": {
"member_id": member_id,
"account_id": account_id,
"timestamp": timestamp,
"signup_form_id": signup_form_id,
"resource_url": resource_url
}
}
{
"event_name": "member_update",
"data": {
"member_id": member_id,
"account_id": account_id,
"timestamp": timestamp
}
}
{
"event_name": "member_delete",
"data": {
"member_id": member_id,
"account_id": account_id,
"timestamp": timestamp
}
}
It’s possible that instead of an array for member_ids or group_ids you may receive a string with the text all. Because of calls that can add a member to all groups or add all members to a single group, this is easier than returning a giant list of IDs.
{
"event_name": "member_add_to_group",
"data": {
"member_ids": {member_ids},
"account_id": account_id,
"timestamp": timestamp.
"group_ids": {group_ids}
}
}
It’s possible that instead of an array for member_ids or group_ids you may receive a string with the text all. Because of calls that can remove a member from all groups or remove all members from a single group, this is easier than returning a giant list of IDs.
{
"event_name": "member_remove_from_group",
"data": {
"member_ids": {member_ids},
"account_id": account_id,
"timestamp": timestamp.
"group_ids": {group_ids}
}
}
{
"event_name": "group_create",
"data": {
"group_id": group_id,
"group_name": group_name,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url
}
}
{
"event_name": "group_delete",
"data": {
"group_id": group_id,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url
}
}
{
"event_name": "group_update",
"data": {
"group_id": group_id,
"group_name": group_name,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url
}
}
{
"event_name": "field_create",
"data": {
"field_id": field_id,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url
}
}
{
"event_name": "field_delete",
"data": {
"field_id": field_id,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url
}
}
{
"event_name": "field_update",
"data": {
"field_id": field_id,
"account_id": account_id,
"timestamp": timestamp,
"resource_url": resource_url
}
}
{
"event_name": "member_status_update",
"data": {
"member_ids": {member_ids},
"account_id": account_id,
"new_status": new_status,
"timestamp": timestamp
}
}
{
"event_name": "subscriptions-member-opted-out",
"data": {
"member_id": member_id,
"subscripition_id": subscripition_id,
"account_id": account_id,
}
}