Analytics API
Το Analytics API παρέχει προγραμματιστική πρόσβαση στις δυνατότητες αναλυτικών στοιχείων προϊόντος, όπως ερωτήματα συμβάντων, funnels, ανάλυση διατήρησης (retention), ανάλυση διαδρομών και cohorts.
Όλα τα endpoints αυτής της σελίδας είναι σχετικά ως προς το βασικό URL: https://api-eu1.joryio.com - δείτε Επισκόπηση API.
Έλεγχος ταυτότητας
Όλα τα endpoints απαιτούν έλεγχο ταυτότητας μέσω κλειδιού API:
Authorization: Bearer YOUR_API_KEY
X-Workspace-Id: YOUR_WORKSPACE_ID
Εξερεύνηση συμβάντων
Λίστα συμβάντων
Λήψη σύνοψης όλων των καταγεγραμμένων συμβάντων.
GET /analytics/events
Παράμετροι query:
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
| startDate | string | Ημερομηνία έναρξης (YYYY-MM-DD) |
| endDate | string | Ημερομηνία λήξης (YYYY-MM-DD) |
| search | string | Φιλτράρισμα βάσει ονόματος συμβάντος |
| limit | number | Μέγιστα αποτελέσματα (προεπιλογή: 100) |
Απόκριση:
{
"events": [
{
"eventName": "signup_completed",
"totalCount": 15420,
"uniqueUsers": 12350,
"lastSeen": "2024-01-15T14:30:00Z"
}
],
"total": 45
}
Λήψη τάσης συμβάντος
Λήψη πλήθους συμβάντων στον χρόνο.
POST /analytics/events/trend
Σώμα αιτήματος:
{
"eventNames": ["signup_completed", "purchase_completed"],
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"timeGranularity": "day"
}
Απόκριση:
[
{
"date": "2024-01-01",
"count": 523,
"uniqueUsers": 498
}
]
Λήψη ιδιοτήτων συμβάντος
Λίστα ιδιοτήτων για ένα συγκεκριμένο συμβάν.
GET /analytics/events/:eventName/properties
Απόκριση:
[
{
"propertyName": "plan_type",
"valueCount": 4
},
{
"propertyName": "source",
"valueCount": 12
}
]
Λήψη ανάλυσης ιδιότητας
Λήψη της κατανομής τιμών για μια ιδιότητα συμβάντος.
POST /analytics/events/property-breakdown
Σώμα αιτήματος:
{
"eventName": "purchase_completed",
"property": "payment_method",
"startDate": "2024-01-01",
"endDate": "2024-01-31"
}
Απόκριση:
{
"total": 5420,
"values": [
{ "value": "credit_card", "count": 3250, "percentage": 59.96 },
{ "value": "paypal", "count": 1520, "percentage": 28.04 },
{ "value": "bank_transfer", "count": 650, "percentage": 11.99 }
]
}
Ανάλυση funnel
Δημιουργία funnel
Αποθήκευση νέου ορισμού funnel.
POST /analytics/funnels
Σώμα αιτήματος:
{
"name": "Signup to Purchase",
"steps": [
{
"id": "step_1",
"order": 0,
"eventName": "signup_completed",
"filters": []
},
{
"id": "step_2",
"order": 1,
"eventName": "onboarding_completed",
"filters": []
},
{
"id": "step_3",
"order": 2,
"eventName": "purchase_completed",
"filters": []
}
],
"conversionWindowDays": 7
}
Λίστα funnels
GET /analytics/funnels
Ανάλυση funnel
Εκτέλεση ανάλυσης σε αποθηκευμένο funnel.
POST /analytics/funnels/:id/analyze
Σώμα αιτήματος:
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"breakdown": {
"type": "event_property",
"property": "utm_source"
}
}
Απόκριση:
{
"totalUsers": 10000,
"overallConversion": 12.5,
"steps": [
{
"id": "step_1",
"order": 0,
"eventName": "signup_completed",
"enteredCount": 10000,
"conversionRate": 100,
"dropOffRate": 0
},
{
"id": "step_2",
"order": 1,
"eventName": "onboarding_completed",
"enteredCount": 6500,
"conversionRate": 65,
"dropOffRate": 35
},
{
"id": "step_3",
"order": 2,
"eventName": "purchase_completed",
"enteredCount": 1250,
"conversionRate": 19.23,
"dropOffRate": 80.77
}
],
"breakdown": [
{
"breakdownValue": "google",
"overallConversion": 15.2,
"steps": [...]
}
]
}
Γρήγορη ανάλυση funnel
Ανάλυση χωρίς αποθήκευση.
POST /analytics/funnels/quick-analyze
Ανάλυση διατήρησης
Ανάλυση διατήρησης
POST /analytics/retention/analyze
Σώμα αιτήματος:
{
"startEvent": "signup_completed",
"returnEvent": "session_started",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"timeUnit": "week",
"periods": 8
}
Απόκριση:
{
"timeUnit": "week",
"cohorts": [
{
"cohortDate": "2024-01-01",
"cohortSize": 1250,
"periods": [
{ "period": 0, "retainedCount": 1250, "retentionRate": 100 },
{ "period": 1, "retainedCount": 562, "retentionRate": 44.96 },
{ "period": 2, "retainedCount": 375, "retentionRate": 30.0 }
]
}
],
"overallRetention": [100, 45.2, 31.5, 25.8, 22.1, 19.5, 17.8, 16.2]
}
Εξαγωγή διατήρησης
POST /analytics/retention/export
Επιστρέφει δεδομένα CSV.
Ανάλυση διαδρομών
Ανάλυση διαδρομών
POST /analytics/paths/analyze
Σώμα αιτήματος:
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"startEvent": "landing_page_view",
"direction": "forward",
"maxSteps": 5,
"minPathCount": 10,
"minPathPercent": 0.5,
"maxBranchesPerStep": 5,
"excludeEvents": ["heartbeat", "scroll"]
}
Απόκριση:
{
"totalUsers": 25000,
"totalPaths": 342,
"paths": [
{
"path": ["landing_page_view", "signup_started", "signup_completed"],
"count": 3250,
"percentage": 13.0
}
],
"sankey": {
"nodes": [
{ "id": "landing_page_view_0", "name": "landing_page_view" }
],
"links": [
{ "source": "landing_page_view_0", "target": "signup_started_1", "value": 5200 }
]
}
}
Cohorts
Δημιουργία cohort
POST /analytics/cohorts
Σώμα αιτήματος:
{
"name": "Power Users",
"description": "Users who engage frequently",
"rules": [
{
"type": "event",
"operator": "did_count",
"eventName": "session_started",
"count": 10,
"timeWindow": { "value": 30, "unit": "day" }
}
]
}
Λίστα cohorts
GET /analytics/cohorts
Λήψη cohort
GET /analytics/cohorts/:id
Ενημέρωση cohort
PUT /analytics/cohorts/:id
Διαγραφή cohort
DELETE /analytics/cohorts/:id
Ανανέωση πλήθους cohort
POST /analytics/cohorts/:id/refresh
Δημιουργία τμήματος από cohort
Συνδέστε ένα cohort με ένα τμήμα για στόχευση καμπανιών.
POST /analytics/cohorts/:id/create-segment
Σώμα αιτήματος:
{
"segmentName": "Power Users Segment"
}
Dashboards
Δημιουργία dashboard
POST /analytics/dashboards
Σώμα αιτήματος:
{
"name": "Executive Dashboard",
"description": "Key metrics overview",
"widgets": [
{
"id": "widget-1",
"type": "metric",
"title": "Active Users",
"config": {
"eventName": "session_started",
"metric": "unique_users"
},
"layout": { "x": 0, "y": 0, "width": 3, "height": 2 }
}
]
}
Λίστα dashboards
GET /analytics/dashboards
Λήψη dashboard
GET /analytics/dashboards/:id
Ενημέρωση dashboard
PUT /analytics/dashboards/:id
Διαγραφή dashboard
DELETE /analytics/dashboards/:id
Αναλυτικά στοιχεία σε πραγματικό χρόνο
Λήψη ενεργών χρηστών
GET /analytics/realtime/active-users
Απόκριση:
{
"count": 1523,
"trend": 5.2
}
Ζωντανή ροή συμβάντων (SSE)
GET /analytics/realtime/events/stream
Επιστρέφει ροή Server-Sent Events με ζωντανά συμβάντα.
Αποκρίσεις σφαλμάτων
Όλα τα endpoints επιστρέφουν τυπικές αποκρίσεις σφαλμάτων:
{
"statusCode": 400,
"message": "Invalid date range",
"error": "Bad Request"
}
| Κωδικός κατάστασης | Περιγραφή |
|---|---|
| 400 | Λανθασμένο αίτημα / σφάλμα επικύρωσης |
| 401 | Μη εξουσιοδοτημένο |
| 403 | Απαγορευμένο |
| 404 | Ο πόρος δεν βρέθηκε |
| 500 | Εσωτερικό σφάλμα διακομιστή |