Thông tin chi tiết về AI & Con người
Nền tảng cốt lõiinsights_access_zones_readThông tin chi tiết về AI & Con ngườiA 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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "zones" | "hours" | "rule_options" | "check_access" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
facilityId | string | ID cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
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_writeThông tin chi tiết về AI & Con ngườiAdds, 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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "save_zone" | "delete_zone" | "save_hours" | "delete_hours" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
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 cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
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 | Chỉ đặt sau khi người dùng đã xác nhận bản xem trước do lần gọi đầu tiên trả về |
insights_activity_readThông tin chi tiết về AI & Con ngườiWho 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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "report_snapshots" | "timeline" | "checkins" | "hourly_peaks" | "zone_report" | "heatmap" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
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" | Lượng dữ liệu trả về (mặc định standard) (report_snapshots, timeline) |
facilityId | string | ID cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
timezone | string | Múi giờ IANA của các ngày (mặc định là múi giờ của cơ sở) (timeline, checkins) |
personId | string | ID người lấy từ insights_people_read search hoặc insights_activity_read timeline (timeline) |
query | string | Tên người cần tìm (timeline) |
matchType | "identified" | "unsure" | "blacklist" | Chỉ các lượt ghé có loại khớp này (timeline) |
membershipStatus | string | Trạng thái thành viên, ví dụ "active", "expired" hoặc "on_hold" (timeline) |
sortBy | "startUnix" | "endUnix" | "created" | Trường sắp xếp (mặc định endUnix) (timeline) |
sortOrder | "asc" | "desc" | Chiều sắp xếp (mặc định desc) (timeline) |
excludeCameraGroups | array | Loại bỏ các lượt ghé chỉ được ghi nhận ở các nhóm camera này, ví dụ ["Reception"] (timeline) |
includeCameraGroups | array | Giữ các lượt ghé được ghi nhận ở ít nhất một trong các nhóm camera này (timeline) |
limit | integer | Số mục mỗi trang (mặc định 25, tối đa 100) (timeline, checkins) |
cursor | string | nextCursor từ trang trước (timeline, checkins) |
checkInType | "member" | "class" | "staff" | "guest" | "trial" | Chỉ loại check-in này (checkins) |
source | "manual" | "tag" | "rfid" | "kiosk" | "app" | "door_reader" | "booking" | Chỉ các lần check-in được ghi nhận theo cách này (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_readThông tin chi tiết về AI & Con ngườiPeople 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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "search" | "get" | "activity" | "matches" | "match" | "match_unidentified" | "ignored_faces" | "merge_status" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
query | string | Name to search for (search, matches) |
membershipStatus | string | Trạng thái thành viên, ví dụ "active", "expired", "on_hold" hoặc "none" (search) |
memberType | string | Loại thành viên, ví dụ "member", "guest" hoặc "staff" (search) |
sortBy | "created" | "lastName" | "firstName" | "membershipUpdatedOn" | Trường sắp xếp (mặc định created) (search) |
sortOrder | "asc" | "desc" | Chiều sắp xếp (mặc định 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 cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
personId | string | Person ID from insights_people_read search or insights_activity_read timeline (get, activity, matches) |
startDate | string | Ngày đầu tiên (YYYY-MM-DD) (activity, match_unidentified) |
endDate | string | Ngày cuối cùng (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" | Lượng dữ liệu trả về (mặc định 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 | Khoảng thời gian tối đa mà lần check-in có thể diễn ra trước lần phát hiện (mặc định 60) (match_unidentified) |
minVisits | integer | Số lượt ghé mà một người chưa xác định cần có để được xem xét (mặc định 3) (match_unidentified) |
minProbability | number | Điểm khớp thấp nhất được đưa vào, từ 0 đến 1 (mặc định 0.5) (match_unidentified) |
mergeJobId | string | mergeJobId from merge_unidentified (merge_status) |
insights_people_writeThông tin chi tiết về AI & Con ngườiChanges 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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "update" | "identify" | "approve_match" | "reject_match" | "create" | "link_match" | "unlink_match" | "add_face" | "merge_unidentified" | "remove" | "remove_unidentified" | "remove_detection" | "ignore_face" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
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 cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
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 | Chỉ đặt sau khi người dùng đã xác nhận bản xem trước do lần gọi đầu tiên trả về |
insights_settings_readThông tin chi tiết về AI & Con ngườiWhether "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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "settings" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
facilityId | string | ID cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
insights_settings_writeThông tin chi tiết về AI & Con ngườiSets 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.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
action* | "update_sync_fields" | "reset_shadow_profiles" | Việc cần làm; mỗi hành động được mô tả trong phần mô tả công cụ. |
enabled | array | Every optional detail to copy, e.g. ["email", "mobilePhone"]; [] for none (update_sync_fields) |
facilityId | string | ID cơ sở. Không bắt buộc khi cơ sở đang kết nối chính là cơ sở bạn muốn chỉ đến. |
confirm | boolean | Chỉ đặt sau khi người dùng đã xác nhận bản xem trước do lần gọi đầu tiên trả về |