Analyses IA et personnes

Plateforme principale
insights_access_zones_readAnalyses IA et personnes

A 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.

Paramètres

NomTypeDescription
action*"zones" | "hours" | "rule_options" | "check_access"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
personIdstringPerson ID from insights_people_read search or insights_activity_read timeline (check_access)
zoneIdstringOne zone to check (default every zone) (check_access)
atstringWhen, as an ISO date and time (default now) (check_access)
insights_access_zones_writeAnalyses IA et personnes

Adds, 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.

Paramètres

NomTypeDescription
action*"save_zone" | "delete_zone" | "save_hours" | "delete_hours"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
zoneIdstringThe zone to change (leave out to add one) (save_zone, delete_zone)
namestringZone name (save_zone, save_hours)
descriptionstringWhat the zone is (save_zone)
cameraIdsarrayEvery camera that watches the zone (save_zone)
includearrayWho may be there (ids from rule_options) (save_zone)
excludearrayWho may not, even if included (save_zone)
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
hoursIdstringThe access hours to change (leave out to add) (save_hours, delete_hours)
scheduleobjectTimes 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)
confirmbooleanÀ définir uniquement après que l'utilisateur a confirmé l'aperçu renvoyé par le premier appel
insights_activity_readAnalyses IA et personnes

Who 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.

Paramètres

NomTypeDescription
action*"report_snapshots" | "timeline" | "checkins" | "hourly_peaks" | "zone_report" | "heatmap"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
startDatestringFirst day (YYYY-MM-DD) (report_snapshots, timeline, checkins, hourly_peaks, zone_report)
endDatestringLast day (YYYY-MM-DD) (report_snapshots, timeline, checkins, hourly_peaks, zone_report)
detail"summary" | "standard" | "full"Quantité de données à renvoyer (standard par défaut) (report_snapshots, timeline)
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
timezonestringFuseau horaire IANA des dates (par défaut celui de l'installation) (timeline, checkins)
personIdstringID de la personne issu de insights_people_read search ou insights_activity_read timeline (timeline)
querystringNom de la personne à rechercher (timeline)
matchType"identified" | "unsure" | "blacklist"Uniquement les visites avec ce type de correspondance (timeline)
membershipStatusstringStatut d'adhésion, p. ex. "active", "expired" ou "on_hold" (timeline)
sortBy"startUnix" | "endUnix" | "created"Champ de tri (endUnix par défaut) (timeline)
sortOrder"asc" | "desc"Sens du tri (desc par défaut) (timeline)
excludeCameraGroupsarrayÉcarter les visites vues uniquement sur ces groupes de caméras, p. ex. ["Reception"] (timeline)
includeCameraGroupsarrayConserver les visites vues sur au moins un de ces groupes de caméras (timeline)
limitintegerÉléments par page (25 par défaut, 100 au maximum) (timeline, checkins)
cursorstringnextCursor de la page précédente (timeline, checkins)
checkInType"member" | "class" | "staff" | "guest" | "trial"Uniquement ce type d'enregistrement (checkins)
source"manual" | "tag" | "rfid" | "kiosk" | "app" | "door_reader" | "booking"Uniquement les enregistrements saisis de cette façon (checkins)
daysintegerDays up to endDate (default today), used when startDate isn't given (default 7) (hourly_peaks, zone_report)
cameraIdsarrayCamera ids (deviceUuid) from cctv_cameras_read list or status (hourly_peaks)
zoneIdsarrayAccess Zone ids from insights_access_zones_read zones (default every zone) (zone_report)
cameraIdstringCamera 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)
datestringA day inside the period (YYYY-MM-DD, default the latest heatmap) (heatmap)
insights_people_readAnalyses IA et personnes

People 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.

Paramètres

NomTypeDescription
action*"search" | "get" | "activity" | "matches" | "match" | "match_unidentified" | "ignored_faces" | "merge_status"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
querystringName to search for (search, matches)
membershipStatusstringStatut d'adhésion, p. ex. "active", "expired", "on_hold" ou "none" (search)
memberTypestringType de membre, p. ex. "member", "guest" ou "staff" (search)
sortBy"created" | "lastName" | "firstName" | "membershipUpdatedOn"Champ de tri (created par défaut) (search)
sortOrder"asc" | "desc"Sens du tri (desc par défaut) (search)
limitintegerItems per page (default 25, at most 100) (search, activity, matches, ignored_faces)
cursorstringnextCursor from the previous page (search, activity, matches, ignored_faces)
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
personIdstringPerson ID from insights_people_read search or insights_activity_read timeline (get, activity, matches)
startDatestringPremier jour (AAAA-MM-JJ) (activity, match_unidentified)
endDatestringDernier jour (AAAA-MM-JJ) (activity, match_unidentified)
timezonestringIANA timezone the dates are in (default the facility's) (activity, match_unidentified)
detail"summary" | "standard" | "full"Quantité de données à renvoyer (standard par défaut) (activity)
status"pipeline" | "pending_review" | "confirmed" | "link_pending" | "link_failed" | "linked" | "no_match" | "rejected"Only matches with this status (matches)
matchIdstringMatch id from insights_people_read matches or a Match ready to review trigger (match)
lookbackMinutesintegerDélai maximal entre un enregistrement et une détection (60 par défaut) (match_unidentified)
minVisitsintegerNombre de visites requis pour qu'une personne non identifiée soit prise en compte (3 par défaut) (match_unidentified)
minProbabilitynumberScore de correspondance minimal à inclure, de 0 à 1 (0.5 par défaut) (match_unidentified)
mergeJobIdstringmergeJobId from merge_unidentified (merge_status)
insights_people_writeAnalyses IA et personnes

Changes 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.

Paramètres

NomTypeDescription
action*"update" | "identify" | "approve_match" | "reject_match" | "create" | "link_match" | "unlink_match" | "add_face" | "merge_unidentified" | "remove" | "remove_unidentified" | "remove_detection" | "ignore_face"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
personIdstringPerson ID from insights_people_read search or insights_activity_read timeline (update, identify, link_match, add_face, remove, remove_unidentified, ignore_face)
memberTypestringMember type, e.g. "Member", "Guest" or "Staff" (update, create)
tagsarrayEvery tag the person should have (replaces their tags) (update, create)
addTagsarrayTags to add, e.g. ["VIP"] (update)
removeTagsarrayTags to take off (update)
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
toPersonIdstringThe identified person they are (identify)
matchIdstringMatch id from insights_people_read matches or a Match ready to review trigger (approve_match, reject_match, link_match, unlink_match)
reasonstringWhy, shown with the match in the app (reject_match, unlink_match, ignore_face)
firstNamestringFirst name (create)
lastNamestringLast name (create)
detectionIdstringA sighting whose face to use for recognition (create, add_face, remove_detection, ignore_face)
personIdsarrayUnidentified person ids, including the one to keep (merge_unidentified)
intoPersonIdstringThe one to keep (default the first) (merge_unidentified)
confirmbooleanÀ définir uniquement après que l'utilisateur a confirmé l'aperçu renvoyé par le premier appel
insights_settings_readAnalyses IA et personnes

Whether "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.

Paramètres

NomTypeDescription
action*"settings"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
insights_settings_writeAnalyses IA et personnes

Sets 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.

Paramètres

NomTypeDescription
action*"update_sync_fields" | "reset_shadow_profiles"L'action à effectuer ; chaque action est décrite dans la description de l'outil.
enabledarrayEvery optional detail to copy, e.g. ["email", "mobilePhone"]; [] for none (update_sync_fields)
facilityIdstringID de l'installation. Facultatif lorsque l'installation connectée est celle que vous visez.
confirmbooleanÀ définir uniquement après que l'utilisateur a confirmé l'aperçu renvoyé par le premier appel