# 路径分析模型 API
调用方法请参见Open API文档中的调用方法描述。
可阅读使用手册中 路径分析 了解使用场景。
# 路径分析查询
接口URL
/open/path-analyze?token=xxx
请求方式
POST
Content-Type
application/json
请求Query参数
| 参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 | 
|---|---|---|---|---|
| token | xxx | String | 是 | 查询密钥 | 
# 请求Body参数
{
  "eventView": {
    "col_limit": 10,
    "from_date": "2021-10-01 00:00:00",
    "recent_day": "",
    "session_interval": 30,
    "session_type": "minute",
    "to_date": "2021-10-02 23:59:59"
  },
  "events": {
    "by_fields": [
      {
        "event_name": "login",
        "field": "browser",
        "range": "",
        "table_type": "event"
      }],
    "event_names": [
      "logout",
      "login"],
    "source_event": {
      "event_name": "login",
      "filter": {
        "filterType": "COMPOUND"
      }
    },
    "source_type": "initial_event",
    "user_filter": {
      "filterType": "COMPOUND",
      "filts": [
        {
          "columnDesc": "城市",
          "columnName": "city",
          "comparator": "equal",
          "filterType": "SIMPLE",
          "ftv": [
            "北京市",
            "上海市",
            "广州市",
            "深圳市"],
          "specifiedClusterDate": "2022-01-24",
          "tableType": "user"
        }],
      "relation": "and"
    }
  },
  "projectId": 377,
  "timeoutSeconds": 10, 
  "useCache": true,
  "zoneOffset": 10
}
# 请求参数说明
| $$参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 | 
|---|---|---|---|---|
| eventView | - | Object | 是 | 分组属性 | 
| eventView.col_limit | 10 | Integer | 是 | 列限制,0到20之间 | 
| eventView.from_date | 2021-10-01 00:00:00 | String | 否 | 开始时间 yyyy-MM-dd HH:mm:ss | 
| eventView.recent_day | String | 否 | 相对时间 | |
| eventView.session_interval | 30 | Integer | 是 | 会话间隔时长 | 
| eventView.session_type | minute | String | 是 | 会话间隔时长单位: second, minute, hour | 
| eventView.to_date | 2021-10-02 23:59:59 | String | 否 | 结束时间 yyyy-MM-dd HH:mm:ss | 
| events | - | List | 是 | 事件指标列表 | 
| events.by_fields | - | List | List | 按事件属性拆分 | 
| events.by_fields.event_name | login | String | 是 | 事件名 | 
| events.by_fields.field | browser | String | 是 | 拆分字段 | 
| events.by_fields.range_type | - | String | 否 | 
区间间隔类型
  | 
| events.by_fields.range | - | String | 否 | 区间 | 
| events.by_fields.table_type | event | String | 是 | 表类型,event:事件表,user:用户表 | 
| events.event_names | ["logout","login"] | String | 是 | 事件名称,特别的,可以使用 anyEvent 表示任意事件 | 
| events.source_event | - | Object | 是 | 源事件 | 
| events.source_event.event_name | login | String | 是 | 事件名 | 
| events.source_event.filter | - | Object | 否 | 源事件过滤 | 
| events.source_event.filter.filterType | COMPOUND | String | 否 | 过滤模式,SIMPLE:简单,COMPOUND:复合 | 
| events.source_type | initial_event | String | 是 | 事件类型,initial_event,termination_event | 
| events.user_filter | - | Object | 否 | 用户表过滤 | 
| events.user_filter.filterType | COMPOUND | String | 否 | 过滤模式,SIMPLE:简单,COMPOUND:复合 | 
| events.user_filter.filts | - | List | 否 | 条件列表列表 | 
| events.user_filter.filts.columnDesc | app_version | String | 否 | 字段显示名 | 
| events.user_filter.filts.columnName | app_version | String | 是 | 字段名称 | 
| events.user_filter.filts.comparator | equal | String | 是 | 参考: 模型查询API的筛选表达式 | 
| events.user_filter.filts.filterType | SIMPLE | String | 否 | 过滤模式,SIMPLE:简单,COMPOUND:复合 | 
| events.user_filter.filts.ftv | ["V1.0"] | List | 否 | 用于属性比较边界的字面常量 | 
| events.user_filter.filts.specifiedClusterDate | 2022-01-26 | String | 否 | 指定对应日期的标签历史版本 | 
| events.user_filter.filts.tableType | event | String | 是 | 表类型,event:事件表,user:用户表 | 
| events.user_filter.relation | and | String | 否 | 逻辑关系,and:逻辑与,or:逻辑或 | 
| projectId | 377 | Integer | 是 | 项目ID | 
| timeoutSeconds | 10 | Integer | 否 | 请求超时参数,超时则取消查询任务 | 
| useCache | true | Boolean | 否 | 使用缓存,可选参数,默认为true | 
| zoneOffset | 10 | Integer | 否 | 时区 | 
# 成功响应示例
{
  "data": {
    "event_name_desc_map": {
      "anyEvent": "任意事件",
      "login": "登录",
      "logout": "用户登出"
    },
    "links": [
      [
        {
          "source": "0_Chrome^_^login",
          "target": "1_logout",
          "times": 1716
        },
        {
          "source": "0_Safari^_^login",
          "target": "1_logout",
          "times": 765
        },
        {
          "source": "0_Firefox^_^login",
          "target": "1_logout",
          "times": 582
        },
        {
          "source": "0_微信内置浏览器^_^login",
          "target": "1_logout",
          "times": 403
        },
        {
          "is_wastage": true,
          "source": "0_Chrome^_^login",
          "target": "1_wastage",
          "times": 380
        },
        {
          "is_wastage": true,
          "source": "0_Safari^_^login",
          "target": "1_wastage",
          "times": 195
        },
        {
          "is_wastage": true,
          "source": "0_Firefox^_^login",
          "target": "1_wastage",
          "times": 148
        },
        {
          "is_wastage": true,
          "source": "0_微信内置浏览器^_^login",
          "target": "1_wastage",
          "times": 89
        }
      ]
    ],
    "nodes": [
      [
        {
          "by_value": "Chrome",
          "event_name": "login",
          "id": "0_Chrome^_^login",
          "times": 2096
        },
        {
          "by_value": "Safari",
          "event_name": "login",
          "id": "0_Safari^_^login",
          "times": 960
        },
        {
          "by_value": "Firefox",
          "event_name": "login",
          "id": "0_Firefox^_^login",
          "times": 730
        },
        {
          "by_value": "微信内置浏览器",
          "event_name": "login",
          "id": "0_微信内置浏览器^_^login",
          "times": 492
        }
      ],
      [
        {
          "event_name": "logout",
          "id": "1_logout",
          "times": 3466
        }
      ]
    ],
    "result_generate_time": "2022-01-27 13:44:38"
  },
  "return_code": 0,
  "return_message": "success"
}
# 响应参数说明
| $$参数名 | 示例值 | 参数类型 | 参数描述 | 
|---|---|---|---|
| return_code | 0 | Integer | 返回码 | 
| return_message | success | String | 返回信息 | 
| data | - | Object | 返回数据 | 
| data.event_name_desc_map | - | Map | 事件名和事件描述映射 | 
| data.links | - | 
List |  关系矩阵 | 
| data.links.source | 0_Chrome^_^login | String | 关系开始节点 | 
| data.links.target | 1_level_up | String | 关系结束节点 | 
| data.links.times | 5106 | Integer | 次数 | 
| data.nodes | - | 
List |  节点矩阵 | 
| data.nodes.id | 0_Chrome^_^login | String | 节点ID | 
| data.nodes.event_name | login | String | 节点事件名 | 
| data.nodes.by_value | Chrome | String | 节点值 | 
| data.nodes.times | 30301 | Integer | 次数 | 
| data.result_generate_time | 2022-01-24 18:53:26 | String | 查询结果生成时间 | 
错误响应示例
{
    "return_code": -1008,
    "return_message": "参数(token)为空"
}
| 参数名 | 示例值 | 参数类型 | 参数描述 | 
|---|---|---|---|
| return_code | -1008 | Integer | 返回码 | 
| return_message | 参数(token)为空 | String | 返回信息 | 
# 路径分析用户列表
接口URL
/open/path-user-list?token=xxx
请求方式
POST
Content-Type
application/json
请求Query参数
| 参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 | 
|---|---|---|---|---|
| token | xxx | String | 是 | 查询密钥 | 
# 请求Body参数
{
  "projectId": 0,
  "eventView": {
    "col_limit": 10,
    "from_date": "2019-11-20 00:00:00",
    "to_date": "2019-11-26 00:00:00",
    "recent_day": "1-7",
    "session_interval": 22,
    "session_type": "minute"
  },
  "events": {
    "event_names": [
      "obtain_item",
      "consume_item",
      "obtain_coin"
    ],
    "source_event": {
      "event_name": "consume_item",
      "filter": {
        "filts": [
          {
            "columnName": "#os",
            "comparator": "equal",
            "ftv": [
              "ios"
            ],
            "tableType": "event"
          }
        ],
        "relation": "and"
      }
    },
    "source_type": "initial_event",
    "user_filter": {
      "filts": [
        {
          "columnName": "user_level",
          "comparator": "equal",
          "ftv": [
            "6"
          ],
          "tableType": "user"
        }
      ],
      "relation": "and"
    }
  },
  "next_slice_event_by_values": [
    {
      "slice_event_name": "obtain_coin"
    }
  ],
  "session_level": 2,
  "slice_type": "with_next_specific",
  "slice_event_by_values": [
    {
      "slice_event_name": "obtain_item"
    }
  ],
  "timeoutSeconds": 10,
  "zoneOffset": 10
}
# 请求参数说明
| $$参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 | 
|---|---|---|---|---|
| projectId | 0 | String | 是 | 参数描述 | 
| eventView | - | Object | 是 | 分组属性表 | 
| events | List | 是 | 事件指标列表 | |
| next_slice_event_by_values | - | List | 否 | 节点的后续事件 slice_type=with_next_specific时必填 | 
| next_slice_event_by_values.slice_event_name | obtain_coin | String | 否 | 事件名称 | 
| session_level | 2 | Integer | 是 | 节点所处的路径层级(从0开始计数) | 
| slice_type | with_next_specific | String | 是 | 
节点的后续事件情况
  | 
| slice_event_by_values | - | List | 否 | 节点事件 | 
| slice_event_by_values.slice_event_name | obtain_item | String | 否 | 事件名称 | 
| timeoutSeconds | 10 | Integer | 否 | 请求超时参数,超时则取消查询任务 | 
| zoneOffset | 10 | Integer | 否 | 时区 | 
# 成功响应示例
{
  "data": {
    "datalist": [
      {
        "#account_id": "j77444535",
        "#distinct_id": "j143825535",
        "user_level": 6,
        "register_time": "2019-11-22 17:07:12",
        "diamond_num": 1270,
        "latest_login_time": "2019-11-22 18:23:19",
        "channel": "app store",
        "#user_id": 33190535
      }
    ],
    "total_num": 1,
    "columMeta": {
      "#account_id": "账户ID",
      "#distinct_id": "访客ID",
      "user_level": "用户等级",
      "register_time": "注册时间",
      "diamond_num": "当前拥有钻石数",
      "first_recharge_time": "首次充值时间",
      "latest_login_time": "最后登录时间",
      "channel": "渠道"
    }
  },
  "return_code": 0,
  "return_message": "success"
}
# 响应参数说明
| $$参数名 | 示例值 | 参数类型 | 参数描述 | 
|---|---|---|---|
| return_code | 0 | Integer | 返回码 | 
| return_message | success | String | 返回信息 | 
| data | - | Object | 返回结果 | 
| data.datalist | - | List | 用户信息 | 
| data.columMeta | - | Map | 字段含义映射 | 
错误响应示例
{
    "return_code": -1008,
    "return_message": "参数(token)为空"
}
| 参数名 | 示例值 | 参数类型 | 参数描述 | 
|---|---|---|---|
| return_code | -1008 | Integer | 返回码 | 
| return_message | 参数(token)为空 | String | 返回信息 | 
← 分布分析模型 API 间隔分析模型 API →
