For the complete documentation index, see llms.txt. This page is also available as Markdown.
BetaEssentials EditionPro EditionEnterprise Edition

Enable Event Notification Postbacks for Brands

Event notification postbacks (webhooks) notify your internal systems in real-time when specific events occur. While the data sent varies by event, the configuration process is the same for all.

1

Access event notification postbacks

  1. From the top navigation bar, select [User profile] → Settings.

  2. Under the Technical section, select Event Notifications.

2

Complete global configuration fields

  1. Hover over the event for which you want to configure a notification postback and select [Edit].

  2. Use the table below to configure the delivery settings:

Field
Description

URL

The endpoint on your server that will receive the data.

HTTP Method

GET: Data is appended to the URL as query strings.

POST: Data is sent in the request body, which includes various optional parameters you can set. Refer to Notification events and payloads for more information on each event and the payload content.

HTTP Header

(Optional) Add custom headers for authentication (e.g., Authorization: Bearer token).

Minimum Delay

Set Minimum Delay in seconds to protect your server from traffic spikes.

Maximum Requests

Set Maximum Requests per second to protect your server from traffic spikes.

Success Response

The specific text string or HTTP status code your server returns when a postback is handled correctly.

Error Response

The text string or status code that indicates a failure (e.g., ERROR or 500).

Notification events & payloads

Each event notification sends a unique set of configurable data points (e.g., {ActionId}). Refer to the events below to learn what data points you can extract from the payloads.

Action Lifecycle Events

Action Lifecycle Events will issue an HTTP request to a specified URL (and any included parameters) when an action is tracked, modified, or reversed.

// A POST example in JSON format
{
  "CampaignId": 9876, // Program ID
  "ActionTrackerId": 12345, // Event Type ID
  "MediaPartnerId": 555, // Partner ID
  "CampaignName": "Spring Global Promotion", // Program Name
  "ActionTrackerName": "Standard Sale Tracker", // Event Type Name
  "MediaPartnerName": "Top Tier Affiliates", // Partner Name
  "ActionId": "ACT-778899", // Action ID
  "Status": "MODIFIED", // Action Status
  "StatusDetail": "Item return - payout adjusted", // More details about the action status
  "AdId": 44332, // Ad ID
  "Payout": 10.50, // Action payout to the Partner, in the partner's currency
  "DeltaPayout": -5.00, // The change of the Payout Amount
  "IntendedPayout": 15.50, // The intended Payout Amount for an overlimit action
  "Amount": 100.00, // Action amount, in the account's currency
  "DeltaAmount": -50.00, // Corrected Amount from previous action
  "IntendedAmount": 150.00, // The intended Sale Amount for an overlimit action
  "Currency": "USD", // Currency for the action
  "OriginalCurrency": "USD", // Original (i.e. cart) currency for the action
  "OriginalAmount": 100.00, // Original (i.e. cart) amount for the action
  // "items" collection: Data for individual items in this action
  "items": [{join(items, i, 
  "\{\"sku\":\"{i.sku}\",
  \"item_price\":{i.amt},
  \"category\":\"{i.cat}\",
  \"quantity\":{i.qty},
  \"cartamt\":{i.cartamt},
  \"rbt\":\"{i.rbt}\",
  \"name\":\"{i.name}\"\}")}],
  "EventDate": "2026-04-08T09:00:00Z", // Date of conversion
  "CreationDate": "2026-04-08T09:05:00Z", // Date created in system
  "LockingDate": "2026-05-08T00:00:00Z", // Date action will be locked
  "ClearedDate": "2026-05-15T00:00:00Z", // Date scheduled to clear
  "ReferringDomain": "blog.partner.com", // Domain of referral
  "LandingPageUrl": "https://brand.com/sale", // URL of landing page
  "RefCustomerArea": "California", // Customer Area (IP derived)
  "RefCustomerCity": "San Francisco", // Customer City (IP derived)
  "RefCustomerRegion": "CA", // Customer Region (IP derived)
  "RefCustomerCountry": "US", // Customer Country Code (IP derived)
  "RefClickId": "CLK9988776655", // Unique click identifier
  "SharedId": "social_post_01", // Partner shared ID
  "PromoCode": "SAVE20", // General promo code
  "CustomerStatus": "EXISTING", // Customer status
  "Oid": "ORD-554433", // Order ID
  "Note": "Partial return processed", // Note supplied with action
  "CustomerPostCode": "94105", // Customer Post Code
  "CustomerCity": "San Francisco", // Customer City
  "CustomerCountry": "US", // Customer Country Code
  "CustomerRegion": "CA", // Customer Region
  "CustomerId": "CUST-12345", // Customer ID
  "CustomerEmail": "a665a45920422f9d417...", // Hashed Customer Email
  "IpAddress": "192.168.1.1", // IP Address
  "CallerId": null, // Phone number of the caller
  // Custom Supplemental Fields
  "Text1": "Custom Val 1", // Text 1
  "Date1": "2026-04-08", // Date 1
  "Money1": 10.00, // Money 1
  "Numeric1": 1, // Numeric 1
  // Device & App Metadata
  "appPackage": "com.brand.app", // Mobile app package
  "appName": "BrandStore", // Mobile app name
  "appVersion": "4.2.1", // Mobile app version
  "deviceOs": "iOS", // Device operating system
  "deviceOsVersion": "17.4", // Device OS version
  "deviceManuf": "Apple", // Device manufacturer
  "deviceModel": "iPhone 15", // Device model
  "macAddress": "00:1B:44:11:3A:B7", // MAC Address (Upper)
  "macAddressLower": "00:1b:44:11:3a:b7", // MAC Address (Lower)
  "macAddressAlpha": "001B44113AB7", // MAC Address (No colons)
  "macAddressSha1": "47a32...", // MAC SHA1
  "iosIfa": "EA7583CD-A667-48BC-B806-42ECB2B48606", // iOS Advertising ID
  "iosAdTracking": "1", // iOS Ad Tracking setting
  "androidId": null, // Android ID
  "deviceId": "D-556677", // Device ID
  "deviceIp": "192.168.1.1" // Device IP
}
Action Inquiry Events

Action Inquiry Events will issue an HTTP request to a specified URL (and any included parameters) when action inquiries are created or resolved.

// A POST example in JSON format
{
  "Id": 554433, // Unique identifier of the action inquiry in the system
  "MediaPartnerId": 555, // Partner ID
  "MediaPartnerName": "Top Tier Affiliates", // Partner Name
  "CampaignId": 9876, // Program ID
  "CampaignName": "Spring Global Promotion", // Program Name
  "OrderId": "ORD-12345", // Order ID of the reported action
  "TransactionDate": "2026-04-01T14:30:00Z", // Transaction date of event that triggered action inquiry
  "TransactionAmount": 250.00, // Transaction amount of event that triggered action inquiry
  "InquiryType": "MISSING_ACTION", // Type of action inquiry
  "ExpectedPayout": 25.00, // Payout amount expected by Partner
  "ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // The date by which the inquiry must be accepted or declined
  "TrackingLink": "https://proweb.com/click?cid=1&pid=555", // Tracking link provided by Partner
  "ActionId": "ACT-999000", // Action ID (if associated with an existing action)
  "AutoApprovalDate": "2026-05-05T00:00:00Z", // The date the system will run the automatic approval rules
  "ResolutionStatus": "PENDING", // The final resolution status for the action inquiry
  "RejectReason": null, // Reason why the action inquiry was rejected
  "FinalPayout": 0.00, // The final payout associated with the action inquiry
  "ResolutionDate": null, // The date the inquiry was decided
  "CreationDate": "2026-04-08T10:05:00Z", // Date when the inquiry is created in the system
  "InquiryNotes": "Customer claims they clicked the link but no credit was shown.", // Inquiry notes submitted by the Partner
  "ResolutionNotes": null, // Notes submitted when inquiry was decided
  "Comments": "[{\"user\": \"support_agent\", \"text\": \"Verifying click logs now.\"}, {\"user\": \"partner\", \"text\": \"Customer provided receipt.\"}]" // Comments added to the inquiry (in JSON format)
}
Action Clearing Events

Action Clearing Events will issue an HTTP request to a specified URL (and any included parameters) when actions are cleared.

// A POST example in JSON format
{
  "ActionTrackerId": 12345, // Event Type ID
  "ActionTrackerName": "Standard Sale Tracker", // Event Type Name
  "CampaignId": 9876, // Program ID
  "CampaignName": "Spring Global Promotion", // Program Name
  "MediaPartnerId": 555, // Partner ID
  "MediaPartnerName": "Top Tier Affiliates", // Partner Name
  "OrderIds": "ORD-9921,ORD-9922", // Order IDs of the reported actions (comma separated)
  "ActionIds": "ACT-101,ACT-102", // Action IDs (comma separated)
  "ClearedDate": "2026-04-15T12:00:00Z", // Date (ISO 8601) when the action is scheduled to clear
  "LedgerDate": "2026-04-08T09:54:43Z" // Date (ISO 8601) when the action was cleared
}
Tracking Value Request Events

Tracking Value Request Events will issue an HTTP request to a specified URL (and any included parameters) when tracking requests are created.

// A POST example in JSON format
{
  "CampaignId": 9876, // Program ID
  "ActionTrackerId": 12345, // Event Type ID
  "MediaPartnerId": 555, // Partner ID
  "ActionId": "ACT-778899", // Action ID
  "Amount": 150.00, // Action amount in account's currency
  "Currency": "USD", // Currency for the action
  "Oid": "ORD-554433", // Order ID
  // "items" collection: Breakdown of individual products in the action
  "items": [{join(items, i, "\{\"sku\":\"{i.sku}\",\"item_price\":{i.amt},\"category\":\"{i.cat}\",\"quantity\":{i.qty},\"cartamt\":{i.cartamt},\"rbt\":\"{i.rbt}\",\"name\":\"{i.name}\"\}")}],
  "EventDate": "2026-04-08T09:00:00Z", // Conversion date
  "IpAddress": "192.168.1.1", // IP Address of the device
  "RefClickId": "CLK9988776655" // Unique click identifier
}
Completed Job Events

Completed Job Events will issue an HTTP request to a specified URL (and any additional parameters) when a job has been completed for a Report Export or Click Export.

Publisher Application Events

Publisher Application Events will issue an HTTP request to a specified URL when a partner submits an application and each time the application is approved, rejected, or retracted.

If a PENDING payload is delivered with empty data points, the system is designed to trigger updates as information becomes available. Subsequent successful deliveries will populate those previously empty fields, ensuring your records stay synchronized with the latest processed information.

The payload contents vary by Status. The example below shows a PENDING event, with comments indicating which fields appear for other statuses.

Postback retry mechanism

If a postback fails when attempting to post to the destination URL, the delivery automatically retries based on a set schedule up to 15 times. Retries help account for temporary network issues or server unavailability.

Conditions where retries will not occur

A postback won't retry in the following cases:

  • The destination URL is malformed or invalid.

  • The destination URL or its host does not resolve, for example, because of a DNS lookup failure.

Retry schedule

The retry attempts follow the schedule below. Retry 1, 2, and 3 are skipped if the HTTP response code is in the range of 400 to 500.

Retry schedule reference
Retry Attempt
Delay Before Retry

Retry 1

+15 seconds

Retry 2

+15 seconds

Retry 3

+15 seconds

Retry 4

+3 minutes

Retry 5

+3 minutes

Retry 6

+15 minutes

Retry 7

+15 minutes

Retry 8

+15 minutes

Retry 9

+2 hours

Retry 10

+2 hours

Retry 11

+2 hours

Retry 12

+6 hours

Retry 13

+6 hours

Retry 14

+6 hours

Retry 15

+6 hours

Last updated

Was this helpful?