Events
An Event represents a single interaction or occurrence of a specific event type. It could be a scroll action, button click, user registration, error occurrence, or any other trackable activity in your application.
Data Structure
Each event contains the following data:
| Property | Description |
|---|---|
| ID | Unique identifier for the event |
| Event Type ID | Identifier of the event type it belongs to |
| App ID | Identifier of the app it belongs to |
| Created At | The timestamp when the event was created |
| Payload | Custom data sent by the application |
The Event Payload
The payload is the most powerful and flexible part of an event. It allows you to store any relevant data as a JSON object.
Payload Best Practices
- Structure your data: Use consistent field names across similar events
- Include context: Add relevant identifiers like user ID, session ID, page URL
- Be specific: Include detailed information that will be useful for analysis
- Stay consistent: Use the same data format for the same event type
Example Payloads
Here are some real-world examples of well-structured event payloads:
E-commerce Button Click
Event Type: 'add_to_cart'
{
"userId": "user_12345",
"sessionId": "sess_abcdef",
"productId": "prod_sneakers_01",
"productName": "Running Sneakers",
"price": 89.99,
"currency": "USD",
"quantity": 1,
"page": "product-detail",
"timestamp": "2023-10-24T14:30:00Z"
}
User Authentication
Event Type: 'user_login'
{
"userId": "user_67890",
"email": "user@example.com",
"loginMethod": "google_oauth",
"userAgent": "Mozilla/5.0...",
"ipAddress": "192.168.1.100",
"deviceType": "desktop",
"location": {
"country": "US",
"city": "San Francisco"
}
}
Application Error
Event Type: 'error_occurred'
{
"errorType": "validation_error",
"errorMessage": "Invalid email format",
"errorCode": "VAL_001",
"userId": "user_11111",
"page": "/signup",
"formData": {
"email": "invalid-email",
"step": "registration"
},
"stack": "Error at line 45..."
}
Creating Events via API
Events are created by sending POST requests to the SEDL API endpoint. Here's what you need:
Required Information
- Event Logging Token: Found in your app's dashboard
- Event Type ID: The category this event belongs to
- Payload: Your custom JSON data
API Endpoint
POST https://api.sedl.dev/public/create_event
Request Format
Request Body
{
"loggingToken": "your-app-logging-token",
"typeId": "your-event-type-id",
"payload": {
"your": "custom",
"data": "here"
}
}
JSON Validation
The payload must be valid JSON. Invalid JSON will result in a 400 Bad Request error.
Event Analysis
Once events are logged, you can:
- View time-series data in your app dashboard
- Filter by date ranges to analyze specific periods
- Export data for further analysis
- Share insights with team members
Next Steps
Ready to start logging events? Check out:
- Quick Start Guide - Step-by-step setup
- API Reference - Detailed endpoint documentation
- Core Concepts - Understanding the full SEDL data model