forked from starenka/mailjetv3
-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathstatistic_sample.py
More file actions
69 lines (51 loc) · 1.88 KB
/
statistic_sample.py
File metadata and controls
69 lines (51 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import json
import os
from mailjet_rest import Client
mailjet30 = Client(
auth=(os.environ["MJ_APIKEY_PUBLIC"], os.environ["MJ_APIKEY_PRIVATE"]),
)
mailjet31 = Client(
auth=(os.environ["MJ_APIKEY_PUBLIC"], os.environ["MJ_APIKEY_PRIVATE"]),
version="v3.1",
)
def event_based_vs_message_based_stats_timing():
"""GET https://api.mailjet.com/v3/REST/statcounters"""
filters = {
"SourceId": "$Campaign_ID",
"CounterSource": "Campaign",
"CounterTiming": "Message",
"CounterResolution": "Lifetime",
}
return mailjet30.statcounters.get(filters=filters)
def view_the_spread_of_events_over_time():
"""GET https://api.mailjet.com/v3/REST/statcounters"""
filters = {
"SourceId": "$Campaign_ID",
"CounterSource": "Campaign",
"CounterTiming": "Event",
"CounterResolution": "Day",
"FromTS": "123",
"ToTS": "456",
}
return mailjet30.statcounters.get(filters=filters)
def statistics_for_specific_recipient():
"""GET https://api.mailjet.com/v3/REST/contactstatistics"""
return mailjet30.contactstatistics.get()
def stats_for_clicked_links():
"""GET https://api.mailjet.com/v3/REST/statistics/link-click"""
filters = {"CampaignId": "$Campaign_ID"}
return mailjet30.statistics_linkClick.get(filters=filters)
def mailbox_provider_statistics():
"""GET https://api.mailjet.com/v3/REST/statistics/recipient-esp"""
filters = {"CampaignId": "$Campaign_ID"}
return mailjet30.statistics_recipientEsp.get(filters=filters)
def geographical_statistics():
"""GET https://api.mailjet.com/v3/REST/geostatistics"""
return mailjet30.geostatistics.get()
if __name__ == "__main__":
result = geographical_statistics()
print(result.status_code)
try:
print(json.dumps(result.json(), indent=4))
except json.decoder.JSONDecodeError:
print(result.text)