会话

有关会话及会话数据的操作。

接口

GET /api/websites/:websiteId/sessions
GET /api/websites/:websiteId/sessions/stats
GET /api/websites/:websiteId/sessions/weekly
GET /api/websites/:websiteId/sessions/:sessionId
GET /api/websites/:websiteId/sessions/:sessionId/activity
GET /api/websites/:websiteId/sessions/:sessionId/properties
GET /api/websites/:websiteId/session-data/properties
GET /api/websites/:websiteId/session-data/values

过滤器

所有标记有 filters 的接口现在均可使用以下参数进行过滤。

参数

  • path: (字符串 | 可选)URL 名称。
  • referrer: (字符串 | 可选)来源页名称。
  • title: (字符串 | 可选)页面标题名称。
  • query: (字符串 | 可选)查询参数名称。
  • browser: (字符串 | 可选)浏览器名称。
  • os: (字符串 | 可选)操作系统名称。
  • device: (字符串 | 可选)设备名称(例如:Mobile)。
  • country: (字符串 | 可选)国家名称。
  • region: (字符串 | 可选)地区/州/省名称。
  • city: (字符串 | 可选)城市名称。
  • hostname: (字符串 | 可选)主机名。
  • tag: (字符串 | 可选)标签名称。
  • distinctId: (字符串 | 可选)唯一标识 ID。
  • segment: (uuid | 可选)分段的 UUID。
  • cohort: (uuid | 可选)群组的 UUID。

GET /api/websites/:websiteId/sessions

获取指定时间范围内的网站会话详情。

参数

  • startAt: (数字)起始日期时间戳(毫秒)。
  • endAt: (数字)结束日期时间戳(毫秒)。
  • search: (字符串 | 可选)搜索文本。
  • page: (数字 | 可选,默认 1)页码。
  • pageSize: (数字 | 可选,默认 20)返回结果数。
  • filters: 可接受过滤参数。

示例响应

{
  "data": [
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "hostname": "umami.is",
      "browser": "chrome",
      "os": "Mac OS",
      "device": "desktop",
      "screen": "1800x1169",
      "language": "en-US",
      "country": "SE",
      "region": "SE-AB",
      "city": "Stockholm",
      "firstAt": "2025-10-21T13:35:51Z",
      "lastAt": "2025-10-21T15:00:09Z",
      "visits": 2,
      "views": 18,
      "createdAt": "2025-10-21T15:00:09Z"
    },
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "hostname": "umami.is",
      "browser": "safari",
      "os": "Mac OS",
      "device": "desktop",
      "screen": "1512x982",
      "language": "en-IN",
      "country": "IN",
      "region": "IN-GJ",
      "city": "Bhavnagar",
      "firstAt": "2025-10-21T14:59:47Z",
      "lastAt": "2025-10-21T14:59:48Z",
      "visits": 1,
      "views": 1,
      "createdAt": "2025-10-21T14:59:48Z"
    }
  ],
  "count": 923,
  "page": 1,
  "pageSize": 20
}

GET /api/websites/:websiteId/sessions/stats

获取汇总的网站会话统计数据。

参数

  • startAt: (数字)起始日期时间戳(毫秒)。
  • endAt: (数字)结束日期时间戳(毫秒)。
  • filters: 可接受过滤参数。

示例响应

{
  "pageviews": {
    "value": 2924
  },
  "visitors": {
    "value": 905
  },
  "visits": {
    "value": 1050
  },
  "countries": {
    "value": 84
  },
  "events": {
    "value": 517
  }
}
  • pageviews:网页访问次数
  • visitors:独立访客数
  • visits:唯一访问次数
  • bounces:只访问单页的访客数(未在示例中展示)
  • totaltime:访问网站的总停留时间(未在示例中展示)

GET /api/websites/:websiteId/sessions/weekly

按周中小时统计会话数。

参数

  • startAt: (数字)起始日期时间戳(毫秒)。
  • endAt: (数字)结束日期时间戳(毫秒)。
  • timezone: 时区(例如 America/Los_Angeles)。
  • filters: 可接受过滤参数。

示例响应

[
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 58, 57, 65, 53, 58, 135],
  [117, 124, 132, 127, 135, 142, 141, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]

GET /api/websites/:websiteId/sessions/:sessionId

获取单个会话详情。

示例响应

{
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "distinctId": "",
  "browser": "chrome",
  "os": "Mac OS",
  "device": "desktop",
  "screen": "1800x1169",
  "language": "en-US",
  "country": "SE",
  "region": "SE-AB",
  "city": "Stockholm",
  "firstAt": "2025-10-21T13:35:51Z",
  "lastAt": "2025-10-21T15:00:09Z",
  "visits": 2,
  "views": 18,
  "events": 12,
  "totaltime": 1609
}

GET /api/websites/:websiteId/sessions/:sessionId/activity

获取单个会话的活动记录。

参数

  • startAt: (数字)起始日期时间戳(毫秒)。
  • endAt: (数字)结束日期时间戳(毫秒)。

示例响应

[
  {
    "createdAt": "2025-10-21T15:00:09Z",
    "urlPath": "/blog",
    "urlQuery": "",
    "referrerDomain": "umami.is",
    "eventId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "eventType": 1,
    "eventName": "",
    "visitId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "hasData": 0
  },
  {
    "createdAt": "2025-10-21T14:56:30Z",
    "urlPath": "/docs",
    "urlQuery": "",
    "referrerDomain": "umami.is",
    "eventId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "eventType": 1,
    "eventName": "",
    "visitId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "hasData": 0
  },
  {
    "createdAt": "2025-10-21T14:56:30Z",
    "urlPath": "/",
    "urlQuery": "",
    "referrerDomain": "umami.is",
    "eventId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "eventType": 1,
    "eventName": "",
    "visitId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "hasData": 0
  }
]

GET /api/websites/:websiteId/sessions/:sessionId/properties

获取单个会话的属性。

示例响应

[
  {
    "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "dataKey": "email",
    "dataType": 1,
    "stringValue": "bob@aol.com",
    "numberValue": null,
    "dateValue": null,
    "createdAt": "2025-10-22T02:28:17Z"
  },
  {
    "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "dataKey": "id",
    "dataType": 1,
    "stringValue": "910bfde0-21dd-4d24-804d-716035e92ddc",
    "numberValue": null,
    "dateValue": null,
    "createdAt": "2025-10-22T02:28:17Z"
  },
  {
    "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "sessionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "dataKey": "name",
    "dataType": 1,
    "stringValue": "Bob Aol",
    "numberValue": null,
    "dateValue": null,
    "createdAt": "2025-10-22T02:28:17Z"
  }
]

GET /api/websites/:websiteId/session-data/properties

按属性名称统计会话数据数量。

参数

  • startAt: (数字)起始日期时间戳(毫秒)。
  • endAt: (数字)结束日期时间戳(毫秒)。
  • filters: 可接受过滤参数。

示例响应

[
  {
    "propertyName": "id",
    "total": 1039
  },
  {
    "propertyName": "region",
    "total": 1039
  },
  {
    "propertyName": "name",
    "total": 1039
  },
  {
    "propertyName": "email",
    "total": 1039
  }
]

GET /api/websites/:websiteId/session-data/values

获取指定属性的会话数据数量。

参数

  • startAt: (数字)起始日期时间戳(毫秒)。
  • endAt: (数字)结束日期时间戳(毫秒)。
  • propertyName: (字符串)属性名称。
  • filters: 可接受过滤参数。

示例响应

[
  {
    "value": "EU",
    "total": 626
  },
  {
    "value": "US",
    "total": 462
  }
]