Skip to main content

Webhook Event Field Details

This document provides detailed information about the final push fields for each Event type.

1. request (Request Event)​

Event Type: request
Description: Request event, may contain multiple emailIds, will generate one message for each emailId

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "request"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "request"✅
ReceiptCodeReceipt status code✅
ReceiptDescReceipt description✅
RecipientEmail-✅
DomainSender domain✅
ExplorerName-❌
ExplorerVer-❌
OSName-❌
OSVer-❌
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "request",
"ReceiptTime": 1234567890000,
"ReceiptResult": "request",
"ReceiptCode": "request",
"ReceiptDesc": "Message content",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com"
}
]
}

2. deliver (Delivery Event)​

Event Type: deliver
Description: Email successfully delivered event

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "deliver"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "deliver"✅
ReceiptCodeReceipt status code✅
ReceiptDescReceipt description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerName-❌
ExplorerVer-❌
OSName-❌
OSVer-❌
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "deliver",
"ReceiptTime": 1234567890000,
"ReceiptResult": "deliver",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com"
}
]
}

3. open (Open Event)​

Event Type: open
Description: Email opened event, includes browser and operating system information

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "open"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "open"✅
ReceiptCodeReceipt status code✅
ReceiptDescReceipt description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerNameBrowser name✅
ExplorerVerBrowser version✅
OSNameOperating system name✅
OSVerOperating system version✅
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "open",
"ReceiptTime": 1234567890000,
"ReceiptResult": "open",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com",
"ExplorerName": "Chrome",
"ExplorerVer": "100.0",
"OSName": "Windows",
"OSVer": "10"
}
]
}

4. click (Click Event)​

Event Type: click
Description: Link clicked event in email, includes the clicked URL

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "click"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "click"✅
ReceiptCodeReceipt status code✅
ReceiptDescReceipt description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerNameBrowser name✅
ExplorerVerBrowser version✅
OSNameOperating system name✅
OSVerOperating system version✅
ClickedURLClicked link URL✅

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "click",
"ReceiptTime": 1234567890000,
"ReceiptResult": "click",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com",
"ExplorerName": "Chrome",
"ExplorerVer": "100.0",
"OSName": "Windows",
"OSVer": "10",
"ClickedURL": "https://example.com/link"
}
]
}

5. unsubscribe (Unsubscribe Event)​

Event Type: unsubscribe
Description: User unsubscribe event

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "unsubscribe"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "unsubscribe"✅
ReceiptCodeReceipt status code✅
ReceiptDescReceipt description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerNameBrowser name✅
ExplorerVerBrowser version✅
OSNameOperating system name✅
OSVerOperating system version✅
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "unsubscribe",
"ReceiptTime": 1234567890000,
"ReceiptResult": "unsubscribe",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com",
"ExplorerName": "Chrome",
"ExplorerVer": "100.0",
"OSName": "Windows",
"OSVer": "10"
}
]
}

6. report_spam (Spam Report Event)​

Event Type: report_spam
Description: Email reported as spam event

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "report_spam"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "report_spam"✅
ReceiptCodeReceipt status code✅
ReceiptDescReceipt description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerName-❌
ExplorerVer-❌
OSName-❌
OSVer-❌
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "report_spam",
"ReceiptTime": 1234567890000,
"ReceiptResult": "report_spam",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com"
}
]
}

7. bounce (Bounce Event)​

Event Type: bounce
Description: Bounce event, including emails that could not be delivered, usually due to a permanent issue with the recipient's mailbox or an invalid address.

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "bounce"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, format: "bounce", e.g.: "bounce"✅
ReceiptCodeReceipt status code (may include sub-status code)✅
ReceiptDescBounce sub-category description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerName-❌
ExplorerVer-❌
OSName-❌
OSVer-❌
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "bounce",
"ReceiptTime": 1778222019000,
"ReceiptResult": "bounce",
"ReceiptCode": "us_bounce_101",
"ReceiptDesc": "Recipient's address does not exist or has moved",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com"
}
]
}

8. temporary_issue (Temporary Issue Event)​

Event Type: temporary_issue
Description: Soft bounce event, including emails that failed due to transient reasons, such as rate-limiting or server-side congestion.

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "soft_bounce"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, format: "softbounce{SubStat}", e.g.: "soft_bounce_409"✅
ReceiptCodeReceipt status code (may include sub-status code)✅
ReceiptDescSoft bounce sub-category description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerName-❌
ExplorerVer-❌
OSName-❌
OSVer-❌
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "soft_bounce",
"ReceiptTime": 1234567890000,
"ReceiptResult": "soft_bounce_409",
"ReceiptCode": "409",
"ReceiptDesc": "Soft bounce sub-category description",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com"
}
]
}

9. blocked (Blocked Event)​

Event Type: blocked
Description: Blocked event, including emails that were rejected due to domain reputation, security policies, or ISP restrictions.

Final Push Fields​

FieldDescriptionPushed
SessionNoBatch ID✅
MsgIdEmail unique ID✅
EventEvent type, fixed value: "blocked"✅
ReceiptTimeEvent timestamp✅
ReceiptResultReceipt status, fixed value: "blocked"✅
ReceiptCodeReceipt status code✅
ReceiptDescBlock reason description✅
RecipientEmailRecipient email address✅
DomainSender domain✅
ExplorerName-❌
ExplorerVer-❌
OSName-❌
OSVer-❌
ClickedURL-❌

Final Push JSON Example​

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "blocked",
"ReceiptTime": 1234567890000,
"ReceiptResult": "blocked",
"ReceiptCode": "us_block_105",
"ReceiptDesc": "The recipient address is on the suppression list",
"RecipientEmail": "user@example.com",
"Domain": "sender.domain.com"
}
]
}

💡 Field Push Rules Summary​

Fieldrequestdeliveropenclickunsubscribereport_spambouncetemporary_issueblocked
SessionNo✅✅✅✅✅✅✅✅✅
MsgId✅✅✅✅✅✅✅✅✅
Event✅✅✅✅✅✅✅✅✅
ReceiptTime✅✅✅✅✅✅✅✅✅
ReceiptResult✅✅✅✅✅✅✅✅✅
ReceiptCode✅✅✅✅✅✅✅✅✅
ReceiptDesc✅✅✅✅✅✅✅✅✅
RecipientEmail✅✅✅✅✅✅✅✅✅
Domain✅✅✅✅✅✅✅✅✅
ExplorerName❌❌✅✅✅❌❌❌❌
ExplorerVer❌❌✅✅✅❌❌❌❌
OSName❌❌✅✅✅❌❌❌❌
OSVer❌❌✅✅✅❌❌❌❌
ClickedURL❌❌❌✅❌❌❌❌❌

Legend:

  • ✅ Indicates the field will be pushed (field will appear in JSON)
  • ❌ Indicates the field will not be pushed (field value is empty string, will not appear in JSON)

💡 Push Mechanism​

Push Configuration​

  • Push Method: HTTP POST
  • Content-Type: application/json
  • Retry Mechanism: Each callback address will retry up to 3 times
  • Batch Push: Supports batch push of multiple messages
  • Timeout: default 30 seconds

Response Format​

The client needs to return a JSON response in the following format:

{
"code": 0,
"message": "success"
}
  • code = 0 indicates success
  • code != 0 indicates failure, will trigger retry mechanism