Class: OursprivacyIngest::Models::TrackEventParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/oursprivacy_ingest/models/track_event_params.rb

Overview

Defined Under Namespace

Classes: DefaultProperties, IdentityContext, UserProperties

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Instance Method Summary collapse

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(ip:, user_agent:) ⇒ Object

End-user network context for server-side calls. Required for probabilistic identity resolution when the caller is a backend server rather than an end-user browser.

Parameters:

  • ip (String)

    The end-user IP address (not the server IP).

  • user_agent (String)

    The end-user User-Agent string (not the server UA).



# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 574

Instance Attribute Details

#default_propertiesOursprivacyIngest::Models::TrackEventParams::DefaultProperties?

These properties are used throughout the Ours app to pass known values onto destinations



28
29
30
31
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 28

optional :default_properties,
-> { OursprivacyIngest::TrackEventParams::DefaultProperties },
api_name: :defaultProperties,
nil?: true

#distinct_idString?

A unique identifier for this event used for deduplication. Highly recommended —if omitted, Ours will generate one for you, but supplying your own gives you stronger idempotency guarantees (e.g. a Stripe payment intent ID or your internal order ID).

Returns:

  • (String, nil)


40
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 40

optional :distinct_id, String, api_name: :distinctId, nil?: true

#emailString?

The email address of a user. Used as a fallback lookup when neither userId nor externalId is provided. We search your account for a visitor with this email and attach the event to them. If no match is found, a new visitor is created.

Returns:

  • (String, nil)


48
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 48

optional :email, String, nil?: true

#eventString

The name of the event you’re tracking. This must be whitelisted in the Ours dashboard.

Returns:

  • (String)


21
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 21

required :event, String

#event_propertiesHash{Symbol=>String, nil}?

Any additional event properties you want to pass along.

Returns:

  • (Hash{Symbol=>String, nil}, nil)


54
55
56
57
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 54

optional :event_properties,
OursprivacyIngest::Internal::Type::HashOf[String, nil?: true],
api_name: :eventProperties,
nil?: true

#external_idString?

Your system’s unique identifier for this user. We search your account for an existing visitor with this externalId and attach the event to them (resolving to their Ours Visitor ID). If no match is found, a new visitor is created. When present, email lookup is skipped. If you also have the userId from cookies or local storage, send both — it removes the lookup round-trip.

Returns:

  • (String, nil)


67
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 67

optional :external_id, String, api_name: :externalId, nil?: true

#identity_contextOursprivacyIngest::Models::TrackEventParams::IdentityContext?

End-user network context for server-side calls. Required for probabilistic identity resolution when the caller is a backend server rather than an end-user browser.



75
76
77
78
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 75

optional :identity_context,
-> { OursprivacyIngest::TrackEventParams::IdentityContext },
api_name: :identityContext,
nil?: true

#timeFloat?

The time at which the event occurred in milliseconds since UTC epoch. The time must be in the past and within the last 7 days.

Returns:

  • (Float, nil)


85
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 85

optional :time, Float, nil?: true

#tokenString

The token for your Source. You can find this in the dashboard.

Returns:

  • (String)


14
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 14

required :token, String

#user_idString?

The Ours Visitor ID stored in local storage and cookies on your web properties. When present, this is used directly — no lookup by externalId or email is performed. If you have both a userId and an externalId, send both so the event is attached to the right visitor without any lookup overhead.

Returns:

  • (String, nil)


94
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 94

optional :user_id, String, api_name: :userId, nil?: true

#user_propertiesOursprivacyIngest::Models::TrackEventParams::UserProperties?

Properties to set on the visitor. (optional) You can also update these properties via the identify endpoint.



101
102
103
104
# File 'lib/oursprivacy_ingest/models/track_event_params.rb', line 101

optional :user_properties,
-> { OursprivacyIngest::TrackEventParams::UserProperties },
api_name: :userProperties,
nil?: true