@trillboards/api-client 3.2.1 → 3.2.5
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/{chunk-JLSS2URG.mjs → chunk-A5ESPUCN.mjs} +2 -2
- package/dist/chunk-A5ESPUCN.mjs.map +1 -0
- package/dist/generated.d.mts +75 -17
- package/dist/generated.d.ts +75 -17
- package/dist/generated.js.map +1 -1
- package/dist/generated.mjs +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-JLSS2URG.mjs.map +0 -1
package/dist/generated.d.mts
CHANGED
|
@@ -2384,7 +2384,7 @@ type Partner = {
|
|
|
2384
2384
|
type PartnerAdDeliveryProfile = {
|
|
2385
2385
|
/** Android SDK API level as reported by the device; `null` when not reported, and then no Android rule fires at all. Below 23 forces `mode: vast_fallback` and turns `auto_recovery_enabled` off. 23-25 with desugaring reported off only appends a warning to `notes` and leaves the mode alone. */
|
|
2386
2386
|
android_api_level?: number | null;
|
|
2387
|
-
/** Whether the SERVER may auto-enqueue recovery device commands for this device — the `refresh_ads` and `restart` it issues when a screen heartbeats online without recent VAST requests, or with stalled playback. It is not a client-side setting, and it goes false alongside every `vast_fallback` verdict so we do not restart a device whose player we already know is the wrong one. */
|
|
2387
|
+
/** Whether the SERVER may auto-enqueue recovery device commands for this device — the `refresh_ads` and `restart` it issues when a screen heartbeats online without recent VAST requests, or with stalled playback. It is not a client-side setting, and it goes false alongside every `vast_fallback` verdict so we do not restart a device whose player we already know is the wrong one. Even when true, a recovery command is queued only for a device that acts on commands, meaning one that acknowledged a command (`POST /device/{deviceId}/command/{commandId}/ack`) in the last 7 days, or that was handed none in that time. A device that let a delivered command expire unacknowledged, and acknowledged none, is sent no recovery command until that command is 7 days old. */
|
|
2388
2388
|
auto_recovery_enabled?: boolean;
|
|
2389
2389
|
/** Echoed back from the device's own heartbeat telemetry, or `unknown` when the device never reported one. It selects which compatibility rules run: `android_native` enables the Android API-level gate, `html5_webview` the Chromium-version checks; `disabled` and `unknown` skip both, so no mode change can result from those. */
|
|
2390
2390
|
ima_integration?: "android_native" | "html5_webview" | "disabled" | "unknown";
|
|
@@ -6275,7 +6275,7 @@ interface exportDatasetOperation {
|
|
|
6275
6275
|
};
|
|
6276
6276
|
}
|
|
6277
6277
|
/**
|
|
6278
|
-
* Geographic audience
|
|
6278
|
+
* Geographic audience panel (data-licensing)
|
|
6279
6279
|
* GET /v1/partner/data/geohash-audience-panel
|
|
6280
6280
|
*/
|
|
6281
6281
|
interface getGeohashAudiencePanelOperation {
|
|
@@ -6292,8 +6292,12 @@ interface getGeohashAudiencePanelOperation {
|
|
|
6292
6292
|
};
|
|
6293
6293
|
response: {
|
|
6294
6294
|
data?: {
|
|
6295
|
+
/** The build of the day this page read (UTC, `YYYY-MM-DD HH:MM:SS.mmm`). A day with no build is answered `404` `day_not_built`. */
|
|
6296
|
+
built_at: string;
|
|
6295
6297
|
/** Day exported (UTC). */
|
|
6296
6298
|
date: string;
|
|
6299
|
+
/** The panel's definition (2 since 2026-10-19). */
|
|
6300
|
+
definition_version: number;
|
|
6297
6301
|
/** Rows per page this response was read with. */
|
|
6298
6302
|
limit: number;
|
|
6299
6303
|
/** The `offset` of the next page, or `null` on the last page. */
|
|
@@ -6302,28 +6306,82 @@ interface getGeohashAudiencePanelOperation {
|
|
|
6302
6306
|
offset: number;
|
|
6303
6307
|
/** Integer partner_id (`partners.partner_id`). */
|
|
6304
6308
|
partner_id: number;
|
|
6305
|
-
/**
|
|
6309
|
+
/** One row per (hour, geohash6, venue_category), every cell with its counts. */
|
|
6306
6310
|
rows: Array<{
|
|
6307
|
-
/**
|
|
6311
|
+
/** Mean device head-pose index 0-1 over the camera windows. `null` when the cell-hour holds no camera window. */
|
|
6308
6312
|
avg_attention: number | null;
|
|
6309
|
-
/**
|
|
6313
|
+
/** Mean dwell per window in milliseconds, each window's dwell capped at its own length, over the windows that carry a start time (dwell_capped_windows). `null`: No window of the row carries a start time (dwell_capped_windows = 0). */
|
|
6314
|
+
avg_dwell_ms: number | null;
|
|
6315
|
+
/** Mean capped dwell per camera window, seconds (`avg_dwell_ms` / 1000). `null` when no camera window of the cell-hour carries a start time. */
|
|
6310
6316
|
avg_dwell_seconds: number | null;
|
|
6311
|
-
/**
|
|
6317
|
+
/** Mean faces per camera window. `null` when the cell-hour holds no camera window. */
|
|
6312
6318
|
avg_face_count: number | null;
|
|
6313
|
-
/**
|
|
6319
|
+
/** The windows avg_dwell_ms averages: camera windows that carry a start time. */
|
|
6320
|
+
dwell_capped_windows: number;
|
|
6321
|
+
/** Of those, the face-backed windows. */
|
|
6322
|
+
face_backed_windows: number;
|
|
6323
|
+
/** Of those, the identifiers whose strongest signal was below it: the devices around the screen. Sources that report no signal strength (mDNS, SSDP, HTTP probe) are in neither split. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6324
|
+
far_key_slots: number | null;
|
|
6325
|
+
/** far_key_slots / radio_slots. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6326
|
+
far_keys_per_slot: number | null;
|
|
6327
|
+
/** Median age of those fixes at the window's instant. `null`: No camera window of the row was placed by a trail fix. */
|
|
6328
|
+
fix_age_p50_s: number | null;
|
|
6329
|
+
/** 90th-percentile age of those fixes. `null`: No camera window of the row was placed by a trail fix. */
|
|
6330
|
+
fix_age_p90_s: number | null;
|
|
6331
|
+
/** Camera windows of a fixed screen with no trail fix in the lookback, placed at its registered site. */
|
|
6332
|
+
fixed_site_positioned_windows: number;
|
|
6333
|
+
/** Geohash-6 cell (about 1.2 x 0.6 km) where the screen was at the unit's instant: on its map-matched path, else at its last GPS trail fix, else (a fixed screen) at its registered site. */
|
|
6314
6334
|
geohash6: string;
|
|
6315
|
-
/**
|
|
6335
|
+
/** Start of the UTC hour, `YYYY-MM-DD HH:MM:SS`. A camera window counts in the hour it closed, a radio slot in the hour of its midpoint. */
|
|
6316
6336
|
hour: string;
|
|
6317
|
-
/**
|
|
6318
|
-
income_tier: string;
|
|
6319
|
-
/**
|
|
6320
|
-
|
|
6321
|
-
/**
|
|
6322
|
-
|
|
6323
|
-
/**
|
|
6324
|
-
|
|
6325
|
-
/**
|
|
6337
|
+
/** `null` on every row: no income source joins the panel (definition 1 wrote `unknown`). */
|
|
6338
|
+
income_tier: string | null;
|
|
6339
|
+
/** Camera windows placed at the screen's last GPS fix at or before their instant. */
|
|
6340
|
+
last_fix_positioned_windows: number;
|
|
6341
|
+
/** The near-field boundary of the row's day: the active pass_audience method register's rf_near_rssi_dbm, the boundary the in-cab radio uses. */
|
|
6342
|
+
near_field_rssi_dbm: number;
|
|
6343
|
+
/** Of those, the identifiers whose strongest signal in the slot was at or above near_field_rssi_dbm: in the vehicle or against the screen. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6344
|
+
near_key_slots: number | null;
|
|
6345
|
+
/** near_key_slots / radio_slots: near-field identifiers concurrent in one slot. The approved metric radio_identifiers_per_person converts near-field passenger Bluetooth identifiers to people: it is measured in the cab, where the driver's phone and the vehicle's own devices are removed by role. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6346
|
+
near_keys_per_slot: number | null;
|
|
6347
|
+
/** Radio observations (pings) of those identifiers in the cell-hour (`radio_pings`). `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6348
|
+
observation_count: number | null;
|
|
6349
|
+
/** Camera-graded windows (face- or person-backed, ~10 s each) placed in the cell. */
|
|
6350
|
+
observation_windows: number;
|
|
6351
|
+
/** Exact 95th percentile of the per-window face reading over the row's windows. `null`: No camera window in the row. */
|
|
6352
|
+
p95_face_count: number | null;
|
|
6353
|
+
/** Camera windows placed on the map-matched vehicle path at their instant. */
|
|
6354
|
+
path_positioned_windows: number;
|
|
6355
|
+
/** Of those, the person-backed windows. */
|
|
6356
|
+
person_backed_windows: number;
|
|
6357
|
+
/** The windows persons_per_window averages. */
|
|
6358
|
+
person_reading_windows: number;
|
|
6359
|
+
/** Mean people in view per camera window, faced or not: per window the larger of its mean person count and its mean face count (the in-cab panel's persons reading), over the windows that carry one. `null`: No camera window of the row carries a persons reading (person_reading_windows = 0). */
|
|
6360
|
+
persons_per_window: number | null;
|
|
6361
|
+
/** Radio slots of a fixed screen with no trail fix in the lookback, placed at its registered site. */
|
|
6362
|
+
radio_fixed_site_positioned_slots: number;
|
|
6363
|
+
/** Radio slots placed at the screen's last GPS fix at or before their midpoint. */
|
|
6364
|
+
radio_last_fix_positioned_slots: number;
|
|
6365
|
+
/** Radio slots placed on the map-matched path at their midpoint. */
|
|
6366
|
+
radio_path_positioned_slots: number;
|
|
6367
|
+
/** Radio observations of the visitor identifiers in the row's slots. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6368
|
+
radio_pings: number | null;
|
|
6369
|
+
/** Distinct screens whose radio slots the row holds. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6370
|
+
radio_screens: number | null;
|
|
6371
|
+
/** 6-minute radio slots of screens placed in the cell: a slot in which the screen's visitor radio read an identifier (a slot in which the scanner reported only the screen's own Wi-Fi access point does not show the visitor radio ran, and is no slot here). 0 when only camera windows fell in the row. */
|
|
6372
|
+
radio_slots: number;
|
|
6373
|
+
/** Distinct screens whose radio slots the cell-hour holds (`radio_screens`). `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6374
|
+
screen_count: number | null;
|
|
6375
|
+
/** Distinct screens whose camera windows the row holds. */
|
|
6376
|
+
screens: number;
|
|
6377
|
+
/** Distinct visitor-source radio identifiers (BLE, mDNS, SSDP, HTTP probe) over the cell-hour's radio slots, exact. A distinct count: rows do not add. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6378
|
+
unique_devices: number | null;
|
|
6379
|
+
/** The screen's registered venue category (`transit` for a vehicle screen); empty when the registry holds none. */
|
|
6326
6380
|
venue_category: string;
|
|
6381
|
+
/** Visitor-source radio identifiers (BLE, mDNS, SSDP, HTTP probe) distinct within each slot, summed over the slots. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6382
|
+
visitor_key_slots: number | null;
|
|
6383
|
+
/** visitor_key_slots / radio_slots: identifiers concurrent in one 6-minute slot, every visitor source and both fields. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6384
|
+
visitor_keys_per_slot: number | null;
|
|
6327
6385
|
}>;
|
|
6328
6386
|
/** `true` when more cells follow this page: request `next_offset`. */
|
|
6329
6387
|
truncated: boolean;
|
package/dist/generated.d.ts
CHANGED
|
@@ -2384,7 +2384,7 @@ type Partner = {
|
|
|
2384
2384
|
type PartnerAdDeliveryProfile = {
|
|
2385
2385
|
/** Android SDK API level as reported by the device; `null` when not reported, and then no Android rule fires at all. Below 23 forces `mode: vast_fallback` and turns `auto_recovery_enabled` off. 23-25 with desugaring reported off only appends a warning to `notes` and leaves the mode alone. */
|
|
2386
2386
|
android_api_level?: number | null;
|
|
2387
|
-
/** Whether the SERVER may auto-enqueue recovery device commands for this device — the `refresh_ads` and `restart` it issues when a screen heartbeats online without recent VAST requests, or with stalled playback. It is not a client-side setting, and it goes false alongside every `vast_fallback` verdict so we do not restart a device whose player we already know is the wrong one. */
|
|
2387
|
+
/** Whether the SERVER may auto-enqueue recovery device commands for this device — the `refresh_ads` and `restart` it issues when a screen heartbeats online without recent VAST requests, or with stalled playback. It is not a client-side setting, and it goes false alongside every `vast_fallback` verdict so we do not restart a device whose player we already know is the wrong one. Even when true, a recovery command is queued only for a device that acts on commands, meaning one that acknowledged a command (`POST /device/{deviceId}/command/{commandId}/ack`) in the last 7 days, or that was handed none in that time. A device that let a delivered command expire unacknowledged, and acknowledged none, is sent no recovery command until that command is 7 days old. */
|
|
2388
2388
|
auto_recovery_enabled?: boolean;
|
|
2389
2389
|
/** Echoed back from the device's own heartbeat telemetry, or `unknown` when the device never reported one. It selects which compatibility rules run: `android_native` enables the Android API-level gate, `html5_webview` the Chromium-version checks; `disabled` and `unknown` skip both, so no mode change can result from those. */
|
|
2390
2390
|
ima_integration?: "android_native" | "html5_webview" | "disabled" | "unknown";
|
|
@@ -6275,7 +6275,7 @@ interface exportDatasetOperation {
|
|
|
6275
6275
|
};
|
|
6276
6276
|
}
|
|
6277
6277
|
/**
|
|
6278
|
-
* Geographic audience
|
|
6278
|
+
* Geographic audience panel (data-licensing)
|
|
6279
6279
|
* GET /v1/partner/data/geohash-audience-panel
|
|
6280
6280
|
*/
|
|
6281
6281
|
interface getGeohashAudiencePanelOperation {
|
|
@@ -6292,8 +6292,12 @@ interface getGeohashAudiencePanelOperation {
|
|
|
6292
6292
|
};
|
|
6293
6293
|
response: {
|
|
6294
6294
|
data?: {
|
|
6295
|
+
/** The build of the day this page read (UTC, `YYYY-MM-DD HH:MM:SS.mmm`). A day with no build is answered `404` `day_not_built`. */
|
|
6296
|
+
built_at: string;
|
|
6295
6297
|
/** Day exported (UTC). */
|
|
6296
6298
|
date: string;
|
|
6299
|
+
/** The panel's definition (2 since 2026-10-19). */
|
|
6300
|
+
definition_version: number;
|
|
6297
6301
|
/** Rows per page this response was read with. */
|
|
6298
6302
|
limit: number;
|
|
6299
6303
|
/** The `offset` of the next page, or `null` on the last page. */
|
|
@@ -6302,28 +6306,82 @@ interface getGeohashAudiencePanelOperation {
|
|
|
6302
6306
|
offset: number;
|
|
6303
6307
|
/** Integer partner_id (`partners.partner_id`). */
|
|
6304
6308
|
partner_id: number;
|
|
6305
|
-
/**
|
|
6309
|
+
/** One row per (hour, geohash6, venue_category), every cell with its counts. */
|
|
6306
6310
|
rows: Array<{
|
|
6307
|
-
/**
|
|
6311
|
+
/** Mean device head-pose index 0-1 over the camera windows. `null` when the cell-hour holds no camera window. */
|
|
6308
6312
|
avg_attention: number | null;
|
|
6309
|
-
/**
|
|
6313
|
+
/** Mean dwell per window in milliseconds, each window's dwell capped at its own length, over the windows that carry a start time (dwell_capped_windows). `null`: No window of the row carries a start time (dwell_capped_windows = 0). */
|
|
6314
|
+
avg_dwell_ms: number | null;
|
|
6315
|
+
/** Mean capped dwell per camera window, seconds (`avg_dwell_ms` / 1000). `null` when no camera window of the cell-hour carries a start time. */
|
|
6310
6316
|
avg_dwell_seconds: number | null;
|
|
6311
|
-
/**
|
|
6317
|
+
/** Mean faces per camera window. `null` when the cell-hour holds no camera window. */
|
|
6312
6318
|
avg_face_count: number | null;
|
|
6313
|
-
/**
|
|
6319
|
+
/** The windows avg_dwell_ms averages: camera windows that carry a start time. */
|
|
6320
|
+
dwell_capped_windows: number;
|
|
6321
|
+
/** Of those, the face-backed windows. */
|
|
6322
|
+
face_backed_windows: number;
|
|
6323
|
+
/** Of those, the identifiers whose strongest signal was below it: the devices around the screen. Sources that report no signal strength (mDNS, SSDP, HTTP probe) are in neither split. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6324
|
+
far_key_slots: number | null;
|
|
6325
|
+
/** far_key_slots / radio_slots. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6326
|
+
far_keys_per_slot: number | null;
|
|
6327
|
+
/** Median age of those fixes at the window's instant. `null`: No camera window of the row was placed by a trail fix. */
|
|
6328
|
+
fix_age_p50_s: number | null;
|
|
6329
|
+
/** 90th-percentile age of those fixes. `null`: No camera window of the row was placed by a trail fix. */
|
|
6330
|
+
fix_age_p90_s: number | null;
|
|
6331
|
+
/** Camera windows of a fixed screen with no trail fix in the lookback, placed at its registered site. */
|
|
6332
|
+
fixed_site_positioned_windows: number;
|
|
6333
|
+
/** Geohash-6 cell (about 1.2 x 0.6 km) where the screen was at the unit's instant: on its map-matched path, else at its last GPS trail fix, else (a fixed screen) at its registered site. */
|
|
6314
6334
|
geohash6: string;
|
|
6315
|
-
/**
|
|
6335
|
+
/** Start of the UTC hour, `YYYY-MM-DD HH:MM:SS`. A camera window counts in the hour it closed, a radio slot in the hour of its midpoint. */
|
|
6316
6336
|
hour: string;
|
|
6317
|
-
/**
|
|
6318
|
-
income_tier: string;
|
|
6319
|
-
/**
|
|
6320
|
-
|
|
6321
|
-
/**
|
|
6322
|
-
|
|
6323
|
-
/**
|
|
6324
|
-
|
|
6325
|
-
/**
|
|
6337
|
+
/** `null` on every row: no income source joins the panel (definition 1 wrote `unknown`). */
|
|
6338
|
+
income_tier: string | null;
|
|
6339
|
+
/** Camera windows placed at the screen's last GPS fix at or before their instant. */
|
|
6340
|
+
last_fix_positioned_windows: number;
|
|
6341
|
+
/** The near-field boundary of the row's day: the active pass_audience method register's rf_near_rssi_dbm, the boundary the in-cab radio uses. */
|
|
6342
|
+
near_field_rssi_dbm: number;
|
|
6343
|
+
/** Of those, the identifiers whose strongest signal in the slot was at or above near_field_rssi_dbm: in the vehicle or against the screen. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6344
|
+
near_key_slots: number | null;
|
|
6345
|
+
/** near_key_slots / radio_slots: near-field identifiers concurrent in one slot. The approved metric radio_identifiers_per_person converts near-field passenger Bluetooth identifiers to people: it is measured in the cab, where the driver's phone and the vehicle's own devices are removed by role. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6346
|
+
near_keys_per_slot: number | null;
|
|
6347
|
+
/** Radio observations (pings) of those identifiers in the cell-hour (`radio_pings`). `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6348
|
+
observation_count: number | null;
|
|
6349
|
+
/** Camera-graded windows (face- or person-backed, ~10 s each) placed in the cell. */
|
|
6350
|
+
observation_windows: number;
|
|
6351
|
+
/** Exact 95th percentile of the per-window face reading over the row's windows. `null`: No camera window in the row. */
|
|
6352
|
+
p95_face_count: number | null;
|
|
6353
|
+
/** Camera windows placed on the map-matched vehicle path at their instant. */
|
|
6354
|
+
path_positioned_windows: number;
|
|
6355
|
+
/** Of those, the person-backed windows. */
|
|
6356
|
+
person_backed_windows: number;
|
|
6357
|
+
/** The windows persons_per_window averages. */
|
|
6358
|
+
person_reading_windows: number;
|
|
6359
|
+
/** Mean people in view per camera window, faced or not: per window the larger of its mean person count and its mean face count (the in-cab panel's persons reading), over the windows that carry one. `null`: No camera window of the row carries a persons reading (person_reading_windows = 0). */
|
|
6360
|
+
persons_per_window: number | null;
|
|
6361
|
+
/** Radio slots of a fixed screen with no trail fix in the lookback, placed at its registered site. */
|
|
6362
|
+
radio_fixed_site_positioned_slots: number;
|
|
6363
|
+
/** Radio slots placed at the screen's last GPS fix at or before their midpoint. */
|
|
6364
|
+
radio_last_fix_positioned_slots: number;
|
|
6365
|
+
/** Radio slots placed on the map-matched path at their midpoint. */
|
|
6366
|
+
radio_path_positioned_slots: number;
|
|
6367
|
+
/** Radio observations of the visitor identifiers in the row's slots. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6368
|
+
radio_pings: number | null;
|
|
6369
|
+
/** Distinct screens whose radio slots the row holds. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6370
|
+
radio_screens: number | null;
|
|
6371
|
+
/** 6-minute radio slots of screens placed in the cell: a slot in which the screen's visitor radio read an identifier (a slot in which the scanner reported only the screen's own Wi-Fi access point does not show the visitor radio ran, and is no slot here). 0 when only camera windows fell in the row. */
|
|
6372
|
+
radio_slots: number;
|
|
6373
|
+
/** Distinct screens whose radio slots the cell-hour holds (`radio_screens`). `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6374
|
+
screen_count: number | null;
|
|
6375
|
+
/** Distinct screens whose camera windows the row holds. */
|
|
6376
|
+
screens: number;
|
|
6377
|
+
/** Distinct visitor-source radio identifiers (BLE, mDNS, SSDP, HTTP probe) over the cell-hour's radio slots, exact. A distinct count: rows do not add. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6378
|
+
unique_devices: number | null;
|
|
6379
|
+
/** The screen's registered venue category (`transit` for a vehicle screen); empty when the registry holds none. */
|
|
6326
6380
|
venue_category: string;
|
|
6381
|
+
/** Visitor-source radio identifiers (BLE, mDNS, SSDP, HTTP probe) distinct within each slot, summed over the slots. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6382
|
+
visitor_key_slots: number | null;
|
|
6383
|
+
/** visitor_key_slots / radio_slots: identifiers concurrent in one 6-minute slot, every visitor source and both fields. `null`: No radio slot in the row (radio_slots = 0): only camera windows were placed there, and the radio was not read. */
|
|
6384
|
+
visitor_keys_per_slot: number | null;
|
|
6327
6385
|
}>;
|
|
6328
6386
|
/** `true` when more cells follow this page: request `next_offset`. */
|
|
6329
6387
|
truncated: boolean;
|