跳到主要内容

分析:一种视图

分析就是读取用户状态。漏斗、留存和群组都是对引擎其余部分所作用的同一实时投影的查询。

At a glance

Host
https://eu.api.prodantix.com
Ingest
POST /v1/events, /v1/identify, /v1/group
Batch size
1 to 1000 events per batch
Answers
202 Accepted: accepted for processing, not yet stored
Auth
projectKey as a bearer token
  • 漏斗和留存在实时状态上计算,而非每夜数仓汇总
  • 群组定义一次,并随事件到达保持最新
  • 无需 SQL 往返,状态已为问题成形

工作原理

Events land on the EU ingestion host, are buffered through Redpanda and written to ClickHouse. Queries read from ClickHouse, so a funnel over thirty days answers in the same shape whether it spans a thousand events or a billion.

Ingestion answers 202. That is acceptance for processing, not proof of storage, a malformed event is still dropped further down the pipeline.

如何访问

SurfaceOperation
RESTPOST /v1/events · POST /v1/identify · POST /v1/group
GraphQLanalytics query · events query · dashboards, cohorts
MCPprodantix.analytics.runQuery

示例

curl -X POST "https://eu.api.prodantix.com/v1/events" \
  -H "Authorization: Bearer $PRODANTIX_KEY" \
  -H "Content-Type: application/json" \
  -d '{"batch":[{"distinct_id":"u_8f3a","name":"order.completed","properties":{"amount":4200}}]}'

Querying a funnel

GraphQL
query Funnel($projectId: String!) {
  analytics {
    funnel(
      projectId: $projectId
      steps: ["signup.started", "signup.completed", "order.completed"]
      window: "P30D"
    ) {
      step
      users
      conversion
    }
  }
}