Skip to main content
Event triggered when a new sale is tracked.

Response body parameters

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
id
string
The event ID.
event
string
The event type that triggered the webhook (e.g., sale.created).
createdAt
string
ISO 8601 timestamp when the webhook event was created.
data
object
Event-specific data containing detailed information about the event. The data object for the sale.created event contains the following parameters:
{
  "id": "evt_WHjyHhqsfYOrlJOOVJSoHXysD",
  "event": "sale.created",
  "createdAt": "2024-08-30T09:57:51.245Z",
  "data": {
    "eventName": "Purchased",
    "customer": {
      "id": "cm0gjdvr20001dkbha2n9gt2b",
      "name": "John",
      "email": "john@example.com",
      "avatar": "https://example.com/john.jpeg"
    },
    "click": {
      "id": "d0UtZqE0BZuBPrJS",
      "url": "https://github.com/dubinc/dub",
      "ip": "63.141.57.109",
      "continent": "NA",
      "country": "US",
      "city": "San Francisco",
      "device": "Desktop",
      "browser": "Chrome",
      "os": "Mac OS",
      "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
      "bot": false,
      "qr": false,
      "referer": "(direct)"
    },
    "link": {
      "id": "cm0faqkyn0001txvfwjfeq7gl",
      "domain": "dub.sh",
      "key": "79ys3WA",
      "externalId": null,
      "url": "https://github.com/dubinc/dub",
      "trackConversion": true,
      "archived": false,
      "expiresAt": null,
      "expiredUrl": null,
      "password": null,
      "proxy": false,
      "title": null,
      "description": null,
      "image": null,
      "video": null,
      "rewrite": false,
      "doIndex": false,
      "ios": null,
      "android": null,
      "geo": null,
      "publicStats": false,
      "comments": null,
      "shortLink": "https://dub.sh/79ys3WA",
      "qrCode": "https://api.dub.co/qr?url=https://dub.sh/79ys3WA?qr=1",
      "utm_source": null,
      "utm_medium": null,
      "utm_campaign": null,
      "utm_term": null,
      "utm_content": null,
      "userId": "cm022rkcw0000ikt14mscg9sg",
      "workspaceId": "ws_cm022sis60003ikt1syy7kfhl",
      "clicks": 10,
      "lastClicked": "2024-08-30T07:45:09.000Z",
      "leads": 5,
      "sales": 1,
      "saleAmount": 20000,
      "createdAt": "2024-08-29T13:03:59.098Z",
      "updatedAt": "2024-08-30T09:57:50.891Z",
      "testCompletedAt": null,
      "testStartedAt": null
    },
    "partner": {
      "id": "pn_1JRB6678XHGBZE95R5PH5QVGS",
      "name": "Sarah Johnson",
      "email": "sarah@partner.com",
      "image": "https://example.com/sarah-avatar.jpg",
      "payoutsEnabledAt": null,
      "country": "US",
      "groupId": "grp_1K6K3HD0QE7XTX5HSVR77AK5B",
      "totalClicks": 200,
      "totalLeads": 30,
      "totalConversions": 20,
      "totalSales": 15,
      "totalSaleAmount": 75000,
      "totalCommissions": 7500
    },
    "sale": {
      "amount": 4500,
      "currency": "usd",
      "paymentProcessor": "stripe",
      "invoiceId": null
    },
    "metadata": null
  }
}