Postmark: support "clicked" tracking events

Handle Postmark's new click webhook.

Closes #78
This commit is contained in:
medmunds
2017-11-02 11:48:02 -07:00
parent 930753e4b6
commit 7e908184ed
3 changed files with 57 additions and 4 deletions

View File

@@ -49,7 +49,7 @@ class PostmarkTrackingWebhookView(PostmarkBaseWebhookView):
'DMARCPolicy': (EventType.REJECTED, RejectReason.BLOCKED),
'TemplateRenderingFailed': (EventType.FAILED, None),
# DELIVERED doesn't have a Type field; detected separately below
# CLICKED doesn't have a Postmark webhook (yet?)
# CLICKED doesn't have a Type field; detected separately below
# OPENED doesn't have a Type field; detected separately below
# INBOUND doesn't have a Type field; should come in through different webhook
}
@@ -62,6 +62,8 @@ class PostmarkTrackingWebhookView(PostmarkBaseWebhookView):
except KeyError:
if 'FirstOpen' in esp_event:
event_type = EventType.OPENED
elif 'OriginalLink' in esp_event:
event_type = EventType.CLICKED
elif 'DeliveredAt' in esp_event:
event_type = EventType.DELIVERED
elif 'From' in esp_event:
@@ -103,4 +105,5 @@ class PostmarkTrackingWebhookView(PostmarkBaseWebhookView):
tags=tags,
timestamp=timestamp,
user_agent=esp_event.get('UserAgent', None),
click_url=esp_event.get('OriginalLink', None),
)