Skip to main content
Version: SDK 4.5.x

UserEvent API

When you build a UserEvent, you can either:

  • Provide values to the constructor.
  • Initialize an empty event and later call setters for other properties.

UserEvent constructors

UserEvent has the following constructors:

public constructor(name: string, value: number | null = null, unitOrCurrency: Unit | string | null = null)

The only requirement for a new event is a name. Once you've assigned an event name, it can later no longer be changed.

The value and unit can only be provided together and default to 0 and no unit if not provided. Alternatively, an event can carry a monetary value instead of a value with a unit.

UserEvent setters

You can also set properties and dimensions after initialization, using the following methods:

public addDimension(key: string, value: string | undefined = undefined): UserEvent
public removeDimension(key: string): UserEvent
public setValueAndUnit(value: number, unit: Unit): UserEvent
public setValueAndCurrency(value: number, currency: string): UserEvent

Publishing method

To send your event to the justtrack backend, use the following method:

async function publishEvent(event: UserEvent | string): Promise<void>

UserEvent restrictions

When you create a custom event, you must adhere to the following requirements:

  • The event name:
    • can't be empty.
    • Must be shorter than 256 characters.
    • Is case-sensitive.
    • Can only consist of printable ISO 8859-1 characters (U+0020 to U+007E as well as U+00A0 to U+00FF).
  • Dimension names:
    • Must be shorter than 256 characters.
    • May only consist of:
      • lowercase letters in the Latin alphabet (U+0061 to U+007A)
      • underscores (U+005F)
      • numbers (U+0030 to U+0039)
  • Dimension values:
    • Must be shorter than 4096 characters
    • Can only consist of printable ISO 8859-1 characters (U+0020 to U+007E as well as U+00A0 to U+00FF).
  • The event can have a maximum of 10 total dimensions.
  • The value of a user event must be finite (i.e., not NaN or ±Infinity).
  • If you provide a monetary value, the currency needs to be a 3 letter uppercase ISO 4217 string.
danger

If your event doesn't match the following criteria, it won't be recorded in the justtrack platform.