@bridgeline-digital/hawksearch-handlebars-ui
    Preparing search index...

    Class TrackingService

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    baseUrl: string = ...
    fieldMappings: ServiceFieldMappings
    queryStringParams: {
        disableSpellcheck: string;
        page: string;
        pageSize: string;
        query: string;
        requestType: string;
        searchWithin: string;
        sort: string;
    } = ...
    searchUrl: string = ...
    variantFieldMappings: ServiceVariantFieldMappings

    Accessors

    • get onSearchPage(): boolean

      Returns boolean

    Methods

    • Builds the request headers for HawkSearch API calls.

      User-Agent, X-Forwarded-For, X-HawkSearch-ClientGuid, and X-HawkSearch-IgnoreTracking are values a server-side HawkSearch SDK would normally populate automatically. Because this library calls the API directly from the browser, it reconstructs them here by hand.

      Everything is best-effort and defensive on purpose:

      • User-Agent is a browser "forbidden header" — fetch may silently drop it or throw when it's set.
      • The library also runs in sandboxed iframes (e.g. BigCommerce), SSR / hydration, and jsdom tests, where window / navigator / the HawkSearch global may be undefined, or where new Headers() / headers.set() themselves can throw.

      These headers are optional enrichment (analytics / geo / tracking), never required for the request to succeed — so a failure to build any one of them must never break a search. Each header is resolved and set in its own try/catch (see setHeaderSafe): a failing header is logged in debug mode and skipped while the rest still go out.

      Returns Headers

    • Parameters

      • url: string | undefined
      • prefix: string | undefined

      Returns string | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]
      • OptionaldefaultValue: number

      Returns number | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]
      • OptionaldefaultValue: string

      Returns string | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]
      • Optionalprefix: string

      Returns string | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]

      Returns string[] | undefined

    • Type Parameters

      • T

      Parameters

      • relativeUrl: string
      • Optionalbody: any
      • OptionalcustomHeaders: any
      • OptionalisAbsoluteUrl: boolean

      Returns Promise<T>

    • Parameters

      • input: string

      Returns string

    • Parameters

      • productId: string
      • quantity: number
      • price: number
      • currencyIsoCode: string

      Returns Promise<void>

    • Parameters

      • items: { currencyIsoCode: string; price: number; productId: string; quantity: number }[]

      Returns Promise<void>

    • Parameters

      Returns Promise<void>

    • Parameters

      • bannerId: number
      • campaignId: number

      Returns Promise<void>

    • Parameters

      • bannerId: number
      • campaignId: number

      Returns Promise<void>

    • Parameters

      Returns Promise<void>

    • Parameters

      • orderId: string
      • items: { price: number; productId: string; quantity: number }[]
      • subTotal: number
      • tax: number
      • total: number
      • currencyIsoCode: string

      Returns Promise<void>

    • Parameters

      • pageType: PageType
      • OptionalproductId: string

      Returns Promise<void>

    • Parameters

      • productId: string
      • rating: number

      Returns Promise<void>

    • Parameters

      • widgetId: string
      • requestId: string
      • productId: string

      Returns Promise<void>

    • Parameters

      • query: string | undefined
      • newSearch: boolean

      Returns Promise<void>

    • Parameters

      • id: string
      • url: string
      • Optionalevent: PointerEvent

      Returns Promise<void>

    • Type Parameters

      • T

      Parameters

      • name: string
      • data: T

      Returns void