Wawasan AI & Orang
Platform Terasinsights_access_zones_readWawasan AI & OrangA facility's Access Zones: the areas cameras watch, who may be in each (by membership plan, member type or tag, optionally only during access hours), and whether a person may be in a zone now or at a given time. Person in a restricted zone fires when someone is seen where the rules don't allow them. Change zones and hours with insights_access_zones_write.
Actions:
- zones: List Access Zones. Each zone with its cameras, the zones inside it, whether anyone may be there or only people its rules include (and not those they exclude), and the rules with the access hours they're limited to.
- hours: List access hours. Each set of access hours with its weekly schedule (from and to times, 24-hour, in the facility timezone) and the zones whose rules use it.
- rule_options: What zone rules can name. The facility's membership plans (by id), member types, tags and access hours (by id), for the rules insights_access_zones_write save_zone takes.
- check_access: Can a person be in a zone?. Whether a person may be in each restricted zone (or one zone) now or at a time, by the rules that fire Person in a restricted zone: allowed, not_allowed (with the reason), not_checked (not identified, or no current membership plan) or unknown (the hours can't be read). Needs personId.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "zones" | "hours" | "rule_options" | "check_access" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
personId | string | Person ID from insights_people_read search or insights_activity_read timeline (check_access) |
zoneId | string | One zone to check (default every zone) (check_access) |
at | string | When, as an ISO date and time (default now) (check_access) |
insights_access_zones_writeWawasan AI & OrangAdds, changes and deletes a facility's Access Zones and access hours. A zone's rules say who may be there: people on a membership plan, of a member type or with a tag (include), minus any excluded, each optionally only during access hours. Person in a restricted zone fires when someone else is seen there. Only a person can make these changes, and each asks for confirmation. Read zones, hours and the ids rules take with insights_access_zones_read.
Actions:
- save_zone: Add or change an Access Zone. Without zoneId, adds a zone (name required). With zoneId, changes only the fields passed; include and exclude each replace that side's rules. Rules are {kind: "membership_plan", membershipPlanId} or {kind: "member_type" or "tag", name}, with an optional accessHoursId. Asks for confirmation.
- delete_zone: Delete an Access Zone. Deletes a zone with no zones inside it. Needs zoneId. Asks for confirmation.
- save_hours: Add or change access hours. Without hoursId, adds access hours (name and schedule required). With hoursId, renames them or replaces the schedule; zone rules that use them follow the new times. Asks for confirmation.
- delete_hours: Delete access hours. Deletes access hours no zone rule uses. Needs hoursId. Asks for confirmation.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "save_zone" | "delete_zone" | "save_hours" | "delete_hours" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
zoneId | string | The zone to change (leave out to add one) (save_zone, delete_zone) |
name | string | Zone name (save_zone, save_hours) |
description | string | What the zone is (save_zone) |
cameraIds | array | Every camera that watches the zone (save_zone) |
include | array | Who may be there (ids from rule_options) (save_zone) |
exclude | array | Who may not, even if included (save_zone) |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
hoursId | string | The access hours to change (leave out to add) (save_hours, delete_hours) |
schedule | object | Times per day (mon to sun), 24-hour in the facility timezone, e.g. {"mon": [{"from": "06:00", "to": "22:00"}]}. Replaces the whole schedule; days left out have no hours. (save_hours) |
confirm | boolean | Tetapkan hanya selepas pengguna mengesahkan pratonton yang dikembalikan oleh panggilan pertama |
insights_activity_readWawasan AI & OrangWho was in a facility and how busy it was. report_snapshots is the place to start: visits, unique people, gender, durations and identification for a date range, optionally per camera and by hour. timeline lists visits (who, when, how long, which cameras) from face recognition. checkins lists member swipes and visits from the member management system, with the members. hourly_peaks gives the busiest hours of the day; zone_report compares Access Zones; heatmap shows where people spent time in a camera's view. For one person's history use insights_people_read activity.
Actions:
- report_snapshots: Activity report. A date range of today only uses the live report. Needs startDate, endDate.
- timeline: Visit timeline. Visit blocks with counts per match type, camera, membership status and check-in. Camera group filters drop visits seen only at, say, Reception.
- checkins: Check-ins. Newest first, with the matching members. Defaults to the last 2 days.
- hourly_peaks: Busiest hours of the day. People seen per hour of the day (facility time) over a date range of up to 60 days, with the busiest hours first, for the facility and, with cameraIds, for each of those cameras.
- zone_report: Activity per Access Zone. For each Access Zone over a date range of up to 60 days: people seen on the zone's cameras, average time seen, how many different people, and the busiest hours. Cameras in no zone are summed as unassigned.
- heatmap: A camera's activity heatmap. Where people spent time in a camera's view, drawn over it, as an image. Pick a period and optionally a day inside it (default the latest). Heatmaps need enhanced analysis on and are made overnight. Listed in Recent Access. Workflow steps and Agent devices need 'Workflows can share footage and identify people' turned on. Needs cameraId.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "report_snapshots" | "timeline" | "checkins" | "hourly_peaks" | "zone_report" | "heatmap" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
startDate | string | First day (YYYY-MM-DD) (report_snapshots, timeline, checkins, hourly_peaks, zone_report) |
endDate | string | Last day (YYYY-MM-DD) (report_snapshots, timeline, checkins, hourly_peaks, zone_report) |
detail | "summary" | "standard" | "full" | Jumlah data yang dikembalikan (lalai standard) (report_snapshots, timeline) |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
timezone | string | Zon waktu IANA bagi tarikh (lalai zon waktu kemudahan) (timeline, checkins) |
personId | string | ID orang daripada insights_people_read search atau insights_activity_read timeline (timeline) |
query | string | Nama orang yang hendak dicari (timeline) |
matchType | "identified" | "unsure" | "blacklist" | Hanya lawatan dengan jenis padanan ini (timeline) |
membershipStatus | string | Status keahlian, cth. "active", "expired" atau "on_hold" (timeline) |
sortBy | "startUnix" | "endUnix" | "created" | Medan isihan (lalai endUnix) (timeline) |
sortOrder | "asc" | "desc" | Arah isihan (lalai desc) (timeline) |
excludeCameraGroups | array | Gugurkan lawatan yang hanya dikesan pada kumpulan kamera ini, cth. ["Reception"] (timeline) |
includeCameraGroups | array | Kekalkan lawatan yang dikesan pada sekurang-kurangnya satu daripada kumpulan kamera ini (timeline) |
limit | integer | Item setiap halaman (lalai 25, maksimum 100) (timeline, checkins) |
cursor | string | nextCursor daripada halaman sebelumnya (timeline, checkins) |
checkInType | "member" | "class" | "staff" | "guest" | "trial" | Hanya jenis daftar masuk ini (checkins) |
source | "manual" | "tag" | "rfid" | "kiosk" | "app" | "door_reader" | "booking" | Hanya daftar masuk yang ditangkap dengan cara ini (checkins) |
days | integer | Days up to endDate (default today), used when startDate isn't given (default 7) (hourly_peaks, zone_report) |
cameraIds | array | Camera ids (deviceUuid) from cctv_cameras_read list or status (hourly_peaks) |
zoneIds | array | Access Zone ids from insights_access_zones_read zones (default every zone) (zone_report) |
cameraId | string | Camera id (deviceUuid) from cctv_cameras_read list or status (heatmap) |
period | "1d" | "1w" | "1m" | "3m" | "1y" | How long the heatmap covers (default 1w, weekly) (heatmap) |
date | string | A day inside the period (YYYY-MM-DD, default the latest heatmap) (heatmap) |
insights_people_readWawasan AI & OrangPeople known to a facility's AI Insights & People, with their membership. search finds people by name or membership; get is one profile (member type, tags, membership status and plans, never contact details); activity lists where and when a person was seen; matches and match are Self Learning's suggestions of which member someone unidentified is; match_unidentified ranks members by check-in timing; ignored_faces lists the faces the facility ignores (Blacklist Faces); merge_status follows a merge. To change people use insights_people_write; for who was in the facility use insights_activity_read timeline.
Actions:
- search: Search people. Fuzzy name search with counts per membership status and member type. Each person has id, name (identified people only), identified, type, tags, membershipStatus and a link.
- get: Get a person. Name, whether they are identified, member type, tags, membership status and plans, gender, whether their face is ignored, when they were added, and a link to them in the app. No contact details. Needs personId.
- activity: Where a person was seen. The person's sightings newest first (detectionId, when, which camera), with the cameras they were on. Defaults to the last 7 days. Needs personId.
- matches: Self Learning matches. Someone seen whose visits line up with one member's check-ins: the person seen, the member suggested, status and who reviewed it. Narrow by status or personId, or search by name. The first page also has counts per status.
- match: Get a Self Learning match. One match as matches shows it, with how many visits line up and when the first and last were. Needs matchId.
- match_unidentified: Match unidentified people to members. Ranks members whose check-ins repeatedly come shortly before an unidentified face is seen, and groups duplicate unidentified profiles. Read-only; nothing is linked. Defaults to the last 30 days.
- ignored_faces: List ignored faces. Faces the facility ignores (the app's Blacklist Faces), newest first, with the reason given. Ignored faces are never matched or counted.
- merge_status: Follow a merge. Progress of insights_people_write merge_unidentified: status (in_progress, completed, partially_failed, failed or timed_out), how many people were merged, and why any failed. Needs mergeJobId.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "search" | "get" | "activity" | "matches" | "match" | "match_unidentified" | "ignored_faces" | "merge_status" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
query | string | Name to search for (search, matches) |
membershipStatus | string | Status keahlian, cth. "active", "expired", "on_hold" atau "none" (search) |
memberType | string | Jenis ahli, cth. "member", "guest" atau "staff" (search) |
sortBy | "created" | "lastName" | "firstName" | "membershipUpdatedOn" | Medan isihan (lalai created) (search) |
sortOrder | "asc" | "desc" | Arah isihan (lalai desc) (search) |
limit | integer | Items per page (default 25, at most 100) (search, activity, matches, ignored_faces) |
cursor | string | nextCursor from the previous page (search, activity, matches, ignored_faces) |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
personId | string | Person ID from insights_people_read search or insights_activity_read timeline (get, activity, matches) |
startDate | string | Hari pertama (YYYY-MM-DD) (activity, match_unidentified) |
endDate | string | Hari terakhir (YYYY-MM-DD) (activity, match_unidentified) |
timezone | string | IANA timezone the dates are in (default the facility's) (activity, match_unidentified) |
detail | "summary" | "standard" | "full" | Jumlah data yang dikembalikan (lalai standard) (activity) |
status | "pipeline" | "pending_review" | "confirmed" | "link_pending" | "link_failed" | "linked" | "no_match" | "rejected" | Only matches with this status (matches) |
matchId | string | Match id from insights_people_read matches or a Match ready to review trigger (match) |
lookbackMinutes | integer | Berapa lama sebelum pengesanan sesuatu daftar masuk boleh berlaku (lalai 60) (match_unidentified) |
minVisits | integer | Bilangan lawatan yang diperlukan oleh orang yang tidak dikenal pasti untuk dipertimbangkan (lalai 3) (match_unidentified) |
minProbability | number | Skor padanan terendah untuk disertakan, 0 hingga 1 (lalai 0.5) (match_unidentified) |
mergeJobId | string | mergeJobId from merge_unidentified (merge_status) |
insights_people_writeWawasan AI & OrangChanges who people are in a facility's AI Insights & People. update sets a person's member type and tags; identify says who someone unidentified is; approve_match and reject_match review Self Learning's suggestions. Workflow steps and Agent devices can make those four once 'Workflows can share footage and identify people' is on in CCTV settings; people in AI chat confirm each one. Only a person can create, link_match, unlink_match, add_face, merge_unidentified, remove, remove_unidentified, remove_detection and ignore_face (Blacklist Faces, which never starts a workflow). Find people and matches with insights_people_read.
Actions:
- update: Change a person's member type or tags. Sets the member type, replaces the tags, or adds and removes tags. The values set here win over the member system until changed in the app. Needs personId. May ask for confirmation.
- identify: Identify someone. Says an unidentified person is an identified one: their faces and sightings move to that person, and Person identified fires with who did it. They need a face photo. Needs personId, toPersonId. May ask for confirmation.
- approve_match: Approve a Self Learning match. Confirms the person seen is the member suggested; Self Learning then links them. Records who approved it. Approving an approved match changes nothing. Needs matchId. May ask for confirmation.
- reject_match: Reject a Self Learning match. Rules the match out, with an optional reason. Records who rejected it. Needs matchId. May ask for confirmation.
- create: Add an identified person. Adds someone who isn't in the member system (a contractor, say), optionally with the face from one of their sightings (detectionId from insights_people_read activity). Needs firstName. Asks for confirmation.
- link_match: Link a match to a person. For a match Self Learning could not link: confirms the person seen is personId (someone synced from the member system), and Self Learning links them. Needs matchId, personId. Asks for confirmation.
- unlink_match: Undo a match. Undoes a confirmed or linked match: it's marked rejected and the member's profile stops pointing at it. Faces already added to the member stay. Needs matchId. Asks for confirmation.
- add_face: Add a face to a person's recognition. Adds the face from one of a person's sightings, so they're recognised from it, for example in different lighting. Needs personId, detectionId. Asks for confirmation.
- merge_unidentified: Merge unidentified people. Merges 2 to 20 unidentified people who are the same person into one of them (intoPersonId, default the first). Runs in the background; follow it with insights_people_read merge_status. Needs personIds. Asks for confirmation.
- remove: Remove a person. Permanently removes a person and every sighting of them. Needs personId. Asks for confirmation.
- remove_unidentified: Remove an unidentified person. Permanently removes an unidentified person, their faces and every sighting of them. Needs personId. Asks for confirmation.
- remove_detection: Remove a sighting. Permanently removes one sighting, for example a face recognised as the wrong person. Needs detectionId. Asks for confirmation.
- ignore_face: Ignore a face. Adds a face to the facility's Blacklist Faces so it's never matched or counted again: a sighting's face (detectionId) or a person's own face photo (personId). The person is marked ignored. Needs reason. Asks for confirmation.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "update" | "identify" | "approve_match" | "reject_match" | "create" | "link_match" | "unlink_match" | "add_face" | "merge_unidentified" | "remove" | "remove_unidentified" | "remove_detection" | "ignore_face" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
personId | string | Person ID from insights_people_read search or insights_activity_read timeline (update, identify, link_match, add_face, remove, remove_unidentified, ignore_face) |
memberType | string | Member type, e.g. "Member", "Guest" or "Staff" (update, create) |
tags | array | Every tag the person should have (replaces their tags) (update, create) |
addTags | array | Tags to add, e.g. ["VIP"] (update) |
removeTags | array | Tags to take off (update) |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
toPersonId | string | The identified person they are (identify) |
matchId | string | Match id from insights_people_read matches or a Match ready to review trigger (approve_match, reject_match, link_match, unlink_match) |
reason | string | Why, shown with the match in the app (reject_match, unlink_match, ignore_face) |
firstName | string | First name (create) |
lastName | string | Last name (create) |
detectionId | string | A sighting whose face to use for recognition (create, add_face, remove_detection, ignore_face) |
personIds | array | Unidentified person ids, including the one to keep (merge_unidentified) |
intoPersonId | string | The one to keep (default the first) (merge_unidentified) |
confirm | boolean | Tetapkan hanya selepas pengguna mengesahkan pratonton yang dikembalikan oleh panggilan pertama |
insights_settings_readWawasan AI & OrangWhether "Workflows can share footage and identify people" is on (it lets workflow steps and Agent devices identify people and review matches), how many shadow profiles the facility keeps (faces of people seen but not identified, so they're recognised again), and which optional member details can be copied from the member system. Change them with insights_settings_write; the workflow setting changes with cctv_settings_write.
Actions:
- settings: Read the AI Insights & People settings. workflowControl (on or off, and what it allows), shadowProfiles.count, and syncFieldOptions: the optional member details (field and label) insights_settings_write update_sync_fields takes.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "settings" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
insights_settings_writeWawasan AI & OrangSets which optional member details are copied from the member system into AI Insights & People, and resets the shadow profiles (faces of people seen but not identified). Only a person can change these, and each asks for confirmation. Read the settings with insights_settings_read; turn "Workflows can share footage and identify people" on or off with cctv_settings_write.
Actions:
- update_sync_fields: Choose which member details are copied. Pass every optional detail to copy (field from insights_settings_read syncFieldOptions). Details left out stop being copied and the copies already kept are removed. Needs enabled. Asks for confirmation.
- reset_shadow_profiles: Reset shadow profiles. Forgets the faces of everyone seen but not identified, for example after recognition mixed people up. People, sightings and the timeline stay; people seen before count as new until they're seen again. Asks for confirmation.
Parameter
| Nama | Jenis | Penerangan |
|---|---|---|
action* | "update_sync_fields" | "reset_shadow_profiles" | Perkara yang hendak dilakukan; setiap tindakan diterangkan dalam penerangan alat. |
enabled | array | Every optional detail to copy, e.g. ["email", "mobilePhone"]; [] for none (update_sync_fields) |
facilityId | string | ID kemudahan. Pilihan jika kemudahan yang disambungkan ialah kemudahan yang Anda maksudkan. |
confirm | boolean | Tetapkan hanya selepas pengguna mengesahkan pratonton yang dikembalikan oleh panggilan pertama |