Documentation
¶
Index ¶
Constants ¶
const SchemaVersion = "1.0"
SchemaVersion is the version of the event schema this code was generated from
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddedToCart ¶
type AddedToCart struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
ProductId string `json:"product_id" validate:"required"`
ProductName string `json:"product_name" validate:"required"`
CartTotal float64 `json:"cart_total"`
Metadata json.RawMessage `json:"metadata"`
UserId string `json:"user_id" validate:"required"`
SessionId string `json:"session_id" validate:"required"`
Quantity int64 `json:"quantity" validate:"required"`
Price float64 `json:"price" validate:"required"`
Currency string `json:"currency" validate:"required"`
}
AddedToCart represents: Fired when a user adds an item to cart
type ArticleShared ¶
type ArticleShared struct {
}
ArticleShared represents: Fired when a user shares an article
type ArticleViewed ¶
type ArticleViewed struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
Category string `json:"category" validate:"required"`
Tags json.RawMessage `json:"tags"`
Source string `json:"source"`
Metadata json.RawMessage `json:"metadata"`
UserId string `json:"user_id"`
ArticleTitle string `json:"article_title" validate:"required"`
ReadTimeSeconds int64 `json:"read_time_seconds"`
Referrer string `json:"referrer"`
SessionId string `json:"session_id" validate:"required"`
ArticleId string `json:"article_id" validate:"required"`
Author string `json:"author" validate:"required"`
}
ArticleViewed represents: Fired when a user views a blog article
type CheckoutStarted ¶
type CheckoutStarted struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
UserId string `json:"user_id" validate:"required"`
SessionId string `json:"session_id" validate:"required"`
CartId string `json:"cart_id" validate:"required"`
NumItems int64 `json:"num_items" validate:"required"`
CartTotal float64 `json:"cart_total" validate:"required"`
Currency string `json:"currency" validate:"required"`
Items json.RawMessage `json:"items" validate:"required"`
Metadata json.RawMessage `json:"metadata"`
}
CheckoutStarted represents: Fired when a user begins checkout process
type CommentPosted ¶
type CommentPosted struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
ParentCommentId string `json:"parent_comment_id"`
CommentLength int64 `json:"comment_length" validate:"required"`
Metadata json.RawMessage `json:"metadata"`
UserId string `json:"user_id" validate:"required"`
SessionId string `json:"session_id" validate:"required"`
ArticleId string `json:"article_id" validate:"required"`
CommentId string `json:"comment_id" validate:"required"`
}
CommentPosted represents: Fired when a user posts a comment
type NewsletterSubscribed ¶
type NewsletterSubscribed struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
UserId string `json:"user_id"`
SessionId string `json:"session_id" validate:"required"`
Email string `json:"email" validate:"required"`
SubscriptionType string `json:"subscription_type" validate:"required"`
Source string `json:"source"`
Metadata json.RawMessage `json:"metadata"`
}
NewsletterSubscribed represents: Fired when a user subscribes to newsletter
type OrderCompleted ¶
type OrderCompleted struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
Items json.RawMessage `json:"items" validate:"required"`
DiscountAmount float64 `json:"discount_amount"`
UserId string `json:"user_id" validate:"required"`
OrderId string `json:"order_id" validate:"required"`
TotalAmount float64 `json:"total_amount" validate:"required"`
Currency string `json:"currency" validate:"required"`
PaymentMethod string `json:"payment_method" validate:"required"`
ShippingAddress json.RawMessage `json:"shipping_address" validate:"required"`
DiscountCode string `json:"discount_code"`
Metadata json.RawMessage `json:"metadata"`
SessionId string `json:"session_id" validate:"required"`
CartId string `json:"cart_id"`
NumItems int64 `json:"num_items" validate:"required"`
}
OrderCompleted represents: Fired when an order is successfully placed
type PageView ¶
type PageView struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
// User ID (if logged in)
UserId string `json:"user_id"`
// Session identifier
SessionId string `json:"session_id" validate:"required"`
// Full page URL
PageUrl string `json:"page_url" validate:"required"`
// Page title
PageTitle string `json:"page_title"`
// Referrer URL
Referrer string `json:"referrer"`
// Time spent on page (milliseconds)
DurationMs int64 `json:"duration_ms"`
// Additional page metadata
Metadata json.RawMessage `json:"metadata"`
}
PageView represents: Fired when a user views a page
type ProductViewed ¶
type ProductViewed struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
ProductName string `json:"product_name" validate:"required"`
ProductCategory string `json:"product_category" validate:"required"`
Price float64 `json:"price" validate:"required"`
Source string `json:"source"`
Metadata json.RawMessage `json:"metadata"`
UserId string `json:"user_id" validate:"required"`
Currency string `json:"currency" validate:"required"`
SessionId string `json:"session_id" validate:"required"`
ProductId string `json:"product_id" validate:"required"`
}
ProductViewed represents: Fired when a user views a product page
type Purchase ¶
type Purchase struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
// Currency code
Currency string `json:"currency" validate:"oneof=USD EUR GBP INR"`
// Payment method used
PaymentMethod string `json:"payment_method" validate:"oneof=card paypal stripe razorpay"`
// Array of purchased items
Items json.RawMessage `json:"items"`
// User who made the purchase
UserId string `json:"user_id" validate:"required"`
// Unique order identifier
OrderId string `json:"order_id" validate:"required"`
// Purchase amount
Amount float64 `json:"amount" validate:"required"`
}
Purchase represents: Fired when a user makes a purchase
type SearchPerformed ¶
type SearchPerformed struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
UserId string `json:"user_id"`
SessionId string `json:"session_id" validate:"required"`
Query string `json:"query" validate:"required"`
ResultsCount int64 `json:"results_count" validate:"required"`
ClickedResultId string `json:"clicked_result_id"`
Metadata json.RawMessage `json:"metadata"`
}
SearchPerformed represents: Fired when a user searches for content
type UserSignup ¶
type UserSignup struct {
TenantID string `json:"tenant_id" validate:"required"`
EventID int64 `json:"event_id,omitempty"`
Timestamp time.Time `json:"timestamp,omitempty"`
// Where the signup originated
SignupSource string `json:"signup_source" validate:"oneof=web mobile api"`
// Device type used for signup
SignupDevice string `json:"signup_device" validate:"oneof=desktop mobile tablet"`
// Referrer URL where user came from
Referrer string `json:"referrer"`
// User country from signup
Country string `json:"country"`
// Marketing campaign identifier
UtmCampaign string `json:"utm_campaign"`
// Additional flexible metadata
Metadata json.RawMessage `json:"metadata"`
// Unique user identifier
UserId string `json:"user_id" validate:"required"`
// User email address
Email string `json:"email" validate:"required"`
}
UserSignup represents: Fired when a new user signs up