# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module OpenApiSDK
  module Operations
  

    class TrackLeadRequestBody < ::OpenApiSDK::Utils::FieldAugmented
      extend T::Sig

      # The ID of the click in th Dub. You can read this value from `dclid` cookie.
      field :click_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickId') } }
      # This is the unique identifier for the customer in the client's app. This is used to track the customer's journey.
      field :customer_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
      # The name of the event to track.
      field :event_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName') } }
      # Avatar of the customer in the client's app.
      field :customer_avatar, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerAvatar') } }
      # Email of the customer in the client's app.
      field :customer_email, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerEmail') } }
      # Name of the customer in the client's app.
      field :customer_name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerName') } }
      # Additional metadata to be stored with the lead event
      field :metadata, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }


      sig { params(click_id: ::String, customer_id: ::String, event_name: ::String, customer_avatar: T.nilable(::String), customer_email: T.nilable(::String), customer_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::Object])).void }
      def initialize(click_id: nil, customer_id: nil, event_name: nil, customer_avatar: nil, customer_email: nil, customer_name: nil, metadata: nil)
        @click_id = click_id
        @customer_id = customer_id
        @event_name = event_name
        @customer_avatar = customer_avatar
        @customer_email = customer_email
        @customer_name = customer_name
        @metadata = metadata
      end
    end
  end
end