Webhook接口說明
如何使用
- 1)您在您的網站上發佈一個頁面,並在我方平台配置完畢;
- 2)我們會周期性的將報表事件(打開/點擊/硬退/軟退等)按照固定格式推送到該頁面上;
- 格式請參考本文下方的#Webhook數據包結構說明
- 3)您記錄下相關事件,並更新數據庫;
注:关于同步频率的说明: 暂定数据同步周期为每1000条状态事件或每30秒。也就是说:状态事件累计满1000条,同步一次,如果30秒内没有积累满1000条,则也同步一次。
Webhook數據包結構說明
- 1)數據包是採取json格式推送;
- 2)每次同步的數據包中會含有多個或一個狀態消息;
- 3)每個狀態消息代表一個事件,由若干個字段組成,傳遞該事件的相關信息;
- 4)系統支持的事件列表請參考#Webhook事件說明,系統支持的字段列表請參考#Webhook字段說明
- 5)樣例數據包如下(為了閱讀方便,http消息體刻意進行了換行,實際消息體數據應該在一行中)
POST /easeyewebhookreceive/receive.aspx?id=9787435 HTTP/1.1 content-type: application/json;charset=UTF-8 User-Agent: Java/1.6.0_43 Host: www.yiyetest.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 1482 [{"Email":"a@b.com","EventCode":"Bounced","EventType":"3","TriggeredDateTimeV2":"2023-10-31 13:54:31",
"Reason":"101","SenderEmail":"test@edm.test.com","SentMailListName":"","UniqueMsgID":"7594973
56"},{"Email":"c@d.com","EventCode":"Delivered","EventType":"3","ReceiveServer":"mail.d.com[1.1.1.1]:
25","SenderEmail":"test@edm.test.com","SentMailListName":"","SubmitDateTimeV2":"2023-10-31 13:54:31",
"TriggeredDateTimeV2":"2023-10-31 13:54:31","UniqueMsgID":"5817075077531"},{"BrowserTyp
e":"","DeliveredTime":"2023-10-31 13:54:31","Email":"c@d.com","EventCode":"Opened","EventTyp
e":"3","IP":"2.2.2.2","Platform":"","SentMailListName":"","SubmitDateTimeV2":"2023-10-31 13:54:31",
"TriggeredDateTimeV2":"2023-10-31 13:54:31","UA":"Mozilla\/5.0 (Windows NT 6.1) AppleWebK
it\/537.36 (KHTML, like Gecko) Chrome\/31.0.1650.16 Safari\/537.36","UniqueMsgID":"5817071237437"},{"
BrowserType":"unknown","DeliveredTimeV2":"2023-10-31 13:54:31","Email":"c@d.com","EventCode":"
Clicked","EventType":"3","IP":"2.2.2.2","Link":"http:\/\/www.baidu.com\/index.html","Platform":"Andro
id","SentMailListName":"","SubmitDateTimeV2":"2023-10-31 13:54:31","Title":"","TriggeredDateTi
me":"2023-10-31 13:54:31","UA":"Mozilla\/5.0 (Linux; Android 4.4.4; iToolsVM Build\/KTU84P)
AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/33.0.0.0 Mobile Safari\/537.36 MicroMess
enger\/6.3.31.940 NetType\/WIFI Language\/zh_CN","UniqueMsgID":""}]
Webhook事件說明
1)不同事件裡面的字段不盡相同;
2)在一個事件裡面的某些字段值可能為空;
- 郵件任務有兩種提交方式:列表方式提交(人工或者Webservice接口)和SMTP方式提交;
- 顯然,某些字段僅僅在特定提交方式下有意義;
- 比如字段SentMailListName僅僅在列表方式提交下才有意義,其他方式下的事件即便包含該字段,其值也是空;
Dropped事件
- 事件說明:由於各種原因(具體請參考#Reason中說明),導致該郵件壓根兒沒有發送;
- 事件涉及的字段:
- EventType, EventCode, Email, TriggeredDateTimeV2, Reason, SentMailListName, UniqueMsgID, SenderEmail
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"Dropped", "Email":"test@test.easeye.net", "EventType":"3", "Reason":"112", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"23230232329" } ] 列表方式提交的样例: [ { "EventCode":"Dropped", "Email":"test@test.easeye.net", "EventType":"1", "Reason":"110", "SenderEmail":"", "SentMailListName":"newsletter201607", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"" } ]
Bounced事件
- 事件說明:由於各種原因(具體請參考#Reason中說明),導致該郵件發送失敗;
- 事件涉及的字段:
- EventCode, Email, EventType, FailedCause, Reason, SenderEmail, SentMailListName, SubmitDateTimeV2, TriggeredDateTimeV2, UniqueMsgID
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"Bounced", "Email":"test@test.easeye.net", "EventType":"3", "Reason":"100", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"", "SubmitDateTimeV2":"2023-10-31 13:54:31", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "FailedCause":"Cjx0ZXN0QHRlc3QuZWFzZXllLm5ldD46IGhvc3QgdGVzdC5lYXNleWUubmV0WzEuMS4xLjFdIHNhaWQ6IDU1NCBJbnZhbGlkCiAgICByZWNpcGllbnQgKGluIHJlcGx5IHRvIFJDUFQgVE8gY29tbWFuZCkKCgo=", "UniqueMsgID":"892032348" } ] 列表方式提交的样例: [ { "EventCode":"Bounced", "Email":"test@test.easeye.net", "EventType":"1", "FailedCause":"Cjx0ZXN0QHRlc3QuZWFzZXllLm5ldD46IGhvc3QgdGVzdC5lYXNleWUubmV0WzEuMS4xLjFdIHNhaWQ6IDU1NCBtYWlsYm94CiAgICBpcyBmdWxsLiAoaW4gcmVwbHkgdG8gUkNQVCBUTyBjb21tYW5kKQoKCg==", "Reason":"101", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"newsletter201607", "SubmitDateTimeV2":"2023-10-31 13:54:31", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"" } ]
Delivered事件
- 事件說明:已送達,郵件已投遞到聯繫人郵箱。
- 事件涉及的字段:
- EventCode, Email, EventType, ReceiveServer, SenderEmail, SentMailListName, SubmitDateTimeV2, TriggeredDateTimeV2, UniqueMsgID
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"Delivered", "Email":"test@test.easeye.net", "EventType":"5", "ReceiveServer":"test.easeye.net[1.1.1.1]:25", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"", "SubmitDateTimeV2":"2023-10-31 13:54:31", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"892052719" } ] 列表方式提交的样例: [ { "EventCode":"Delivered", "Email":"test@test.easeye.net", "EventType":"1", "ReceiveServer":"test.easeye.net[1.1.1.1]:25", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"newsletter201607", "SubmitDateTimeV2":"2023-10-31 13:54:31", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"" } ]
Opened事件
- 事件說明:聯繫人打開了郵件;每次打開都會產生一個此類狀態事件;
邮件打开事件有可能会捕捉不到(比如邮件不显示图片),所以可能会出现同一个联系人有点击事件而没有打开事件,请注意处理。
- 事件涉及的字段:
- EventCode, BrowserType, DeliveredTimeV2, Email, EventType, IP, Platform, SentMailListName, SubmitDateTimeV2, TriggeredDateTimeV2, UA, UniqueMsgID
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"Opened", "BrowserType":"", "DeliveredTimeV2":"2023-10-31 13:54:31", "Email":"test@test.easeye.net", "EventType":"3", "IP":"1.1.1.1", "Platform":"", "SentMailListName":"", "SubmitDateTimeV2":"2023-10-31 13:54:31", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UA":"Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML,like Gecko) Chrome\/45.0.2454.101 Safari\/537.36", "UniqueMsgID":"1809631" } ] 列表方式提交的样例: [ { "EventCode":"Opened", "BrowserType":"", "DeliveredTimeV2":"2023-10-31 13:54:31", "Email":"test@test.easeye.net", "EventType":"1", "IP":"1.1.1.1", "Platform":"", "SentMailListName":"newsletter201607", "SubmitDateTimeV2":"2023-10-31 13:54:31", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UA":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit\/602.3.12 (KHTML,like Gecko)", "UniqueMsgID":"" } ]
Clicked事件
- 事件說明:聯繫人點擊了郵件內的某個鏈接(開啟鏈接跟蹤才會產生此數據);每次點擊都會產生一個此類狀態消息。
- 事件涉及的字段:
- EventCode, BrowserType, DeliveredTimeV2, Email, EventType, IP, Link, Platform, SentMailListName, SubmitDateTimeV2, Title, TriggeredDateTimeV2, UA, UniqueMsgID
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"Clicked", "BrowserType":"Mobile Safari", "DeliveredTimeV2":"2023-10-31 13:54:31", "Email":"test@test.easeye.net", "EventType":"3", "IP":"1.1.1.1", "Link":"https:\/\/www.baidu.com\/def\/index.htm?ab=0&cd=ef", "Platform":"iOS", "SentMailListName":"", "SubmitDateTimeV2":"2023-10-31 13:54:31", "Title":"", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UA":"Mozilla\/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit\/602.3.12 (KHTML,like Gecko) Mobile\/14C92 (4347662848)", "UniqueMsgID":"5611974" } ] 列表方式提交的样例: [ { "EventCode":"Clicked", "BrowserType":"Chrome", "DeliveredTimeV2":"2023-10-31 13:54:31", "Email":"test@test.easeye.net", "EventType":"1", "IP":"1.1.1.1", "Link":"http:\/\/www.baidu.com\/def\/adbc\/?a=b&c=d&e=f&g=h", "Platform":"Windows 7", "SentMailListName":"newsletter201607", "SubmitDateTimeV2":"2023-10-31 13:54:31", "Title":"", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UA":"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML,like Gecko) Chrome\/56.0.2924.87 Safari\/537.36", "UniqueMsgID":"" } ]
Unsubscribed事件
- 事件說明:聯繫人退訂,不再接收營銷郵件。
- 事件涉及的字段:
- EventCode, Email, EventType, SentMailListName, TriggeredDateTimeV2, UniqueMsgID
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"Unsubscribed", "Email":"test@test.easeye.net", "EventType":"3", "SentMailListName":"", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"1795046" } ] 列表方式提交的样例: [ { "EventCode":"Unsubscribed", "Email":"test@test.easeye.net", "EventType":"1", "SentMailListName":"newsletter201607", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"" } ]
SpamReport事件
- 事件說明:垃圾郵件投訴,聯繫人向ESP舉報此郵件是垃圾郵件。。
- 事件涉及的字段:
- EventCode, Email, EventType, SenderEmail, SentMailListName, TriggeredDateTimeV2, UniqueMsgID
- 事件樣例:
SMTP方式提交的样例: [ { "EventCode":"SpamReport", "Email":"test@test.easeye.net", "EventType":"5", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"891025625" } ] 列表方式提交的样例: [ { "EventCode":"SpamReport", "Email":"test@test.easeye.net", "EventType":"1", "SenderEmail":"service@trigger.easeye.com", "SentMailListName":"newsletter201607", "TriggeredDateTimeV2":"2023-10-31 13:54:31", "UniqueMsgID":"" } ]
Webhook字段說明
EventType
郵件任務的提交類型;
- 1:列表方式提交的郵件;
- 3:事務類SMTP郵件(默認走27端口);
- 5:營銷類SMTP郵件(默認走26端口);
EventCode
狀態事件標示,代表此事件是什麼類型的事件,目前支持的事件名稱請參考#Webhook事件說明;
SenderEmail
發送人Email
接收方Email
UniqueMsgID
本次郵件發送行為的唯一標示,具體請參考smtp接口說明#X-Easeye-UniqueMsgID頭部
SentMailListName
郵件列表的名稱;
聯繫人郵件地址
TriggeredDateTimeV2
狀態產生的時間,格式為yyyy-MM-dd HH:mm:ss,樣例:2023-10-31 13:54:31 。
Reason
過濾或者投遞失敗的原因,如下:
屬於#Bounced事件的類別
- 100:硬退:本次投遞過程中投遞失敗,原因是因為該地址是無效地址;
- 101:軟退:本次投遞過程中投遞失敗,原因是接收方服務器無法鏈接成功或者拒信(郵箱已滿,或者設置了黑名單,或者判定為垃圾郵件;
屬於#Dropped事件的類別
- 110:硬退過濾:歷史上判定為無效地址而過濾;
- 111:發送策略過濾:比如使用了我司的新版活躍度策略,按照策略要求被過濾的用戶;
- 112:過期:在有效期內未能投遞完畢;
- 114:缺少必要數據過濾:比如模板中存在臨時標籤,但卻沒有將某個/某些聯繫人對應的標籤值傳過來,這些人就不會發送;
- 210:退訂過濾:歷史上判定為退訂用戶而過濾;
IP
事件發生的源IP;
UA
觸發該事件的瀏覽器或者客戶端標識(UserAgent);
LINK
該事件的相關鏈接;
FailedCause
投遞失敗的原因,需要進行base64解碼;
SubmitDateTimeV2
該郵件的提交時間,格式同#TriggeredDateTimeV2
ReceiveServer
接收該信件的郵件服務器
Platform
平台類型
BrowserType
瀏覽器類型
DeliveredTimeV2
投遞成功的時間,格式同#TriggeredDateTimeV2
Title
點擊事件中,該鏈接對應的Title屬性,方便區分鏈接地址相同,但鏈接不同的情況;