Webhook接口說明

從 亿业科技接口
跳到: 導覽搜尋

如何使用

1)您在您的網站上發佈一個頁面,並在我方平台配置完畢;
具體操作方法請參考開發前準備工作中的Webhook配置
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)不同事件裡面的字段不盡相同;

顯然,根據字面意思,可以知道Reason字段是不可能出現在#Opened事件中;

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

接收方Email

UniqueMsgID

本次郵件發送行為的唯一標示,具體請參考smtp接口說明#X-Easeye-UniqueMsgID頭部

SentMailListName

郵件列表的名稱;

Email

聯繫人郵件地址

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屬性,方便區分鏈接地址相同,但鏈接不同的情況;