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 Setting: Configurable request 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