Event Client for xylabs ESB
npm install @xylabs/pixel[![logo][]](https://xylabs.com)
[![main-build][]][main-build-link]
[![npm-badge][]][npm-link]
[![npm-downloads-badge][]][npm-link]
[![jsdelivr-badge][]][jsdelivr-link]
[![npm-license-badge][]](LICENSE)
[![codacy-badge][]][codacy-link]
[![codeclimate-badge][]][codeclimate-link]
[![snyk-badge][]][snyk-link]
[![socket-badge][]][socket-link]
Event Client for xylabs ESB
@xylabs/pixel
*
- PixelApi
- XyPixel
- Referrer
- UniqueUserId
- UserEventHandler
- UtmFields
- XyUserEventHandler
- UserEvent
- CommonFields
- FunnelStartedFields
- PurchaseFields
- TestStartedFields
- UserClickFields
- ViewContentFields
- XyLabsTrackingEventJson
*
``ts`
new PixelApi(baseUri): PixelApi;
#### baseUri
string = 'prod'
PixelApi
`ts`
trackEvents(events): Promise
#### events
Promise\<any\>
*
`ts`
new Referrer(): Referrer;
Referrer
`ts`
local: string;
*
`ts`
session: string;
`ts`
toJson():
| undefined
| {
local: string;
session: string;
};
\| undefinedlocal
\| \{
: string;session
: string;
\}
*
`ts`
new UniqueUserId(): UniqueUserId;
UniqueUserId
`ts`
id: string;
`ts`
toString(): string;
string
*
TData extends EmptyObject
`ts`
new UserEventHandler
UserEventHandler\<TData\>
`ts`
abstract funnelStarted
#### T
T extends object
#### fields
Promisable\<void\>
*
`ts`
abstract testStarted
#### T
T extends object
#### fields
Promisable\<void\>
*
`ts`
abstract userClick
#### T
T extends object
#### fields
UserClickFields | T
Promisable\<void\>
*
`ts`
abstract viewContent
#### T
T extends object
#### fields
Promisable\<void\>
*
`ts`
new UtmFields(): UtmFields;
UtmFields
`ts`
fields: Record
`ts`
getUtmRecord(): null | Record
null \| Record\<string, string\>
*
`ts`
toString(): string;
string
*
`ts`
update(): Record
Record\<string, string\>[]
*
`ts`
static api: PixelApi;
*
`ts`
cid: string;
*
`ts`
optional email: string;
*
`ts`
optional email_hash: null | string;
*
`ts`
optional exids: ExIds;
*
`ts`
optional pixelId: string;
*
`ts`
queue: UserEvent[] = [];
`ts`
get static instance(): XyPixel;
#### Returns
XyPixel
`ts`
static init(pixelId): XyPixel;
#### pixelId
string
XyPixel
*
`ts`
static selectApi(api): void;
#### api
void
*
`ts`
identify(email?): void;
#### email?
string
void
*
`ts`
send
event,
fields?,
eventId?): Promise
#### T
T extends JsonObject
#### event
string
#### fields?
T
#### eventId?
string
Promise\<void\>
*
- UserEventHandler\<T\>
T extends EmptyObject = EmptyObject
`ts`
new XyUserEventHandler
XyUserEventHandler\<T\>
`ts`
funnelStarted(fields): Promise
#### fields
Promise\<void\>
UserEventHandler.funnelStarted
*
`ts`
purchase(fields): Promise
#### fields
PurchaseFields | T
Promise\<void\>
*
`ts`
testStarted(fields): Promise
#### fields
Promise\<void\>
*
`ts`
userClick(fields): Promise
#### fields
UserClickFields | T
Promise\<void\>
*
`ts`
viewContent(fields): Promise
#### fields
Promise\<void\>
*
- FunnelStartedFields
- PurchaseFields
- TestStartedFields
- UserClickFields
- ViewContentFields
`ts`
optional funnel: string;
*
`ts`
optional testData: string;
*
`ts`
optional funnel: string;
*
`ts`
optional testData: string;
*
`ts`
name: string;
*
`ts`
optional funnel: string;
*
`ts`
optional testData: string;
*
`ts`
id: string;
*
`ts`
optional name: string;
*
`ts`
optional price: number;
*
`ts`
optional value: number;
*
`ts`
optional funnel: string;
*
`ts`
optional testData: string;
*
`ts`
name: string;
*
`ts`
optional funnel: string;
*
`ts`
optional testData: string;
*
`ts`
elementName: string;
*
`ts`
elementType: string;
*
`ts`
optional intent: string;
*
`ts`
optional placement: string;
*
`ts`
cid: string;
*
`ts`
optional create_time: number;
*
`ts`
optional email: string;
*
`ts`
optional email_hash: string;
*
`ts`
optional event: string;
*
`ts`
optional event_id: string;
*
`ts`
optional exids: ExIds;
*
`ts`
optional fields: Record
*
`ts`
optional host: string;
*
`ts`
optional pathname: string;
*
`ts`
optional pixel: string;
*
`ts`
optional receive_time: number;
*
`ts`
optional referrer: object;
`ts`
local: string;
`ts`
session: string;
*
`ts`
optional rid: string;
*
`ts`
optional system: ParsedResult;
*
`ts`
optional uid: string;
*
`ts`
optional utm: Record
*
`ts`
optional funnel: string;
*
`ts`
optional testData: string;
*
`ts`
name: string;
*
`ts`
path: string;
*
`ts`
cid: string;
*
`ts`
optional create_time: number;
*
`ts`
optional email: string;
*
`ts`
optional email_hash: string;
*
`ts`
optional event: string;
*
`ts`
optional event_id: string;
*
`ts`
optional exids: Record
*
`ts`
optional fields: Record
*
`ts`
optional host: string;
*
`ts`
optional ip: string;
*
`ts`
optional pathname: string;
*
`ts`
optional pixel: string;
*
`ts`
optional receive_time: number;
*
`ts`
optional rid: string;
*
`ts`
optional system: unknown;
*
`ts`
optional ua: string;
*
`ts`
optional uid: string;
*
`ts`
optional utm: Record
*
`ts``
type UserEventSystem = Bowser.Parser.ParsedResult;
Part of sdk-js
- Arie Trouw (arietrouw.com)
- Matt Jones
- Joel Carter
- Jordan Trouw
> See the LICENSE file for license details
[logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
[main-build]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml/badge.svg
[main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml
[npm-badge]: https://img.shields.io/npm/v/@xylabs/pixel.svg
[npm-link]: https://www.npmjs.com/package/@xylabs/pixel
[codacy-badge]: https://app.codacy.com/project/badge/Grade/c8e15e14f37741c18cfb47ac7245c698
[codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-js&utm_campaign=Badge_Grade
[codeclimate-badge]: https://api.codeclimate.com/v1/badges/c5eb068f806f0b047ea7/maintainability
[codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-js/maintainability
[snyk-badge]: https://snyk.io/test/github/xylabs/sdk-js/badge.svg?targetFile=package.json
[snyk-link]: https://snyk.io/test/github/xylabs/sdk-js?targetFile=package.json
[npm-downloads-badge]: https://img.shields.io/npm/dw/@xylabs/pixel
[npm-license-badge]: https://img.shields.io/npm/l/@xylabs/pixel
[jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/@xylabs/pixel/badge
[jsdelivr-link]: https://www.jsdelivr.com/package/npm/@xylabs/pixel
[socket-badge]: https://socket.dev/api/badge/npm/package/@xylabs/pixel
[socket-link]: https://socket.dev/npm/package/@xylabs/pixel