Assist

如何搜索特定项目的所有实时会话。

Assist

返回特定项目的实时会话列表。可选择通过查询参数按 userId 进行筛选。

服务端应用的默认值:sort = timestamporder = desclimit = 10page = 1

GET

/public/:projectKey/assist/sessions

NameTypeDescription
projectKeystring项目密钥(必填)
userIdstring可选的 tracker.setUserID 值(URL 查询参数)

Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}

curl -X GET \
  '{BASE_URL}/public/aYYaFHiagqdXKEmVlmvJ/assist/sessions?userId=mickael@openreplay.com' \
  -H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
{
  "data": {
    "total": 1,
    "sessions": [
      {
        "pageTitle": "OpenReplay Blog",
        "sessionID": "6975518573799938",
        "metadata": {},
        "userID": "mickael@openreplay.com",
        "userUUID": "8998545b-553c-4f41-a39d-d7cba7fac2d1",
        "projectKey": "aYYaFHiagqdXKEmVlmvJ",
        "timestamp": 1656437966459,
        "trackerVersion": "3.5.11",
        "userOs": "Mac OS",
        "userBrowser": "Chrome",
        "userBrowserVersion": "103.0.0.0",
        "userDeviceType": "desktop",
        "userCountry": "FR",
        "live": true,
        "projectId": 3
      }
    ],
    "live": true
  }
}

使用 JSON 请求体搜索特定项目的实时会话列表。

省略时服务端应用的默认值:sort = timestamporder = desclimit = 10page = 1

POST

/public/:projectKey/assist/sessions

NameTypeDescription
projectKeystring项目密钥(必填)
NameTypeDescription
sortstring排序属性(默认值:timestamp
orderstringascdesc(默认值:desc
pageinteger用于分页的页码(默认值:1
limitinteger每页的会话数量(默认值:10
filtersarray of filter筛选器列表(默认值:[]

筛选器对象:

NameTypeDescription
namestring筛选属性(必填,例如 userId)。当配合下方的 source 使用时请填 METADATA
operatorstringcontainsis(默认值:contains
valuestring[]值列表(默认值:[]
sourcestringname = METADATA 时的元数据属性名称(默认值:""

如果 value = [],搜索将匹配设置了给定属性(任意值)的实时会话。

Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}

以下示例搜索前 10 个实时会话(按 timestamp 降序排列),其中 userId 包含 openreplaymetadata.plantrialfree

curl -X POST \
  {BASE_URL}/public/aYYaFHiagqdXKEmVlmvJ/assist/sessions \
  -H 'content-type: application/json' \
  -H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}' \
  --data-raw '{
    "filters": [
      { "value": ["trial", "free"], "name": "METADATA", "source": "plan", "operator": "is" },
      { "value": ["openreplay"], "name": "userId", "operator": "contains" }
    ],
    "sort": "timestamp",
    "order": "desc",
    "limit": 10,
    "page": 1
  }'
{
  "data": {
    "total": 1,
    "sessions": [
      {
        "pageTitle": "OpenReplay Blog",
        "sessionID": "6975518573799185",
        "metadata": { "plan": "trial" },
        "userID": "dev@openreplay.com",
        "userUUID": "8998545b-553c-4f41-a39d-d7cba7fac2d1",
        "projectKey": "aYYaFHiagqdXKEmVlmvJ",
        "timestamp": 1656437966459,
        "trackerVersion": "3.5.11",
        "userOs": "Mac OS",
        "userBrowser": "Chrome",
        "userBrowserVersion": "103.0.0.0",
        "userDeviceType": "desktop",
        "userCountry": "FR",
        "live": true,
        "projectId": 3
      }
    ],
    "live": true
  }
}