@seekora-ai/search-sdk 0.2.21 → 0.2.23
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/dist/analytics/activeFilters.d.ts +33 -0
- package/dist/analytics/activeFilters.js +145 -0
- package/dist/analytics/events.d.ts +26 -0
- package/dist/analytics/events.js +38 -0
- package/dist/analytics/index.d.ts +6 -0
- package/dist/analytics/index.js +55 -0
- package/dist/analytics/loadAnalytics.d.ts +37 -0
- package/dist/analytics/loadAnalytics.js +70 -0
- package/dist/analytics/searchId.d.ts +26 -0
- package/dist/analytics/searchId.js +102 -0
- package/dist/analytics/track.d.ts +59 -0
- package/dist/analytics/track.js +130 -0
- package/dist/analytics/types.gen.d.ts +781 -0
- package/dist/analytics/types.gen.js +6 -0
- package/dist/client.d.ts +82 -17
- package/dist/client.js +588 -414
- package/dist/index.d.ts +13 -12
- package/dist/index.js +39 -1
- package/package.json +9 -3
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
export interface paths {
|
|
6
|
+
readonly "/v1/batch": {
|
|
7
|
+
readonly parameters: {
|
|
8
|
+
readonly query?: never;
|
|
9
|
+
readonly header?: never;
|
|
10
|
+
readonly path?: never;
|
|
11
|
+
readonly cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
readonly get?: never;
|
|
14
|
+
readonly put?: never;
|
|
15
|
+
/**
|
|
16
|
+
* Storefront analytics batch ingest
|
|
17
|
+
* @description Per Segment Spec — wraps an array of events. Bulker batches by
|
|
18
|
+
* `frequency: 1` minute (or `BatchSize` event count, whichever first).
|
|
19
|
+
*/
|
|
20
|
+
readonly post: operations["ingestBatch"];
|
|
21
|
+
readonly delete?: never;
|
|
22
|
+
readonly options?: never;
|
|
23
|
+
readonly head?: never;
|
|
24
|
+
readonly patch?: never;
|
|
25
|
+
readonly trace?: never;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export type webhooks = Record<string, never>;
|
|
29
|
+
export interface components {
|
|
30
|
+
schemas: {
|
|
31
|
+
/**
|
|
32
|
+
* Format: uuid
|
|
33
|
+
* @description Canonical search-tree root. UUID v4 minted by go-backend `/v1/search`
|
|
34
|
+
* (`SearchRoute.go:324`). Threaded onto every downstream clickstream event
|
|
35
|
+
* emitted within 30 min of the originating search via in-memory →
|
|
36
|
+
* sessionStorage → URL `?seekora_sid=` resolution chain.
|
|
37
|
+
* NULL/absent for events outside any search context.
|
|
38
|
+
* @example a1b2c3d4-e5f6-4a5b-9c8d-7e6f5a4b3c2d
|
|
39
|
+
*/
|
|
40
|
+
readonly SearchId: string;
|
|
41
|
+
/**
|
|
42
|
+
* Format: uuid
|
|
43
|
+
* @description Client-minted UUID v4 stamped on Suggestion Clicked. Subsequent
|
|
44
|
+
* Search Submitted that was triggered by this suggestion carries
|
|
45
|
+
* this value in `triggered_by_suggestion_id` for attribution.
|
|
46
|
+
*/
|
|
47
|
+
readonly SuggestionEventId: string;
|
|
48
|
+
/**
|
|
49
|
+
* Format: uuid
|
|
50
|
+
* @description On `Search Refined` events only. The previous (now-replaced) search_id
|
|
51
|
+
* that this refinement evolved FROM. Together with `search_id` (the new
|
|
52
|
+
* one), captures the search-refinement chain.
|
|
53
|
+
*/
|
|
54
|
+
readonly FromSearchId: string;
|
|
55
|
+
/**
|
|
56
|
+
* @description Segment Spec unique-event identifier. Acts as PRIMARY KEY in
|
|
57
|
+
* ReplicatedReplacingMergeTree event tables — duplicate inserts collapse.
|
|
58
|
+
* Auto-set by analytics-next/-node SDKs if not provided.
|
|
59
|
+
*/
|
|
60
|
+
readonly MessageId: string;
|
|
61
|
+
/**
|
|
62
|
+
* @description Segment Spec per-device identifier. Pattern matches Algolia's userToken
|
|
63
|
+
* constraint for cross-tool compatibility.
|
|
64
|
+
*/
|
|
65
|
+
readonly AnonymousId: string;
|
|
66
|
+
/**
|
|
67
|
+
* @description Segment Spec authenticated-user identifier. NULL for anonymous users.
|
|
68
|
+
* Same pattern as anonymousId (Algolia's authenticatedUserToken constraint).
|
|
69
|
+
*/
|
|
70
|
+
readonly UserId: string | null;
|
|
71
|
+
/**
|
|
72
|
+
* @description Seekora org-level tenant code. Stamped by `seekora-tenant-stamp` Rotor
|
|
73
|
+
* function from `ctx.stream.orgcode`. Lands in `context_orgcode` column.
|
|
74
|
+
*/
|
|
75
|
+
readonly OrgCode: string;
|
|
76
|
+
/**
|
|
77
|
+
* @description Seekora store-level tenant identifier. Stamped by `seekora-tenant-stamp`
|
|
78
|
+
* from `ctx.stream.xstoreid`. Lands in `context_xstoreid` column. Required
|
|
79
|
+
* on every event for tenant isolation in queries.
|
|
80
|
+
*/
|
|
81
|
+
readonly XStoreId: string;
|
|
82
|
+
/**
|
|
83
|
+
* @description Producer-surface discriminator. Set by `seekora-source-infer` if not
|
|
84
|
+
* already present on the event.
|
|
85
|
+
* @enum {string}
|
|
86
|
+
*/
|
|
87
|
+
readonly Source: "shopify_web_pixel" | "search_sdk" | "ui_sdk" | "theme_embed" | "rotor_synthesized_orderline" | "unknown";
|
|
88
|
+
/**
|
|
89
|
+
* @description Engine-agnostic item identifier. Examples: Shopify SKU/product_id,
|
|
90
|
+
* document UUID, article slug, video ID. Replaces Algolia's `objectIDs[]`
|
|
91
|
+
* with a scalar (we emit per-row events for 1:N query friendliness).
|
|
92
|
+
*/
|
|
93
|
+
readonly ObjectId: string;
|
|
94
|
+
/**
|
|
95
|
+
* @description Vertical discriminator. Lets analytics queries filter by item kind
|
|
96
|
+
* when needed without splitting tables.
|
|
97
|
+
* @enum {string}
|
|
98
|
+
*/
|
|
99
|
+
readonly ObjectType: "product" | "document" | "article" | "video" | "service" | "recipe" | "listing" | "content" | "other";
|
|
100
|
+
/**
|
|
101
|
+
* Format: uint16
|
|
102
|
+
* @description 1-indexed result-list position (matches Algolia's positions[] convention).
|
|
103
|
+
* Position 13 = 3rd result on page 2 (10/page) — absolute across pages,
|
|
104
|
+
* NOT page-relative.
|
|
105
|
+
*/
|
|
106
|
+
readonly Position: number;
|
|
107
|
+
/**
|
|
108
|
+
* @description Where in the storefront UI the event fired.
|
|
109
|
+
* @enum {string}
|
|
110
|
+
*/
|
|
111
|
+
readonly Surface: "results_page" | "dropdown" | "recommendation_widget" | "pdp_related" | "cart_recommendation" | "shopify_pdp" | "shopify_collection" | "shopify_cart" | "shopify_checkout";
|
|
112
|
+
/**
|
|
113
|
+
* @description User-entered search query. Stripped of leading/trailing whitespace by
|
|
114
|
+
* the producer before emission.
|
|
115
|
+
*/
|
|
116
|
+
readonly Query: string;
|
|
117
|
+
/**
|
|
118
|
+
* Format: uint32
|
|
119
|
+
* @description Number of hits returned by the search engine for this query.
|
|
120
|
+
*/
|
|
121
|
+
readonly NumFound: number;
|
|
122
|
+
/**
|
|
123
|
+
* Format: uint32
|
|
124
|
+
* @description 1-indexed page number for paginated searches.
|
|
125
|
+
* @default 1
|
|
126
|
+
*/
|
|
127
|
+
readonly Page: number;
|
|
128
|
+
/**
|
|
129
|
+
* @description Sort key applied (e.g. "price:asc", "relevance", "newest").
|
|
130
|
+
* Free-form per merchant configuration.
|
|
131
|
+
*/
|
|
132
|
+
readonly SortBy: string;
|
|
133
|
+
/**
|
|
134
|
+
* @description Active filter set at search time. Small array (typical < 10),
|
|
135
|
+
* OK to carry inline. Per-filter-change events fire separately
|
|
136
|
+
* as `Facet Applied` (1:N querying via JOIN).
|
|
137
|
+
* @example [
|
|
138
|
+
* "brand:Nike",
|
|
139
|
+
* "color:Red",
|
|
140
|
+
* "price:100%3A200"
|
|
141
|
+
* ]
|
|
142
|
+
*/
|
|
143
|
+
readonly Filters: readonly string[];
|
|
144
|
+
/** @description Facet name (e.g. "brand", "color", "price"). */
|
|
145
|
+
readonly FilterAttribute: string;
|
|
146
|
+
/** @description Facet value (e.g. "Nike", "Red", "100:200"). URL-encoded. */
|
|
147
|
+
readonly FilterValue: string;
|
|
148
|
+
/**
|
|
149
|
+
* @description Whether the user applied or removed this facet.
|
|
150
|
+
* @enum {string}
|
|
151
|
+
*/
|
|
152
|
+
readonly FilterAction: "apply" | "remove";
|
|
153
|
+
/**
|
|
154
|
+
* Format: decimal
|
|
155
|
+
* @description Decimal(18, 4) in ClickHouse. Always positive.
|
|
156
|
+
*/
|
|
157
|
+
readonly Price: number;
|
|
158
|
+
/** Format: uint32 */
|
|
159
|
+
readonly Quantity: number;
|
|
160
|
+
/**
|
|
161
|
+
* @description ISO 4217 currency code.
|
|
162
|
+
* @example USD
|
|
163
|
+
*/
|
|
164
|
+
readonly Currency: string;
|
|
165
|
+
readonly OrderId: string;
|
|
166
|
+
readonly CartId: string;
|
|
167
|
+
/**
|
|
168
|
+
* @description Conversion subtype taxonomy. Aligns with Algolia's Insights API
|
|
169
|
+
* `eventSubtype` enum for the two primary values (`addToCart`,
|
|
170
|
+
* `purchase`) so events can flow into Algolia-compatible pipelines
|
|
171
|
+
* without remap. Extended with three Seekora-only values
|
|
172
|
+
* (`wishlist`, `quick_view`, `save_for_later`) to capture
|
|
173
|
+
* soft-conversion intents Algolia does not model — keeping these
|
|
174
|
+
* as a typed extension (rather than free-form text) preserves
|
|
175
|
+
* richness when funnel queries JOIN on this field.
|
|
176
|
+
*
|
|
177
|
+
* Mapping:
|
|
178
|
+
* - `addToCart` — Algolia parity (Algolia: addToCart)
|
|
179
|
+
* - `purchase` — Algolia parity (Algolia: purchase)
|
|
180
|
+
* - `wishlist` — [Seekora extension] save-for-later list add
|
|
181
|
+
* - `quick_view` — [Seekora extension] quick-view modal open
|
|
182
|
+
* - `save_for_later` — [Seekora extension] move-from-cart to later
|
|
183
|
+
*
|
|
184
|
+
* Downstream funnel queries can JOIN on either subset:
|
|
185
|
+
* - Algolia-compatible: `WHERE conversion_type IN ('addToCart','purchase')`
|
|
186
|
+
* - Full Seekora taxonomy: any value above.
|
|
187
|
+
* @enum {string}
|
|
188
|
+
*/
|
|
189
|
+
readonly ConversionType: "addToCart" | "purchase" | "wishlist" | "quick_view" | "save_for_later";
|
|
190
|
+
readonly OrderLineItem: {
|
|
191
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
192
|
+
/** @description Algolia objectData[].price equivalent. Decimal(18,4). */
|
|
193
|
+
readonly price: components["schemas"]["Price"];
|
|
194
|
+
/** @description Algolia objectData[].quantity equivalent. */
|
|
195
|
+
readonly quantity: components["schemas"]["Quantity"];
|
|
196
|
+
/** @description Algolia objectData[].discount equivalent. Absolute discount per line (NOT a percentage). Optional. */
|
|
197
|
+
readonly discount?: components["schemas"]["Price"];
|
|
198
|
+
/** @description Algolia objectData[].queryID equivalent — per-item search attribution. Closes the multi-search-order gap: when a cart contains items from different searches, each carries its own search_id. Optional (null for organic / non-attributable line items). */
|
|
199
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
200
|
+
/** @description [Seekora extension] Vertical discriminator. Defaults to 'product' for ecommerce carts. */
|
|
201
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
202
|
+
/** @description [Seekora extension] ISO 4217 currency. Typically inherited from parent OrderCompleted.currency; override allowed for multi-currency carts. */
|
|
203
|
+
readonly currency?: components["schemas"]["Currency"];
|
|
204
|
+
/** @description Segment Spec ecommerce v2 line-item field. Optional. */
|
|
205
|
+
readonly sku?: string;
|
|
206
|
+
/** @description Segment Spec ecommerce v2 line-item field. Optional. */
|
|
207
|
+
readonly variant?: string;
|
|
208
|
+
};
|
|
209
|
+
readonly SuggestionText: string;
|
|
210
|
+
/** @enum {string} */
|
|
211
|
+
readonly SuggestionType: "query" | "product" | "category" | "brand";
|
|
212
|
+
/**
|
|
213
|
+
* @description The text the user had typed when the suggestion was clicked.
|
|
214
|
+
* Useful for autocomplete relevance analytics.
|
|
215
|
+
*/
|
|
216
|
+
readonly QueryPrefix: string;
|
|
217
|
+
readonly Url: string;
|
|
218
|
+
readonly ImageUrl: string;
|
|
219
|
+
/**
|
|
220
|
+
* @description Segment Spec context block + Seekora additions. The tenant-stamp Rotor
|
|
221
|
+
* function fills `orgcode` and `xstoreid` from `ctx.props` (Rotor surfaces
|
|
222
|
+
* `link.data.functionsEnv` as `ctx.props` to UDFs); producer fills the
|
|
223
|
+
* rest. The search-id-infer Rotor function may also stamp
|
|
224
|
+
* `search_id_inferred` here when it recovers attribution via cross-event
|
|
225
|
+
* correlation.
|
|
226
|
+
*/
|
|
227
|
+
readonly EventContext: {
|
|
228
|
+
readonly orgcode: components["schemas"]["OrgCode"];
|
|
229
|
+
readonly xstoreid: components["schemas"]["XStoreId"];
|
|
230
|
+
/** @description Numeric org id stamped by tenant-stamp from ctx.props */
|
|
231
|
+
readonly seekora_org_id?: number;
|
|
232
|
+
/**
|
|
233
|
+
* @description Marker stamped by the `seekora-search-id-infer` Rotor function when the
|
|
234
|
+
* event arrived WITHOUT a producer-resolved search_id but a matching
|
|
235
|
+
* (xstoreid, anonymous_id, object_id) tuple was found in the
|
|
236
|
+
* 1-hour-TTL Redis cache (populated by prior Object Clicked / Object
|
|
237
|
+
* Viewed / Search Impression events). Absent/false on events whose
|
|
238
|
+
* search_id came from the 3-layer producer chain (in-memory ->
|
|
239
|
+
* sessionStorage -> URL ?seekora_sid). V4 read endpoints accept
|
|
240
|
+
* `?include_inferred_attribution=false` to filter these out for
|
|
241
|
+
* strict last-click attribution.
|
|
242
|
+
*/
|
|
243
|
+
readonly search_id_inferred?: boolean;
|
|
244
|
+
/** @description Client IP (analytics-next auto-fills via fetch) */
|
|
245
|
+
readonly ip?: string;
|
|
246
|
+
readonly userAgent?: string;
|
|
247
|
+
readonly locale?: string;
|
|
248
|
+
readonly page?: {
|
|
249
|
+
readonly url?: string;
|
|
250
|
+
readonly referrer?: string;
|
|
251
|
+
readonly title?: string;
|
|
252
|
+
readonly path?: string;
|
|
253
|
+
/** @description URL query-string portion */
|
|
254
|
+
readonly search?: string;
|
|
255
|
+
};
|
|
256
|
+
readonly campaign?: {
|
|
257
|
+
readonly source?: string;
|
|
258
|
+
readonly medium?: string;
|
|
259
|
+
readonly name?: string;
|
|
260
|
+
readonly term?: string;
|
|
261
|
+
readonly content?: string;
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
readonly BaseTrackEvent: {
|
|
265
|
+
/** @enum {string} */
|
|
266
|
+
readonly type: "track";
|
|
267
|
+
readonly event: string;
|
|
268
|
+
readonly messageId: components["schemas"]["MessageId"];
|
|
269
|
+
/** Format: date-time */
|
|
270
|
+
readonly timestamp: string;
|
|
271
|
+
/** Format: date-time */
|
|
272
|
+
readonly sentAt?: string | null;
|
|
273
|
+
readonly anonymousId: components["schemas"]["AnonymousId"];
|
|
274
|
+
readonly userId?: components["schemas"]["UserId"];
|
|
275
|
+
readonly context: components["schemas"]["EventContext"];
|
|
276
|
+
/** @description Event-specific properties (specialized per event schema below) */
|
|
277
|
+
readonly properties: Record<string, never>;
|
|
278
|
+
};
|
|
279
|
+
readonly ObjectClickedProperties: {
|
|
280
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
281
|
+
readonly position: components["schemas"]["Position"];
|
|
282
|
+
readonly search_id: components["schemas"]["SearchId"];
|
|
283
|
+
/** @description [Seekora extension] Vertical discriminator. */
|
|
284
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
285
|
+
/** @description [Seekora extension] Storefront UI surface. */
|
|
286
|
+
readonly surface?: components["schemas"]["Surface"];
|
|
287
|
+
/** @description [Seekora extension] Pipeline provenance, set by source-infer Rotor function. */
|
|
288
|
+
readonly _source: components["schemas"]["Source"];
|
|
289
|
+
};
|
|
290
|
+
readonly ObjectClicked: components["schemas"]["BaseTrackEvent"] & {
|
|
291
|
+
/** @enum {string} */
|
|
292
|
+
readonly event?: "Object Clicked";
|
|
293
|
+
readonly properties?: components["schemas"]["ObjectClickedProperties"];
|
|
294
|
+
} & {
|
|
295
|
+
/**
|
|
296
|
+
* @description discriminator enum property added by openapi-typescript
|
|
297
|
+
* @enum {string}
|
|
298
|
+
*/
|
|
299
|
+
readonly event: "Object Clicked";
|
|
300
|
+
};
|
|
301
|
+
readonly ObjectClickedOutsideSearchProperties: {
|
|
302
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
303
|
+
/** @description [Seekora extension] */
|
|
304
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
305
|
+
/** @description [Seekora extension] */
|
|
306
|
+
readonly surface?: components["schemas"]["Surface"];
|
|
307
|
+
/** @description [Seekora extension] */
|
|
308
|
+
readonly _source: components["schemas"]["Source"];
|
|
309
|
+
};
|
|
310
|
+
readonly ObjectClickedOutsideSearch: components["schemas"]["BaseTrackEvent"] & {
|
|
311
|
+
/** @enum {string} */
|
|
312
|
+
readonly event?: "Object Clicked (Outside Search)";
|
|
313
|
+
readonly properties?: components["schemas"]["ObjectClickedOutsideSearchProperties"];
|
|
314
|
+
} & {
|
|
315
|
+
/**
|
|
316
|
+
* @description discriminator enum property added by openapi-typescript
|
|
317
|
+
* @enum {string}
|
|
318
|
+
*/
|
|
319
|
+
readonly event: "Object Clicked (Outside Search)";
|
|
320
|
+
};
|
|
321
|
+
readonly FacetAppliedProperties: {
|
|
322
|
+
readonly filter_attribute: components["schemas"]["FilterAttribute"];
|
|
323
|
+
readonly filter_value: components["schemas"]["FilterValue"];
|
|
324
|
+
/** @description [Seekora extension] Algolia only models clicks; we capture apply/remove distinction. */
|
|
325
|
+
readonly action: components["schemas"]["FilterAction"];
|
|
326
|
+
/** @description [Seekora extension] Joins facet to its originating search for funnel queries. */
|
|
327
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
328
|
+
/** @description [Seekora extension] */
|
|
329
|
+
readonly surface?: components["schemas"]["Surface"];
|
|
330
|
+
/** @description [Seekora extension] */
|
|
331
|
+
readonly _source: components["schemas"]["Source"];
|
|
332
|
+
};
|
|
333
|
+
readonly FacetApplied: components["schemas"]["BaseTrackEvent"] & {
|
|
334
|
+
/** @enum {string} */
|
|
335
|
+
readonly event?: "Facet Applied";
|
|
336
|
+
readonly properties?: components["schemas"]["FacetAppliedProperties"];
|
|
337
|
+
} & {
|
|
338
|
+
/**
|
|
339
|
+
* @description discriminator enum property added by openapi-typescript
|
|
340
|
+
* @enum {string}
|
|
341
|
+
*/
|
|
342
|
+
readonly event: "Facet Applied";
|
|
343
|
+
};
|
|
344
|
+
readonly ObjectConvertedProperties: {
|
|
345
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
346
|
+
readonly search_id: components["schemas"]["SearchId"];
|
|
347
|
+
readonly value?: components["schemas"]["Price"];
|
|
348
|
+
readonly currency?: components["schemas"]["Currency"];
|
|
349
|
+
/** @description Algolia eventSubtype equivalent. Two values align with Algolia (addToCart, purchase); Seekora extends with wishlist/quick_view/save_for_later for soft-conversion intents Algolia doesn't model. Optional — absent on bare conversion events. */
|
|
350
|
+
readonly conversion_type?: components["schemas"]["ConversionType"];
|
|
351
|
+
/** @description [Seekora extension] */
|
|
352
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
353
|
+
/** @description [Seekora extension] */
|
|
354
|
+
readonly _source: components["schemas"]["Source"];
|
|
355
|
+
};
|
|
356
|
+
readonly ObjectConverted: components["schemas"]["BaseTrackEvent"] & {
|
|
357
|
+
/** @enum {string} */
|
|
358
|
+
readonly event?: "Object Converted";
|
|
359
|
+
readonly properties?: components["schemas"]["ObjectConvertedProperties"];
|
|
360
|
+
} & {
|
|
361
|
+
/**
|
|
362
|
+
* @description discriminator enum property added by openapi-typescript
|
|
363
|
+
* @enum {string}
|
|
364
|
+
*/
|
|
365
|
+
readonly event: "Object Converted";
|
|
366
|
+
};
|
|
367
|
+
readonly ObjectConvertedOutsideSearchProperties: {
|
|
368
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
369
|
+
readonly value?: components["schemas"]["Price"];
|
|
370
|
+
readonly currency?: components["schemas"]["Currency"];
|
|
371
|
+
/** @description Algolia eventSubtype equivalent. Two values align with Algolia (addToCart, purchase); Seekora extends with wishlist/quick_view/save_for_later for soft-conversion intents Algolia doesn't model. Optional. */
|
|
372
|
+
readonly conversion_type?: components["schemas"]["ConversionType"];
|
|
373
|
+
/** @description [Seekora extension] */
|
|
374
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
375
|
+
/** @description [Seekora extension] */
|
|
376
|
+
readonly _source: components["schemas"]["Source"];
|
|
377
|
+
};
|
|
378
|
+
readonly ObjectConvertedOutsideSearch: components["schemas"]["BaseTrackEvent"] & {
|
|
379
|
+
/** @enum {string} */
|
|
380
|
+
readonly event?: "Object Converted (Outside Search)";
|
|
381
|
+
readonly properties?: components["schemas"]["ObjectConvertedOutsideSearchProperties"];
|
|
382
|
+
} & {
|
|
383
|
+
/**
|
|
384
|
+
* @description discriminator enum property added by openapi-typescript
|
|
385
|
+
* @enum {string}
|
|
386
|
+
*/
|
|
387
|
+
readonly event: "Object Converted (Outside Search)";
|
|
388
|
+
};
|
|
389
|
+
readonly FilterConvertedProperties: {
|
|
390
|
+
readonly filter_attribute: components["schemas"]["FilterAttribute"];
|
|
391
|
+
readonly filter_value: components["schemas"]["FilterValue"];
|
|
392
|
+
readonly value?: components["schemas"]["Price"];
|
|
393
|
+
readonly currency?: components["schemas"]["Currency"];
|
|
394
|
+
/** @description Algolia eventSubtype equivalent. Two values align with Algolia (addToCart, purchase); Seekora extends with wishlist/quick_view/save_for_later for soft-conversion intents Algolia doesn't model. Optional. */
|
|
395
|
+
readonly conversion_type?: components["schemas"]["ConversionType"];
|
|
396
|
+
/** @description [Seekora extension] queryID not present on ConvertedFilters in Algolia; added for funnel attribution. */
|
|
397
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
398
|
+
/** @description [Seekora extension] */
|
|
399
|
+
readonly _source: components["schemas"]["Source"];
|
|
400
|
+
};
|
|
401
|
+
readonly FilterConverted: components["schemas"]["BaseTrackEvent"] & {
|
|
402
|
+
/** @enum {string} */
|
|
403
|
+
readonly event?: "Filter Converted";
|
|
404
|
+
readonly properties?: components["schemas"]["FilterConvertedProperties"];
|
|
405
|
+
} & {
|
|
406
|
+
/**
|
|
407
|
+
* @description discriminator enum property added by openapi-typescript
|
|
408
|
+
* @enum {string}
|
|
409
|
+
*/
|
|
410
|
+
readonly event: "Filter Converted";
|
|
411
|
+
};
|
|
412
|
+
readonly ProductAddedProperties: {
|
|
413
|
+
/** @description Segment Spec ecommerce v2 field — Shopify Web Pixel emits this name. */
|
|
414
|
+
readonly product_id: components["schemas"]["ObjectId"];
|
|
415
|
+
readonly variant?: string;
|
|
416
|
+
readonly sku?: string;
|
|
417
|
+
readonly name?: string;
|
|
418
|
+
readonly price: components["schemas"]["Price"];
|
|
419
|
+
readonly quantity: components["schemas"]["Quantity"];
|
|
420
|
+
readonly currency: components["schemas"]["Currency"];
|
|
421
|
+
readonly cart_id?: components["schemas"]["CartId"];
|
|
422
|
+
readonly brand?: string;
|
|
423
|
+
readonly category?: string;
|
|
424
|
+
readonly image_url?: components["schemas"]["ImageUrl"];
|
|
425
|
+
readonly url?: components["schemas"]["Url"];
|
|
426
|
+
/** @description [Seekora extension] Canonical item identifier — set to product_id by Layer 2 object-canonicalize Rotor function. */
|
|
427
|
+
readonly object_id?: components["schemas"]["ObjectId"];
|
|
428
|
+
/** @description [Seekora extension] Always 'product' for Shopify Web Pixel events. */
|
|
429
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
430
|
+
/** @description [Seekora extension] Stamped by Web Pixel mapper if URL ?seekora_sid is present + within 30-min TTL. */
|
|
431
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
432
|
+
/** @description [Seekora extension] */
|
|
433
|
+
readonly _source: components["schemas"]["Source"];
|
|
434
|
+
};
|
|
435
|
+
readonly ProductAdded: components["schemas"]["BaseTrackEvent"] & {
|
|
436
|
+
/** @enum {string} */
|
|
437
|
+
readonly event?: "Product Added";
|
|
438
|
+
readonly properties?: components["schemas"]["ProductAddedProperties"];
|
|
439
|
+
} & {
|
|
440
|
+
/**
|
|
441
|
+
* @description discriminator enum property added by openapi-typescript
|
|
442
|
+
* @enum {string}
|
|
443
|
+
*/
|
|
444
|
+
readonly event: "Product Added";
|
|
445
|
+
};
|
|
446
|
+
/**
|
|
447
|
+
* @description Segment Spec ecommerce v2 products[] line-item shape. Used inside Order Completed.products[].
|
|
448
|
+
* Source: https://segment.com/docs/connections/spec/ecommerce/v2/#order-completed
|
|
449
|
+
* Rotor's orderline-explode function fans these out into Order Line Completed events.
|
|
450
|
+
* NOTE: search_id field is a Seekora extension (carried from Product Added attribution).
|
|
451
|
+
*/
|
|
452
|
+
readonly OrderProduct: {
|
|
453
|
+
readonly product_id: components["schemas"]["ObjectId"];
|
|
454
|
+
readonly name?: string;
|
|
455
|
+
readonly sku?: string;
|
|
456
|
+
readonly variant?: string;
|
|
457
|
+
readonly quantity: components["schemas"]["Quantity"];
|
|
458
|
+
readonly price: components["schemas"]["Price"];
|
|
459
|
+
readonly category?: string;
|
|
460
|
+
readonly brand?: string;
|
|
461
|
+
readonly url?: components["schemas"]["Url"];
|
|
462
|
+
/** @description [Seekora extension] Search attribution for this line item, carried forward from Product Added time. */
|
|
463
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
464
|
+
};
|
|
465
|
+
readonly OrderCompletedProperties: {
|
|
466
|
+
readonly order_id: components["schemas"]["OrderId"];
|
|
467
|
+
readonly total: components["schemas"]["Price"];
|
|
468
|
+
readonly currency: components["schemas"]["Currency"];
|
|
469
|
+
readonly revenue?: components["schemas"]["Price"];
|
|
470
|
+
readonly tax?: components["schemas"]["Price"];
|
|
471
|
+
readonly shipping?: components["schemas"]["Price"];
|
|
472
|
+
readonly discount?: components["schemas"]["Price"];
|
|
473
|
+
readonly coupon?: string;
|
|
474
|
+
readonly products: readonly components["schemas"]["OrderProduct"][];
|
|
475
|
+
/**
|
|
476
|
+
* @description [Seekora extension of Algolia objectData[]] Per-line item detail with
|
|
477
|
+
* optional per-line search_id (Algolia queryID equivalent) for
|
|
478
|
+
* multi-search order attribution. When a cart contains items from
|
|
479
|
+
* different searches, each line carries its own search_id; the parent
|
|
480
|
+
* `search_ids[]` field below is the dedup'd aggregate of these values.
|
|
481
|
+
*
|
|
482
|
+
* The rotor's `seekora-orderline-explode` function fans this array
|
|
483
|
+
* into per-row `Order Line Completed` events; consumers querying the
|
|
484
|
+
* parent `Order Completed` can read `object_data` directly without
|
|
485
|
+
* JOINing back to the per-line event table.
|
|
486
|
+
*
|
|
487
|
+
* NOT required (legacy emitters without line-item depth keep working).
|
|
488
|
+
* When present, `object_data[i].currency` may override the parent
|
|
489
|
+
* `currency` for multi-currency carts; otherwise it is inherited.
|
|
490
|
+
*/
|
|
491
|
+
readonly object_data?: readonly components["schemas"]["OrderLineItem"][];
|
|
492
|
+
/**
|
|
493
|
+
* @description [Seekora extension] Derived aggregate: distinct, non-null search_ids
|
|
494
|
+
* across `object_data[]` (and `products[].search_id` for legacy
|
|
495
|
+
* payloads). Useful for the quick boolean "was this order
|
|
496
|
+
* search-attributed at all?" filter without unnesting object_data.
|
|
497
|
+
* For per-item attribution detail (which item came from which
|
|
498
|
+
* search), read `object_data[].search_id` instead.
|
|
499
|
+
*/
|
|
500
|
+
readonly search_ids?: readonly components["schemas"]["SearchId"][];
|
|
501
|
+
/** @description [Seekora extension] */
|
|
502
|
+
readonly _source: components["schemas"]["Source"];
|
|
503
|
+
};
|
|
504
|
+
readonly OrderCompleted: components["schemas"]["BaseTrackEvent"] & {
|
|
505
|
+
/** @enum {string} */
|
|
506
|
+
readonly event?: "Order Completed";
|
|
507
|
+
readonly properties?: components["schemas"]["OrderCompletedProperties"];
|
|
508
|
+
} & {
|
|
509
|
+
/**
|
|
510
|
+
* @description discriminator enum property added by openapi-typescript
|
|
511
|
+
* @enum {string}
|
|
512
|
+
*/
|
|
513
|
+
readonly event: "Order Completed";
|
|
514
|
+
};
|
|
515
|
+
readonly OrderLineCompletedProperties: {
|
|
516
|
+
readonly order_id: components["schemas"]["OrderId"];
|
|
517
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
518
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
519
|
+
/**
|
|
520
|
+
* Format: uint16
|
|
521
|
+
* @description 0-indexed position in the parent Order Completed.products[]
|
|
522
|
+
*/
|
|
523
|
+
readonly line_position: number;
|
|
524
|
+
readonly quantity: components["schemas"]["Quantity"];
|
|
525
|
+
readonly price: components["schemas"]["Price"];
|
|
526
|
+
readonly currency: components["schemas"]["Currency"];
|
|
527
|
+
/** @description Search attribution for this line item (carried from Product Added). Nullable if no attributable search. */
|
|
528
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
529
|
+
/**
|
|
530
|
+
* @description Always rotor_synthesized_orderline. Distinguishes from any client-emitted line events.
|
|
531
|
+
* @enum {string}
|
|
532
|
+
*/
|
|
533
|
+
readonly _source: "rotor_synthesized_orderline";
|
|
534
|
+
};
|
|
535
|
+
readonly OrderLineCompleted: components["schemas"]["BaseTrackEvent"] & {
|
|
536
|
+
/** @enum {string} */
|
|
537
|
+
readonly event?: "Order Line Completed";
|
|
538
|
+
readonly properties?: components["schemas"]["OrderLineCompletedProperties"];
|
|
539
|
+
} & {
|
|
540
|
+
/**
|
|
541
|
+
* @description discriminator enum property added by openapi-typescript
|
|
542
|
+
* @enum {string}
|
|
543
|
+
*/
|
|
544
|
+
readonly event: "Order Line Completed";
|
|
545
|
+
};
|
|
546
|
+
readonly ProductViewedProperties: {
|
|
547
|
+
readonly product_id: components["schemas"]["ObjectId"];
|
|
548
|
+
readonly variant?: string;
|
|
549
|
+
readonly sku?: string;
|
|
550
|
+
readonly name?: string;
|
|
551
|
+
readonly price?: components["schemas"]["Price"];
|
|
552
|
+
readonly currency?: components["schemas"]["Currency"];
|
|
553
|
+
readonly brand?: string;
|
|
554
|
+
readonly category?: string;
|
|
555
|
+
readonly url?: components["schemas"]["Url"];
|
|
556
|
+
readonly image_url?: components["schemas"]["ImageUrl"];
|
|
557
|
+
/** @description [Seekora extension] Canonical = product_id (set by Layer 2 Rotor function). */
|
|
558
|
+
readonly object_id?: components["schemas"]["ObjectId"];
|
|
559
|
+
/** @description [Seekora extension] Always 'product' for Shopify Web Pixel events. */
|
|
560
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
561
|
+
/** @description [Seekora extension] Stamped from URL ?seekora_sid if within 30-min TTL. */
|
|
562
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
563
|
+
/** @description [Seekora extension] */
|
|
564
|
+
readonly _source: components["schemas"]["Source"];
|
|
565
|
+
};
|
|
566
|
+
readonly ProductViewed: components["schemas"]["BaseTrackEvent"] & {
|
|
567
|
+
/** @enum {string} */
|
|
568
|
+
readonly event?: "Product Viewed";
|
|
569
|
+
readonly properties?: components["schemas"]["ProductViewedProperties"];
|
|
570
|
+
} & {
|
|
571
|
+
/**
|
|
572
|
+
* @description discriminator enum property added by openapi-typescript
|
|
573
|
+
* @enum {string}
|
|
574
|
+
*/
|
|
575
|
+
readonly event: "Product Viewed";
|
|
576
|
+
};
|
|
577
|
+
readonly ObjectViewedProperties: {
|
|
578
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
579
|
+
/** @description [Seekora extension] */
|
|
580
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
581
|
+
/** @description [Seekora extension] Search-tree attribution. */
|
|
582
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
583
|
+
/** @description [Seekora extension] */
|
|
584
|
+
readonly surface?: components["schemas"]["Surface"];
|
|
585
|
+
/** @description [Seekora extension] */
|
|
586
|
+
readonly _source: components["schemas"]["Source"];
|
|
587
|
+
};
|
|
588
|
+
readonly ObjectViewed: components["schemas"]["BaseTrackEvent"] & {
|
|
589
|
+
/** @enum {string} */
|
|
590
|
+
readonly event?: "Object Viewed";
|
|
591
|
+
readonly properties?: components["schemas"]["ObjectViewedProperties"];
|
|
592
|
+
} & {
|
|
593
|
+
/**
|
|
594
|
+
* @description discriminator enum property added by openapi-typescript
|
|
595
|
+
* @enum {string}
|
|
596
|
+
*/
|
|
597
|
+
readonly event: "Object Viewed";
|
|
598
|
+
};
|
|
599
|
+
readonly FilterViewedProperties: {
|
|
600
|
+
readonly filter_attribute: components["schemas"]["FilterAttribute"];
|
|
601
|
+
readonly filter_value?: components["schemas"]["FilterValue"];
|
|
602
|
+
/** @description [Seekora extension] */
|
|
603
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
604
|
+
/** @description [Seekora extension] */
|
|
605
|
+
readonly _source: components["schemas"]["Source"];
|
|
606
|
+
};
|
|
607
|
+
readonly FilterViewed: components["schemas"]["BaseTrackEvent"] & {
|
|
608
|
+
/** @enum {string} */
|
|
609
|
+
readonly event?: "Filter Viewed";
|
|
610
|
+
readonly properties?: components["schemas"]["FilterViewedProperties"];
|
|
611
|
+
} & {
|
|
612
|
+
/**
|
|
613
|
+
* @description discriminator enum property added by openapi-typescript
|
|
614
|
+
* @enum {string}
|
|
615
|
+
*/
|
|
616
|
+
readonly event: "Filter Viewed";
|
|
617
|
+
};
|
|
618
|
+
readonly SearchSubmittedProperties: {
|
|
619
|
+
readonly search_id: components["schemas"]["SearchId"];
|
|
620
|
+
readonly query: components["schemas"]["Query"];
|
|
621
|
+
readonly num_found: components["schemas"]["NumFound"];
|
|
622
|
+
readonly page?: components["schemas"]["Page"];
|
|
623
|
+
readonly sort_by?: components["schemas"]["SortBy"];
|
|
624
|
+
readonly filters?: components["schemas"]["Filters"];
|
|
625
|
+
readonly surface?: components["schemas"]["Surface"];
|
|
626
|
+
/** @description Nullable. Present if user reached this search by clicking an autocomplete suggestion. */
|
|
627
|
+
readonly triggered_by_suggestion_id?: components["schemas"]["SuggestionEventId"];
|
|
628
|
+
readonly _source: components["schemas"]["Source"];
|
|
629
|
+
};
|
|
630
|
+
readonly SearchSubmitted: components["schemas"]["BaseTrackEvent"] & {
|
|
631
|
+
/** @enum {string} */
|
|
632
|
+
readonly event?: "Search Submitted";
|
|
633
|
+
readonly properties?: components["schemas"]["SearchSubmittedProperties"];
|
|
634
|
+
} & {
|
|
635
|
+
/**
|
|
636
|
+
* @description discriminator enum property added by openapi-typescript
|
|
637
|
+
* @enum {string}
|
|
638
|
+
*/
|
|
639
|
+
readonly event: "Search Submitted";
|
|
640
|
+
};
|
|
641
|
+
readonly SearchImpressionProperties: {
|
|
642
|
+
readonly search_id: components["schemas"]["SearchId"];
|
|
643
|
+
readonly object_id: components["schemas"]["ObjectId"];
|
|
644
|
+
readonly object_type?: components["schemas"]["ObjectType"];
|
|
645
|
+
readonly position: components["schemas"]["Position"];
|
|
646
|
+
readonly surface: components["schemas"]["Surface"];
|
|
647
|
+
readonly _source: components["schemas"]["Source"];
|
|
648
|
+
};
|
|
649
|
+
readonly SearchImpression: components["schemas"]["BaseTrackEvent"] & {
|
|
650
|
+
/** @enum {string} */
|
|
651
|
+
readonly event?: "Search Impression";
|
|
652
|
+
readonly properties?: components["schemas"]["SearchImpressionProperties"];
|
|
653
|
+
} & {
|
|
654
|
+
/**
|
|
655
|
+
* @description discriminator enum property added by openapi-typescript
|
|
656
|
+
* @enum {string}
|
|
657
|
+
*/
|
|
658
|
+
readonly event: "Search Impression";
|
|
659
|
+
};
|
|
660
|
+
readonly SearchRefinedProperties: {
|
|
661
|
+
/** @description The NEW search_id minted for the refined search */
|
|
662
|
+
readonly search_id: components["schemas"]["SearchId"];
|
|
663
|
+
/** @description The PREVIOUS search_id that this refinement evolved FROM */
|
|
664
|
+
readonly from_search_id: components["schemas"]["FromSearchId"];
|
|
665
|
+
readonly from_query: components["schemas"]["Query"];
|
|
666
|
+
readonly to_query: components["schemas"]["Query"];
|
|
667
|
+
readonly _source: components["schemas"]["Source"];
|
|
668
|
+
};
|
|
669
|
+
readonly SearchRefined: components["schemas"]["BaseTrackEvent"] & {
|
|
670
|
+
/** @enum {string} */
|
|
671
|
+
readonly event?: "Search Refined";
|
|
672
|
+
readonly properties?: components["schemas"]["SearchRefinedProperties"];
|
|
673
|
+
} & {
|
|
674
|
+
/**
|
|
675
|
+
* @description discriminator enum property added by openapi-typescript
|
|
676
|
+
* @enum {string}
|
|
677
|
+
*/
|
|
678
|
+
readonly event: "Search Refined";
|
|
679
|
+
};
|
|
680
|
+
readonly SearchEmptyProperties: {
|
|
681
|
+
readonly search_id: components["schemas"]["SearchId"];
|
|
682
|
+
readonly query: components["schemas"]["Query"];
|
|
683
|
+
readonly filters?: components["schemas"]["Filters"];
|
|
684
|
+
readonly _source: components["schemas"]["Source"];
|
|
685
|
+
};
|
|
686
|
+
readonly SearchEmpty: components["schemas"]["BaseTrackEvent"] & {
|
|
687
|
+
/** @enum {string} */
|
|
688
|
+
readonly event?: "Search Empty";
|
|
689
|
+
readonly properties?: components["schemas"]["SearchEmptyProperties"];
|
|
690
|
+
} & {
|
|
691
|
+
/**
|
|
692
|
+
* @description discriminator enum property added by openapi-typescript
|
|
693
|
+
* @enum {string}
|
|
694
|
+
*/
|
|
695
|
+
readonly event: "Search Empty";
|
|
696
|
+
};
|
|
697
|
+
readonly SuggestionClickedProperties: {
|
|
698
|
+
readonly suggestion_event_id: components["schemas"]["SuggestionEventId"];
|
|
699
|
+
readonly suggestion_text: components["schemas"]["SuggestionText"];
|
|
700
|
+
/** Format: uint16 */
|
|
701
|
+
readonly suggestion_position: number;
|
|
702
|
+
readonly suggestion_type: components["schemas"]["SuggestionType"];
|
|
703
|
+
readonly query_prefix?: components["schemas"]["QueryPrefix"];
|
|
704
|
+
/** @description Nullable. Only set when the suggestion click happened DURING an active search (clicking a related-suggestion below the results, for example). */
|
|
705
|
+
readonly search_id?: components["schemas"]["SearchId"];
|
|
706
|
+
readonly _source: components["schemas"]["Source"];
|
|
707
|
+
};
|
|
708
|
+
readonly SuggestionClicked: components["schemas"]["BaseTrackEvent"] & {
|
|
709
|
+
/** @enum {string} */
|
|
710
|
+
readonly event?: "Suggestion Clicked";
|
|
711
|
+
readonly properties?: components["schemas"]["SuggestionClickedProperties"];
|
|
712
|
+
} & {
|
|
713
|
+
/**
|
|
714
|
+
* @description discriminator enum property added by openapi-typescript
|
|
715
|
+
* @enum {string}
|
|
716
|
+
*/
|
|
717
|
+
readonly event: "Suggestion Clicked";
|
|
718
|
+
};
|
|
719
|
+
readonly AnalyticsEvent: components["schemas"]["ObjectClicked"] | components["schemas"]["ObjectClickedOutsideSearch"] | components["schemas"]["FacetApplied"] | components["schemas"]["ObjectConverted"] | components["schemas"]["ObjectConvertedOutsideSearch"] | components["schemas"]["FilterConverted"] | components["schemas"]["ProductAdded"] | components["schemas"]["OrderCompleted"] | components["schemas"]["OrderLineCompleted"] | components["schemas"]["ProductViewed"] | components["schemas"]["ObjectViewed"] | components["schemas"]["FilterViewed"] | components["schemas"]["SearchSubmitted"] | components["schemas"]["SearchImpression"] | components["schemas"]["SearchRefined"] | components["schemas"]["SearchEmpty"] | components["schemas"]["SuggestionClicked"];
|
|
720
|
+
readonly BatchEnvelope: {
|
|
721
|
+
readonly batch: readonly components["schemas"]["AnalyticsEvent"][];
|
|
722
|
+
/**
|
|
723
|
+
* @description Stream-level write key (== Jitsu Stream.ID per SCRUM-263 convention).
|
|
724
|
+
* Per-tenant; provisioned by `RegisterJitsuHook`.
|
|
725
|
+
*/
|
|
726
|
+
readonly writeKey: string;
|
|
727
|
+
/** Format: date-time */
|
|
728
|
+
readonly sentAt?: string;
|
|
729
|
+
};
|
|
730
|
+
};
|
|
731
|
+
responses: never;
|
|
732
|
+
parameters: never;
|
|
733
|
+
requestBodies: never;
|
|
734
|
+
headers: never;
|
|
735
|
+
pathItems: never;
|
|
736
|
+
}
|
|
737
|
+
export type $defs = Record<string, never>;
|
|
738
|
+
export interface operations {
|
|
739
|
+
readonly ingestBatch: {
|
|
740
|
+
readonly parameters: {
|
|
741
|
+
readonly query?: never;
|
|
742
|
+
readonly header?: never;
|
|
743
|
+
readonly path?: never;
|
|
744
|
+
readonly cookie?: never;
|
|
745
|
+
};
|
|
746
|
+
readonly requestBody: {
|
|
747
|
+
readonly content: {
|
|
748
|
+
readonly "application/json": components["schemas"]["BatchEnvelope"];
|
|
749
|
+
};
|
|
750
|
+
};
|
|
751
|
+
readonly responses: {
|
|
752
|
+
/** @description Accepted (events queued; downstream processing async) */
|
|
753
|
+
readonly 200: {
|
|
754
|
+
headers: {
|
|
755
|
+
readonly [name: string]: unknown;
|
|
756
|
+
};
|
|
757
|
+
content: {
|
|
758
|
+
readonly "application/json": {
|
|
759
|
+
readonly ok?: boolean;
|
|
760
|
+
/** @description count dropped by stream.deduplicateWindowMs */
|
|
761
|
+
readonly deduplicatedEvents?: number;
|
|
762
|
+
};
|
|
763
|
+
};
|
|
764
|
+
};
|
|
765
|
+
/** @description Invalid writeKey */
|
|
766
|
+
readonly 401: {
|
|
767
|
+
headers: {
|
|
768
|
+
readonly [name: string]: unknown;
|
|
769
|
+
};
|
|
770
|
+
content?: never;
|
|
771
|
+
};
|
|
772
|
+
/** @description Throttled — stream.throttle dropped this request */
|
|
773
|
+
readonly 402: {
|
|
774
|
+
headers: {
|
|
775
|
+
readonly [name: string]: unknown;
|
|
776
|
+
};
|
|
777
|
+
content?: never;
|
|
778
|
+
};
|
|
779
|
+
};
|
|
780
|
+
};
|
|
781
|
+
}
|