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
ClientIp-
RecipientEmail-
ExplorerName-
ExplorerVer-
OSName-
OSVer-
ClickedURL-

Final Push JSON Example

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "request",
"ReceiptTime": 1234567890,
"ReceiptResult": "request",
"ReceiptCode": "0",
"ReceiptDesc": "Message content"
}
]
}

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
ClientIpOutbound IP address
RecipientEmailRecipient email address
ExplorerName-
ExplorerVer-
OSName-
OSVer-
ClickedURL-

Final Push JSON Example

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "deliver",
"ReceiptTime": 1234567890,
"ReceiptResult": "deliver",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"ClientIp": "192.168.1.1",
"RecipientEmail": "user@example.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
ClientIpIP address where email was opened
RecipientEmailRecipient email address
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": 1234567890,
"ReceiptResult": "open",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"ClientIp": "192.168.1.1",
"RecipientEmail": "user@example.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
ClientIpIP address where link was clicked
RecipientEmailRecipient email address
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": 1234567890,
"ReceiptResult": "click",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"ClientIp": "192.168.1.1",
"RecipientEmail": "user@example.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
ClientIpIP address
RecipientEmailRecipient email address
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": 1234567890,
"ReceiptResult": "unsubscribe",
"ReceiptCode": "0",
"ReceiptDesc": "Message content",
"ClientIp": "192.168.1.1",
"RecipientEmail": "user@example.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
ClientIp-
RecipientEmailRecipient email address
ExplorerName-
ExplorerVer-
OSName-
OSVer-
ClickedURL-

Final Push JSON Example

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

7. invalid (Invalid Email Event)

Event Type: invalid
Description: Invalid email event, failure event, includes sub-status code

Final Push Fields

FieldDescriptionPushed
SessionNoBatch ID
MsgIdEmail unique ID
EventEvent type, fixed value: "invalid"
ReceiptTimeEvent timestamp
ReceiptResultReceipt status, format: "invalid_{SubStat}", e.g.: "invalid_405"
ReceiptCodeReceipt status code (may include sub-status code)
ReceiptDescInvalid sub-category description
ClientIpOutbound IP address
RecipientEmailRecipient email address
ExplorerName-
ExplorerVer-
OSName-
OSVer-
ClickedURL-

Final Push JSON Example

{
"MsgType": 2,
"Data": [
{
"SessionNo": "task_123",
"MsgId": "email_id_1",
"Event": "invalid",
"ReceiptTime": 1234567890,
"ReceiptResult": "invalid_405",
"ReceiptCode": "405",
"ReceiptDesc": "Invalid sub-category description",
"ClientIp": "192.168.1.1",
"RecipientEmail": "user@example.com"
}
]
}

8. soft_bounce (Soft Bounce Event)

Event Type: soft_bounce
Description: Soft bounce event, failure event, includes sub-status code

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
ClientIpOutbound IP address
RecipientEmailRecipient email address
ExplorerName-
ExplorerVer-
OSName-
OSVer-
ClickedURL-

Final Push JSON Example

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

Field Push Rules Summary

Fieldrequestdeliveropenclickunsubscribereport_spaminvalidsoft_bounce
SessionNo
MsgId
Event
ReceiptTime
ReceiptResult
ReceiptCode
ReceiptDesc
ClientIp
RecipientEmail
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