# 事件分析

# 1.接口地址

https://data.muchcloud.com/analysis/extranet/event/segment

备注

使用该接口前需先进行验签配置 请求头要跟包名, App-Origin: ${包名}

验签规则

使用 URI+横杠+时间戳+横杠+秘钥 组成加密字符串,并进行md5加密并转大写,将结果值封装到请求参数sign里面, 时间戳封装到请求参数timestamp里面

加密字符串: "/analysis/extranet/event/segment-${timestamp}-${secretKey}"

例如: /analysis/extranet/event/segment-1638261209-911615c79cb84fa5ac6e03390810c860

# 2.请求参数示例

接口请求参数,更多参数说明参照 查询API 中的 通用参数 说明 。




    // 【必填】指标 可以输入多个

    "events":[
        //这里的指标是 平台等于JS的任意事件的触发用户数
        {
            //【必填】事件ID
            "targetId":"",
            //【必填】指标类型: 1-事件ID, 2-自定义指标ID 3-虚拟事件ID
            "targetType":1,
            // 【必填】指标别名
            "aliasName":"",
            //  计算维度: unique(触发用户数), general(触发次数), average(人均 触发数)
            "aggregator":"",
            //  计算事件属性
            "aggField":"",
            //  运算符: or, and
            "relation":"",
            //  条件组
            "conditions":[
                    {   
                        // 【必填】属性名
                        "fieldName":"",
                        // 【必填】运算符
                        "operator":"",
                        // 
                        "values":[
                            
                        ]
                    }
                ],
            }
        }
    ],
    // 【必填】日期过滤参数
    "dayFilter":{
        // 【必填】开始时间, 格式 YYYY-MM-DD	
        "startDay":"",
        //  开始小时时间: HH:mm:ss
        "startHour":"",
        // 【必填】结束时间, 格式 YYYY-MM-DD	
        "endDay":"",
        // 结束小时时间: HH:mm:ss
        "endHour":"",
        // 时间分组: hour-小时 day-天 week-周 month-月
        "groupBy":"",
        // 比较类型: lastPeriod-环比 lastYear-同比 custom-自定义
        "compareType":"",
        //  比较开始时间, 格式 YYYY-MM-DD
        "compareFromDay":"",
        //  比较结束时间, 格式 YYYY-MM-DD
        "compareEndDay":"",
        //  时间控件类型  dayFilter的value和type是配合使用的,当存在type和value时,以这个自定义参数为主,否则以startDay,endDay为主, 所以两者必须满足其一
        "type":"",
        //  时间控件转化值
        "value":"",
    },
    // 细分维度
    "groupBy":[
    ],
    // 公共条件组
    "conditions":[
        {   
            // 【必填】条件名称
            "fieldName":'',
            // 【必填】运算符
            "operator":'',
            // 【必填】数据值
            "values":[]
        }
    ],
    //【必填】 公共过滤条件且或关系: and-且 or-或
    "relation":""
    // 时间戳
    "timestamp":"{{unix}}"
    // 签名
    "sign":"{{sign}}"

**aggregator:**聚合表达式,根据指标表达式是事件和属性而不同。

事件表达式支持的聚合操作符如下:

unique :触发用户数,触发选定事件的去重用户数,例如加入购物车的触发用户数。 general: 触发次数,触发选定事件的总次数,例如加入购物车的触发次数。 average:人均触发次数,平均每个用户触发选定事件的次数,例如加入购物车的人均触发次数。 属性表达式支持的聚合操作符如下:

REMOVE_DUMPLICATE :表示去重数,支持所有数据类型。

# 3.返回结果示例

    
{    
    //返回状态码
    "code":200,
    //返回信息
    "msg":'',
    //返回数据
    "data":{

        //返回records数据长度
        "size":10,
        // 数据数组
        "records":[
          // 指标别名
          "aliasName":""  
          // 细分维度 {key:value}形式返回 key:属性名  value:埋点数据  
          // 例如:选择的细分维度为厂商(brand)和操作系统os), 则返回 {"brand":"xiaomi", "os":"android"}
          "${propertyCode...}":""
          // 日期 {key:value} 形式返回 key:日期  value:日期当天的值
          // 例如: 在2021年11月1日有数据10,在2021年11月2日有数据20, 则返回 {"2021-11-01":"10", "2021-11-02":"20"} 
          "${date...}":""
        //   合计
        "summary":""
        ]
    }
}

返回参数图片实例

当无细分维度时

0

当有细分维度时

1