@ebitex/visitors-sdk 0.1.223 → 0.1.225

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,6 +9,8 @@ beyond Audience.
9
9
  recognised**, and removed when recognition is denied, withdrawn, or the device is forgotten.
10
10
  - "Forget this device" is one operation with several doors: a footer link, a function, a React button, or a
11
11
  plain request from your own server.
12
+ - `track('pricing-viewed', { ... })` puts an event on the timeline of the person a recognised device belongs to.
13
+ It is not a page-view tracker: nothing is stored for an anonymous visitor.
12
14
 
13
15
  ## Install
14
16
 
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { VisitorSession } from './types.js';
1
+ import type { ConsentSignals, TrackResult, VisitorSession } from './types.js';
2
2
  /** The default API address. */
3
3
  export declare const DEFAULT_ENDPOINT = "https://api.ebitex.io";
4
4
  /** An error answer from ebitex, or an answer the SDK could not read. */
@@ -9,17 +9,22 @@ export declare class VisitorsApiError extends Error {
9
9
  readonly code: string | undefined;
10
10
  /** The `X-Request-Id` of the answer. Quote it when you ask for help. */
11
11
  readonly requestId: string | undefined;
12
- constructor(message: string, status: number, code?: string, requestId?: string);
13
- }
14
- export interface RawConsent {
15
- cmp: 'granted' | 'denied' | null;
16
- gpc: boolean;
17
- dnt: boolean;
18
- cmpString: string | null;
12
+ /** When the answer named what was wrong with each member (a bad `name`, an undeclared or mistyped property), a message for each, keyed by member. */
13
+ readonly errors: Record<string, string> | undefined;
14
+ constructor(message: string, status: number, code?: string, requestId?: string, errors?: Record<string, string>);
19
15
  }
16
+ export type RawConsent = ConsentSignals;
20
17
  export interface VisitorsClient {
21
18
  session(visitor: string | null, consent: RawConsent): Promise<VisitorSession>;
22
19
  forget(visitor: string): Promise<string>;
20
+ track(body: {
21
+ visitor: string;
22
+ consent: RawConsent;
23
+ name: string;
24
+ properties?: Record<string, unknown>;
25
+ eventId?: string;
26
+ }): Promise<TrackResult>;
23
27
  }
24
28
  export declare function createClient(key: string, endpoint: string, doFetch: typeof globalThis.fetch): VisitorsClient;
29
+ export declare function isSession(value: unknown): value is VisitorSession;
25
30
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,YAAY,CAAA;AAE9D,+BAA+B;AAC/B,eAAO,MAAM,gBAAgB,0BAA0B,CAAA;AAEvD,wEAAwE;AACxE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,8HAA8H;IAC9H,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAEjC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;gBAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAO/E;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAA;IAChC,GAAG,EAAE,OAAO,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7E,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACzC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,cAAc,CAsC5G"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3F,+BAA+B;AAC/B,eAAO,MAAM,gBAAgB,0BAA0B,CAAA;AAEvD,wEAAwE;AACxE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,8HAA8H;IAC9H,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAEjC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAEtC,qJAAqJ;IACrJ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;gBAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAQhH;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7E,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CAClJ;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,cAAc,CAgD5G;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAajE"}
package/dist/client.js CHANGED
@@ -8,12 +8,15 @@ export class VisitorsApiError extends Error {
8
8
  code;
9
9
  /** The `X-Request-Id` of the answer. Quote it when you ask for help. */
10
10
  requestId;
11
- constructor(message, status, code, requestId) {
11
+ /** When the answer named what was wrong with each member (a bad `name`, an undeclared or mistyped property), a message for each, keyed by member. */
12
+ errors;
13
+ constructor(message, status, code, requestId, errors) {
12
14
  super(message);
13
15
  this.name = 'VisitorsApiError';
14
16
  this.status = status;
15
17
  this.code = code;
16
18
  this.requestId = requestId;
19
+ this.errors = errors;
17
20
  }
18
21
  }
19
22
  export function createClient(key, endpoint, doFetch) {
@@ -21,7 +24,7 @@ export function createClient(key, endpoint, doFetch) {
21
24
  async function post(path, body) {
22
25
  let response;
23
26
  try {
24
- response = await doFetch(`${base}/audience/delivery/v1/visitors/${path}`, {
27
+ response = await doFetch(`${base}/audience/delivery/v1/${path}`, {
25
28
  method: 'POST',
26
29
  headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${key}` },
27
30
  body: JSON.stringify(body),
@@ -34,27 +37,35 @@ export function createClient(key, endpoint, doFetch) {
34
37
  const json = await response.json().catch(() => null);
35
38
  if (!response.ok) {
36
39
  const code = typeof json?.error === 'string' ? json.error : undefined;
37
- throw new VisitorsApiError(code ?? `The request failed with status ${response.status}.`, response.status, code, requestId);
40
+ const errors = json?.errors;
41
+ throw new VisitorsApiError(code ?? `The request failed with status ${response.status}.`, response.status, code, requestId, errors && typeof errors === 'object' && !Array.isArray(errors) ? errors : undefined);
38
42
  }
39
43
  return json;
40
44
  }
41
45
  return {
42
46
  async session(visitor, consent) {
43
- const json = await post('session', { visitor, consent });
47
+ const json = await post('visitors/session', { visitor, consent });
44
48
  if (!isSession(json))
45
49
  throw new VisitorsApiError('The answer was not a visitor session.', 200, 'invalid_response');
46
50
  return json;
47
51
  },
48
52
  async forget(visitor) {
49
- const json = await post('forget', { visitor });
53
+ const json = await post('visitors/forget', { visitor });
50
54
  const message = json?.message;
51
55
  if (typeof message !== 'string')
52
56
  throw new VisitorsApiError('The answer was not a forget confirmation.', 200, 'invalid_response');
53
57
  return message;
54
58
  },
59
+ async track(body) {
60
+ const json = await post('events', body);
61
+ const result = json;
62
+ if (typeof result?.recorded !== 'boolean')
63
+ throw new VisitorsApiError('The answer was not an event result.', 200, 'invalid_response');
64
+ return { recorded: result.recorded, duplicate: result.duplicate === true, reason: typeof result.reason === 'string' ? result.reason : null };
65
+ },
55
66
  };
56
67
  }
57
- function isSession(value) {
68
+ export function isSession(value) {
58
69
  if (typeof value !== 'object' || value === null)
59
70
  return false;
60
71
  const { visitor, consent } = value;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export { createVisitors } from './visitors.js';
2
2
  export { cookieStorage } from './storage.js';
3
3
  export type { CookieStorageOptions } from './storage.js';
4
4
  export { VisitorsApiError, DEFAULT_ENDPOINT } from './client.js';
5
- export type { ConsentMessages, ConsentOptions, ConsentState, Visitors, VisitorSession, VisitorsOptions, VisitorsSnapshot, VisitorStorage, } from './types.js';
5
+ export type { ConsentMessages, ConsentOptions, ConsentSignals, ConsentState, TrackOptions, TrackResult, Visitors, VisitorSession, VisitorsOptions, VisitorsSnapshot, VisitorStorage, } from './types.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChE,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChE,YAAY,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAA"}
@@ -6,7 +6,7 @@ export declare function VisitorsProvider({ visitors, children }: {
6
6
  children: ReactNode;
7
7
  }): import("react").JSX.Element;
8
8
  /** The visitor's current token and consent state, which re-render the component when they change, and the calls that change them. */
9
- export declare function useVisitors(): VisitorsSnapshot & Pick<Visitors, 'refresh' | 'setConsent' | 'forget' | 'ready'>;
9
+ export declare function useVisitors(): VisitorsSnapshot & Pick<Visitors, 'refresh' | 'setConsent' | 'forget' | 'track' | 'ready'>;
10
10
  export interface ForgetDeviceButtonProps {
11
11
  /** The button's label. Defaults to "Forget this device"; pass your own for another language. */
12
12
  children?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACtH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI7D,+JAA+J;AAC/J,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAEnG;AAED,qIAAqI;AACrI,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,CAe9G;AAED,MAAM,WAAW,uBAAuB;IACtC,gGAAgG;IAChG,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,iFAAiF;IACjF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAE9C,6GAA6G;IAC7G,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAc,EAAE,WAAW,EAAE,SAAqD,EAAE,SAAS,EAAE,EAAE,uBAAuB,+BA6BtK"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACtH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI7D,+JAA+J;AAC/J,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAEnG;AAED,qIAAqI;AACrI,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,CAexH;AAED,MAAM,WAAW,uBAAuB;IACtC,gGAAgG;IAChG,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,iFAAiF;IACjF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAE9C,6GAA6G;IAC7G,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAc,EAAE,WAAW,EAAE,SAAqD,EAAE,SAAS,EAAE,EAAE,uBAAuB,+BA6BtK"}
@@ -19,7 +19,7 @@ export function useVisitors() {
19
19
  return last.current;
20
20
  }, [visitors]);
21
21
  const snapshot = useSyncExternalStore(visitors.subscribe, read, read);
22
- return { ...snapshot, refresh: visitors.refresh, setConsent: visitors.setConsent, forget: visitors.forget, ready: visitors.ready };
22
+ return { ...snapshot, refresh: visitors.refresh, setConsent: visitors.setConsent, forget: visitors.forget, track: visitors.track, ready: visitors.ready };
23
23
  }
24
24
  /**
25
25
  * A button that forgets the visitor's device, asks the organization's own confirmation question first, and shows the
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAkB,MAAM,OAAO,CAAA;AAGtH,MAAM,eAAe,GAAG,aAAa,CAAkB,IAAI,CAAC,CAAA;AAE5D,+JAA+J;AAC/J,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAA+C;IAClG,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAA4B,CAAA;AACzF,CAAC;AAED,qIAAqI;AACrI,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC5C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAEvF,iGAAiG;IACjG,MAAM,IAAI,GAAG,MAAM,CAAmB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3F,MAAM,IAAI,GAAG,WAAW,CAAC,GAAqB,EAAE;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvF,IAAI,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;QACrE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACd,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAErE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;AAC3J,CAAC;AAkBD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,WAAW,EAAE,SAAS,GAAG,yCAAyC,EAAE,SAAS,EAA2B;IACrK,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC5C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IAC9F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4C,IAAI,CAAC,CAAA;IACrF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,KAAK,UAAU,OAAO;QACpB,MAAM,QAAQ,GAAG,QAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAA;QAC1D,IAAI,OAAO,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAM;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAA;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAS,CAAC,MAAM,EAAE,CAAA;YACxC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC7D,WAAW,EAAE,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,OAAO,CACL,8BACE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,YACtF,QAAQ,IAAI,oBAAoB,GAC1B,EACR,MAAM,CAAC,CAAC,CAAC,eAAM,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,YAAG,MAAM,CAAC,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,IACrF,CACJ,CAAA;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -16,6 +16,13 @@ export interface ConsentOptions {
16
16
  /** Your consent tool's own consent string, kept as evidence of what the visitor was shown. */
17
17
  cmpString?: string | null;
18
18
  }
19
+ /** The consent signals as they are sent with a request: what {@link ConsentOptions} resolves to once the browser's own settings are read. */
20
+ export interface ConsentSignals {
21
+ cmp: 'granted' | 'denied' | null;
22
+ gpc: boolean;
23
+ dnt: boolean;
24
+ cmpString: string | null;
25
+ }
19
26
  /** The organization's own wording, in the visitor's language, for the things you may need to say. */
20
27
  export interface ConsentMessages {
21
28
  /** A notice for a visitor whose device is not being recognised, for example "we are not remembering you between visits". */
@@ -44,6 +51,24 @@ export interface VisitorSession {
44
51
  visitor: string;
45
52
  consent: ConsentState;
46
53
  }
54
+ /** What happened to an event passed to {@link Visitors.track}. */
55
+ export interface TrackResult {
56
+ /** `true` when the event is on the person's timeline in Audience, including a replay of one that already was. */
57
+ recorded: boolean;
58
+ /** `true` when this was a replay of an event with the same `eventId`, so nothing new was written. */
59
+ duplicate: boolean;
60
+ /**
61
+ * When nothing was recorded, why: `'no_visitor'` (the device holds no token, or is not linked to a person), `'session_token'`
62
+ * (the visitor is not being recognised across visits), `'recognition_not_granted'`, `'revoked'` (the device was forgotten) or
63
+ * `'token_invalid'`. Otherwise `null`. None of these is an error: an anonymous visitor's events are simply not stored.
64
+ */
65
+ reason: string | null;
66
+ }
67
+ /** Options for {@link Visitors.track}. */
68
+ export interface TrackOptions {
69
+ /** Sending the same id again from the same device records nothing new, so a retry is safe. At most 160 characters. */
70
+ eventId?: string;
71
+ }
47
72
  /**
48
73
  * Where the token is kept between visits. The SDK calls `set` only while ebitex reports that this device may be
49
74
  * recognised, and calls `remove` when recognition is denied or withdrawn, and when the device is forgotten. Writing an
@@ -107,6 +132,32 @@ export interface Visitors extends VisitorsSnapshot {
107
132
  * If the request fails the token is kept and the promise rejects, so the visitor can try again.
108
133
  */
109
134
  forget(): Promise<string | null>;
135
+ /**
136
+ * Records something the visitor did, on their timeline in Audience, for example `track('pricing-viewed', { buyerType: 'agency' })`.
137
+ *
138
+ * It is **not** a page-view tracker. An event is stored only when this device is recognised and already linked to a person; for
139
+ * an anonymous visitor nothing is stored and the result says why (it is not an error). `name` is lower-case words joined by
140
+ * hyphens, and `properties` may hold only visit properties your organization has declared, typed as declared. Each device may record
141
+ * at most 200 events in any 24 hours. Rejects with a {@link VisitorsApiError} for a bad name or an undeclared or mistyped property
142
+ * (its `errors` member says which) and when the daily cap is reached (`event_cap_reached`).
143
+ */
144
+ track(name: string, properties?: Record<string, unknown>, options?: TrackOptions): Promise<TrackResult>;
145
+ /**
146
+ * The consent signals this object sends with every request right now: your consent tool's answer, and the browser's Global
147
+ * Privacy Control and Do Not Track settings. For code that talks to ebitex on this visitor's behalf (a form, for example) and
148
+ * must send the same signals.
149
+ */
150
+ consentSignals(): ConsentSignals;
151
+ /**
152
+ * Takes over a token and consent state that another part of ebitex just issued for this visitor, for example the response to a
153
+ * form submission, so the whole page shares one visitor. The same rules apply as for {@link refresh}: the token is kept on the
154
+ * device only while `consent.recognition` is `'granted'` and the token is a recognition token, and removed otherwise. Pass
155
+ * `consent: null` when the response said nothing about consent; that is treated as not granted. Nothing is sent to ebitex.
156
+ */
157
+ adopt(session: {
158
+ visitor: string;
159
+ consent: ConsentState | null;
160
+ }): Promise<void>;
110
161
  /** Calls `listener` whenever the token or consent state changes. Returns a function that stops listening. */
111
162
  subscribe(listener: (snapshot: VisitorsSnapshot) => void): () => void;
112
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,qHAAqH;IACrH,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAA;IAEjC;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb,+GAA+G;IAC/G,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,qGAAqG;AACrG,MAAM,WAAW,eAAe;IAC9B,4HAA4H;IAC5H,mBAAmB,EAAE,MAAM,CAAA;IAE3B,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAA;IAErB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,oGAAoG;IACpG,WAAW,EAAE,SAAS,GAAG,QAAQ,CAAA;IAEjC,oKAAoK;IACpK,MAAM,EAAE,MAAM,CAAA;IAEd,qFAAqF;IACrF,aAAa,EAAE,MAAM,CAAA;IAErB,4KAA4K;IAC5K,SAAS,EAAE,aAAa,GAAG,SAAS,CAAA;IAEpC,+GAA+G;IAC/G,oBAAoB,EAAE,MAAM,CAAA;IAE5B,QAAQ,EAAE,eAAe,CAAA;CAC1B;AAED,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,YAAY,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACrE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,mGAAmG;IACnG,OAAO,CAAC,EAAE,cAAc,CAAA;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,GAAG,KAAK,CAAA;IAEhC,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC;AAED,iGAAiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,oGAAoG;IACpG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAE7B,4GAA4G;IAC5G,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CACtC;AAED,sGAAsG;AACtG,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAChD,uIAAuI;IACvI,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IAElC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAE5D;;;;;;;OAOG;IACH,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAEhC,6GAA6G;IAC7G,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACtE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"visitors.d.ts","sourceRoot":"","sources":["../src/visitors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgD,QAAQ,EAAE,eAAe,EAAoC,MAAM,YAAY,CAAA;AAE3I;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAkHjE"}
1
+ {"version":3,"file":"visitors.d.ts","sourceRoot":"","sources":["../src/visitors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA6D,QAAQ,EAAE,eAAe,EAAoC,MAAM,YAAY,CAAA;AAExJ;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAiJjE"}
package/dist/visitors.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createClient, DEFAULT_ENDPOINT } from './client.js';
1
+ import { createClient, DEFAULT_ENDPOINT, isSession } from './client.js';
2
2
  import { cookieStorage } from './storage.js';
3
3
  /**
4
4
  * Creates the object that holds a visitor's identity on your site, under their consent.
@@ -115,6 +115,36 @@ export function createVisitors(options) {
115
115
  return message;
116
116
  });
117
117
  },
118
+ track(name, properties, trackOptions) {
119
+ return run(async () => {
120
+ await ready;
121
+ // Nothing to attribute an event to without a token: say so without a request.
122
+ if (token === null)
123
+ return { recorded: false, duplicate: false, reason: 'no_visitor' };
124
+ return client.track({ visitor: token, consent: rawConsent(), name, properties, eventId: trackOptions?.eventId });
125
+ });
126
+ },
127
+ consentSignals() {
128
+ return rawConsent();
129
+ },
130
+ adopt(next) {
131
+ return run(async () => {
132
+ await ready;
133
+ if (typeof next.visitor !== 'string' || next.visitor === '')
134
+ return;
135
+ const candidate = { visitor: next.visitor, consent: next.consent };
136
+ if (isSession(candidate)) {
137
+ await apply(candidate);
138
+ return;
139
+ }
140
+ // A response that said nothing usable about consent is not a grant: keep the token for this page, keep nothing on the device.
141
+ token = next.visitor;
142
+ consent = null;
143
+ if (storage)
144
+ await persist(() => storage.remove());
145
+ notify();
146
+ });
147
+ },
118
148
  subscribe(listener) {
119
149
  listeners.add(listener);
120
150
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"visitors.js","sourceRoot":"","sources":["../src/visitors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitors.js","sourceRoot":"","sources":["../src/visitors.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebitex/visitors-sdk",
3
- "version": "0.1.223",
3
+ "version": "0.1.225",
4
4
  "description": "Recognise a returning visitor with their consent, honour Global Privacy Control and your own consent tool, and let them forget their device, from any site. No forms needed.",
5
5
  "keywords": [
6
6
  "ebitex",