seam 2.132.0 → 2.133.0
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/seam/resources/access_code.rb +55 -2
- data/lib/seam/resources/access_grant.rb +39 -2
- data/lib/seam/resources/access_method.rb +34 -2
- data/lib/seam/resources/acs_access_group.rb +32 -1
- data/lib/seam/resources/acs_credential.rb +61 -2
- data/lib/seam/resources/acs_encoder.rb +25 -1
- data/lib/seam/resources/acs_entrance.rb +48 -1
- data/lib/seam/resources/acs_system.rb +41 -1
- data/lib/seam/resources/acs_user.rb +50 -1
- data/lib/seam/resources/action_attempt.rb +10 -1
- data/lib/seam/resources/batch.rb +126 -1
- data/lib/seam/resources/client_session.rb +35 -2
- data/lib/seam/resources/connect_webview.rb +50 -2
- data/lib/seam/resources/connected_account.rb +33 -1
- data/lib/seam/resources/customer_portal.rb +16 -2
- data/lib/seam/resources/device.rb +70 -1
- data/lib/seam/resources/device_provider.rb +48 -1
- data/lib/seam/resources/event.rb +184 -2
- data/lib/seam/resources/instant_key.rb +22 -2
- data/lib/seam/resources/noise_threshold.rb +15 -1
- data/lib/seam/resources/pagination.rb +7 -1
- data/lib/seam/resources/phone.rb +16 -1
- data/lib/seam/resources/space.rb +22 -1
- data/lib/seam/resources/thermostat_daily_program.rb +12 -1
- data/lib/seam/resources/thermostat_schedule.rb +23 -2
- data/lib/seam/resources/unmanaged_access_code.rb +41 -2
- data/lib/seam/resources/unmanaged_access_grant.rb +31 -2
- data/lib/seam/resources/unmanaged_access_method.rb +28 -2
- data/lib/seam/resources/unmanaged_device.rb +60 -1
- data/lib/seam/resources/unmanaged_user_identity.rb +16 -1
- data/lib/seam/resources/user_identity.rb +18 -1
- data/lib/seam/resources/webhook.rb +9 -1
- data/lib/seam/resources/workspace.rb +20 -1
- data/lib/seam/routes/access_codes.rb +147 -0
- data/lib/seam/routes/access_codes_simulate.rb +5 -0
- data/lib/seam/routes/access_codes_unmanaged.rb +34 -0
- data/lib/seam/routes/access_grants.rb +59 -0
- data/lib/seam/routes/access_grants_unmanaged.rb +20 -0
- data/lib/seam/routes/access_methods.rb +35 -0
- data/lib/seam/routes/access_methods_unmanaged.rb +9 -0
- data/lib/seam/routes/acs_access_groups.rb +28 -0
- data/lib/seam/routes/acs_credentials.rb +49 -0
- data/lib/seam/routes/acs_encoders.rb +25 -0
- data/lib/seam/routes/acs_encoders_simulate.rb +19 -0
- data/lib/seam/routes/acs_entrances.rb +30 -0
- data/lib/seam/routes/acs_systems.rb +20 -0
- data/lib/seam/routes/acs_users.rb +72 -0
- data/lib/seam/routes/action_attempts.rb +9 -0
- data/lib/seam/routes/client_sessions.rb +48 -0
- data/lib/seam/routes/connect_webviews.rb +36 -0
- data/lib/seam/routes/connected_accounts.rb +31 -0
- data/lib/seam/routes/connected_accounts_simulate.rb +3 -0
- data/lib/seam/routes/customers.rb +57 -0
- data/lib/seam/routes/devices.rb +45 -0
- data/lib/seam/routes/devices_simulate.rb +28 -0
- data/lib/seam/routes/devices_unmanaged.rb +36 -0
- data/lib/seam/routes/events.rb +35 -0
- data/lib/seam/routes/instant_keys.rb +10 -0
- data/lib/seam/routes/locks.rb +35 -0
- data/lib/seam/routes/locks_simulate.rb +7 -0
- data/lib/seam/routes/noise_sensors.rb +19 -0
- data/lib/seam/routes/noise_sensors_noise_thresholds.rb +27 -0
- data/lib/seam/routes/noise_sensors_simulate.rb +3 -0
- data/lib/seam/routes/phones.rb +10 -0
- data/lib/seam/routes/phones_simulate.rb +6 -0
- data/lib/seam/routes/spaces.rb +61 -0
- data/lib/seam/routes/thermostats.rb +112 -0
- data/lib/seam/routes/thermostats_daily_programs.rb +13 -0
- data/lib/seam/routes/thermostats_schedules.rb +28 -0
- data/lib/seam/routes/thermostats_simulate.rb +13 -0
- data/lib/seam/routes/user_identities.rb +67 -0
- data/lib/seam/routes/user_identities_unmanaged.rb +16 -0
- data/lib/seam/routes/webhooks.rb +16 -0
- data/lib/seam/routes/workspaces.rb +31 -0
- data/lib/seam/version.rb +1 -1
- metadata +2 -2
data/lib/seam/resources/event.rb
CHANGED
|
@@ -3,9 +3,191 @@
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
5
|
class SeamEvent < BaseResource
|
|
6
|
-
|
|
6
|
+
# Errors associated with the access code.
|
|
7
|
+
attr_accessor :access_code_errors
|
|
8
|
+
# ID of the affected access code.
|
|
9
|
+
attr_accessor :access_code_id
|
|
10
|
+
# Whether the access code is managed by Seam (true) or unmanaged (false). Only present when access_code_id is set.
|
|
11
|
+
attr_accessor :access_code_is_managed
|
|
12
|
+
# Warnings associated with the access code.
|
|
13
|
+
attr_accessor :access_code_warnings
|
|
14
|
+
# ID of the affected Access Grant.
|
|
15
|
+
attr_accessor :access_grant_id
|
|
16
|
+
# IDs of the access grants associated with this access method.
|
|
17
|
+
attr_accessor :access_grant_ids
|
|
18
|
+
# Key of the affected Access Grant (if present).
|
|
19
|
+
attr_accessor :access_grant_key
|
|
20
|
+
# Keys of the access grants associated with this access method (if present).
|
|
21
|
+
attr_accessor :access_grant_keys
|
|
22
|
+
# ID of the affected access method.
|
|
23
|
+
attr_accessor :access_method_id
|
|
24
|
+
# ID of the affected access group.
|
|
25
|
+
attr_accessor :acs_access_group_id
|
|
26
|
+
# ID of the affected credential.
|
|
27
|
+
attr_accessor :acs_credential_id
|
|
28
|
+
# ID of the affected encoder.
|
|
29
|
+
attr_accessor :acs_encoder_id
|
|
30
|
+
# ID of the affected [entrance](https://docs.seam.co/low-level-apis/access-systems/retrieving-entrance-details).
|
|
31
|
+
attr_accessor :acs_entrance_id
|
|
32
|
+
# IDs of all ACS entrances currently attached to the space.
|
|
33
|
+
attr_accessor :acs_entrance_ids
|
|
34
|
+
# Errors associated with the access control system.
|
|
35
|
+
attr_accessor :acs_system_errors
|
|
36
|
+
# ID of the access system.
|
|
37
|
+
attr_accessor :acs_system_id
|
|
38
|
+
# Warnings associated with the access control system.
|
|
39
|
+
attr_accessor :acs_system_warnings
|
|
40
|
+
# ID of the affected access system user.
|
|
41
|
+
attr_accessor :acs_user_id
|
|
42
|
+
# ID of the affected action attempt.
|
|
43
|
+
attr_accessor :action_attempt_id
|
|
44
|
+
# Type of the action.
|
|
45
|
+
attr_accessor :action_type
|
|
46
|
+
# The reason the camera was activated.
|
|
47
|
+
attr_accessor :activation_reason
|
|
48
|
+
# ID of the backup access code that was pulled from the pool.
|
|
49
|
+
attr_accessor :backup_access_code_id
|
|
50
|
+
# Number in the range 0 to 1.0 indicating the amount of battery in the affected device, as reported by the device.
|
|
51
|
+
attr_accessor :battery_level
|
|
52
|
+
# Battery status of the affected device, calculated from the numeric `battery_level` value.
|
|
53
|
+
attr_accessor :battery_status
|
|
54
|
+
# Human-readable reason for the change (e.g. `ongoing code auto-renewed`).
|
|
55
|
+
attr_accessor :change_reason
|
|
56
|
+
# List of properties that changed on the access code.
|
|
57
|
+
attr_accessor :changed_properties
|
|
58
|
+
# ID of the affected client session.
|
|
59
|
+
attr_accessor :client_session_id
|
|
60
|
+
# Key of the climate preset that was activated.
|
|
61
|
+
attr_accessor :climate_preset_key
|
|
62
|
+
# Code for the affected access code.
|
|
63
|
+
attr_accessor :code
|
|
64
|
+
# ID of the Connect Webview associated with the event.
|
|
65
|
+
attr_accessor :connect_webview_id
|
|
66
|
+
# Custom metadata of the connected account, present when connected_account_id is provided.
|
|
67
|
+
attr_accessor :connected_account_custom_metadata
|
|
68
|
+
# Errors associated with the connected account.
|
|
69
|
+
attr_accessor :connected_account_errors
|
|
70
|
+
# ID of the connected account associated with the affected access code.
|
|
71
|
+
attr_accessor :connected_account_id
|
|
72
|
+
# undocumented: Unreleased.
|
|
73
|
+
attr_accessor :connected_account_type
|
|
74
|
+
# Warnings associated with the connected account.
|
|
75
|
+
attr_accessor :connected_account_warnings
|
|
76
|
+
# Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
|
|
77
|
+
attr_accessor :cooling_set_point_celsius
|
|
78
|
+
# Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
|
|
79
|
+
attr_accessor :cooling_set_point_fahrenheit
|
|
80
|
+
# The customer key associated with this connected account, if any.
|
|
81
|
+
attr_accessor :customer_key
|
|
82
|
+
# Human-readable description of the change and its source.
|
|
83
|
+
attr_accessor :description
|
|
84
|
+
# Desired temperature, in °C, defined by the affected thermostat's cooling or heating set point.
|
|
85
|
+
attr_accessor :desired_temperature_celsius
|
|
86
|
+
# Desired temperature, in °F, defined by the affected thermostat's cooling or heating set point.
|
|
87
|
+
attr_accessor :desired_temperature_fahrenheit
|
|
88
|
+
# Custom metadata of the device, present when device_id is provided.
|
|
89
|
+
attr_accessor :device_custom_metadata
|
|
90
|
+
# Errors associated with the device.
|
|
91
|
+
attr_accessor :device_errors
|
|
92
|
+
# ID of the device associated with the affected access code.
|
|
93
|
+
attr_accessor :device_id
|
|
94
|
+
# IDs of all devices currently attached to the space.
|
|
95
|
+
attr_accessor :device_ids
|
|
96
|
+
# Name of the deleted device, captured at deletion time. The device record no longer exists when this event fires, so the name is preserved here. Null when the device had no resolvable name.
|
|
97
|
+
attr_accessor :device_name
|
|
98
|
+
# Warnings associated with the device.
|
|
99
|
+
attr_accessor :device_warnings
|
|
100
|
+
# The new end time for the access grant.
|
|
101
|
+
attr_accessor :ends_at
|
|
102
|
+
# Error code associated with the disconnection event, if any.
|
|
103
|
+
attr_accessor :error_code
|
|
104
|
+
# Description of why the access methods could not be created.
|
|
105
|
+
attr_accessor :error_message
|
|
106
|
+
# Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
|
|
107
|
+
attr_accessor :event_description
|
|
108
|
+
# ID of the event.
|
|
109
|
+
attr_accessor :event_id
|
|
110
|
+
attr_accessor :event_type
|
|
111
|
+
# Desired [fan mode setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
|
|
112
|
+
attr_accessor :fan_mode_setting
|
|
113
|
+
# Previous access code name configuration.
|
|
114
|
+
attr_accessor :from
|
|
115
|
+
# Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
|
|
116
|
+
attr_accessor :heating_set_point_celsius
|
|
117
|
+
# Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
|
|
118
|
+
attr_accessor :heating_set_point_fahrenheit
|
|
119
|
+
# Desired [HVAC mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
|
|
120
|
+
attr_accessor :hvac_mode_setting
|
|
121
|
+
# URL to a thumbnail image captured at the time of activation.
|
|
122
|
+
attr_accessor :image_url
|
|
123
|
+
# Indicates whether the code is a backup code (only present when mode is 'code' and a backup code was used).
|
|
124
|
+
attr_accessor :is_backup_code
|
|
125
|
+
# Indicates whether the climate preset that was activated is the fallback climate preset for the thermostat.
|
|
126
|
+
attr_accessor :is_fallback_climate_preset
|
|
127
|
+
# Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
|
|
128
|
+
attr_accessor :is_via_bluetooth
|
|
129
|
+
# Whether the lock action was performed by an NFC credential tap (such as an Apple Home Key or an NFC key fob) presented to the lock, rather than a direct physical interaction or a Seam-initiated remote action.
|
|
130
|
+
attr_accessor :is_via_nfc
|
|
131
|
+
# Lower temperature limit, in °C, defined by the set threshold.
|
|
132
|
+
attr_accessor :lower_limit_celsius
|
|
133
|
+
# Lower temperature limit, in °F, defined by the set threshold.
|
|
134
|
+
attr_accessor :lower_limit_fahrenheit
|
|
135
|
+
# Method by which the lock was locked. `keycode`: an access code was used (see `access_code_id`). `manual`: a physical action such as a thumbturn or button press. `remote`: a remote action via an app, Bluetooth, or the Seam API (see `action_attempt_id` if Seam-initiated; see `is_via_bluetooth` or `is_via_nfc` for the transport). `automatic`: triggered automatically, for example by an auto-relock timer. `unknown`: could not be determined.
|
|
136
|
+
attr_accessor :method
|
|
137
|
+
# Metadata from Minut.
|
|
138
|
+
attr_accessor :minut_metadata
|
|
139
|
+
# IDs of the devices that did not receive a requested access method. Use these to identify which specific devices failed without having to fetch the Access Grant.
|
|
140
|
+
attr_accessor :missing_device_ids
|
|
141
|
+
# Sub-type of motion detected, if available.
|
|
142
|
+
attr_accessor :motion_sub_type
|
|
143
|
+
# Detected noise level in decibels.
|
|
144
|
+
attr_accessor :noise_level_decibels
|
|
145
|
+
# Detected noise level in Noiseaware Noise Risk Score (NRS).
|
|
146
|
+
attr_accessor :noise_level_nrs
|
|
147
|
+
# ID of the noise threshold that was triggered.
|
|
148
|
+
attr_accessor :noise_threshold_id
|
|
149
|
+
# Name of the noise threshold that was triggered.
|
|
150
|
+
attr_accessor :noise_threshold_name
|
|
151
|
+
# Metadata from Noiseaware.
|
|
152
|
+
attr_accessor :noiseaware_metadata
|
|
153
|
+
# Why access was denied, when the provider reports a determinable cause. Omitted when unknown.
|
|
154
|
+
attr_accessor :reason
|
|
155
|
+
# Array of mutations requested on the access code, each containing the mutation type and from/to values.
|
|
156
|
+
attr_accessor :requested_mutations
|
|
157
|
+
# ID of the affected space.
|
|
158
|
+
attr_accessor :space_id
|
|
159
|
+
# Unique key for the space within the workspace.
|
|
160
|
+
attr_accessor :space_key
|
|
161
|
+
# The new start time for the access grant.
|
|
162
|
+
attr_accessor :starts_at
|
|
163
|
+
# Status of the action.
|
|
164
|
+
attr_accessor :status
|
|
165
|
+
# Temperature, in °C, reported by the affected thermostat.
|
|
166
|
+
attr_accessor :temperature_celsius
|
|
167
|
+
# Temperature, in °F, reported by the affected thermostat.
|
|
168
|
+
attr_accessor :temperature_fahrenheit
|
|
169
|
+
# ID of the thermostat schedule that prompted the affected climate preset to be activated.
|
|
170
|
+
attr_accessor :thermostat_schedule_id
|
|
171
|
+
# New access code name configuration.
|
|
172
|
+
attr_accessor :to
|
|
173
|
+
# Upper temperature limit, in °C, defined by the set threshold.
|
|
174
|
+
attr_accessor :upper_limit_celsius
|
|
175
|
+
# Upper temperature limit, in °F, defined by the set threshold.
|
|
176
|
+
attr_accessor :upper_limit_fahrenheit
|
|
177
|
+
# undocumented: Unreleased.
|
|
178
|
+
# ---
|
|
179
|
+
# ID of the user identity associated with the lock event.
|
|
180
|
+
attr_accessor :user_identity_id
|
|
181
|
+
# URL to a short video clip captured at the time of activation.
|
|
182
|
+
attr_accessor :video_url
|
|
183
|
+
# ID of the workspace associated with the event.
|
|
184
|
+
attr_accessor :workspace_id
|
|
7
185
|
|
|
8
|
-
|
|
186
|
+
# Date and time at which the event was created.
|
|
187
|
+
date_accessor :created_at
|
|
188
|
+
|
|
189
|
+
# Date and time at which the event occurred.
|
|
190
|
+
date_accessor :occurred_at
|
|
9
191
|
end
|
|
10
192
|
end
|
|
11
193
|
end
|
|
@@ -2,10 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents a Seam Instant Key. For issuing Bluetooth mobile keys, Instant Keys are the fastest way to share access. With a single API call, you can create a mobile key and send it through text or email or embed it in your own app.
|
|
6
|
+
#
|
|
7
|
+
# There’s no app to install, nor account to create. Your user just taps a link and gets a lightweight, native-feeling experience using iOS App Clip or Instant Apps on Android. Further, Instant Keys work offline, so even in areas with poor cellular or Wi-Fi, like elevator banks or concrete-walled hallways, the Instant Keys still work.
|
|
5
8
|
class InstantKey < BaseResource
|
|
6
|
-
|
|
9
|
+
# ID of the client session associated with the Instant Key.
|
|
10
|
+
attr_accessor :client_session_id
|
|
11
|
+
# Customization applied to the Instant Key UI.
|
|
12
|
+
attr_accessor :customization
|
|
13
|
+
# ID of the customization profile associated with the Instant Key.
|
|
14
|
+
attr_accessor :customization_profile_id
|
|
15
|
+
# ID of the Instant Key.
|
|
16
|
+
attr_accessor :instant_key_id
|
|
17
|
+
# Shareable URL for the Instant Key. Use the URL to deliver the Instant Key to your user through a link in a text message or email or by embedding it in your web app.
|
|
18
|
+
attr_accessor :instant_key_url
|
|
19
|
+
# ID of the user identity associated with the Instant Key.
|
|
20
|
+
attr_accessor :user_identity_id
|
|
21
|
+
# ID of the workspace that contains the Instant Key.
|
|
22
|
+
attr_accessor :workspace_id
|
|
7
23
|
|
|
8
|
-
|
|
24
|
+
# Date and time at which the Instant Key was created.
|
|
25
|
+
date_accessor :created_at
|
|
26
|
+
|
|
27
|
+
# Date and time at which the Instant Key expires.
|
|
28
|
+
date_accessor :expires_at
|
|
9
29
|
end
|
|
10
30
|
end
|
|
11
31
|
end
|
|
@@ -2,8 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents a [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). Thresholds represent the limits of noise tolerated at a property, which can be customized for each hour of the day. Each device has its own default thresholds, but you can use the Seam API to modify them.
|
|
5
6
|
class NoiseThreshold < BaseResource
|
|
6
|
-
|
|
7
|
+
# Unique identifier for the device that contains the noise threshold.
|
|
8
|
+
attr_accessor :device_id
|
|
9
|
+
# Time at which the noise threshold should become inactive daily.
|
|
10
|
+
attr_accessor :ends_daily_at
|
|
11
|
+
# Name of the noise threshold.
|
|
12
|
+
attr_accessor :name
|
|
13
|
+
# Noise level in decibels for the noise threshold.
|
|
14
|
+
attr_accessor :noise_threshold_decibels
|
|
15
|
+
# Unique identifier for the noise threshold.
|
|
16
|
+
attr_accessor :noise_threshold_id
|
|
17
|
+
# Noise level in Noiseaware Noise Risk Score (NRS) for the noise threshold. This parameter is only relevant for [Noiseaware sensors](https://docs.seam.co/device-and-system-integration-guides/noiseaware-sensors).
|
|
18
|
+
attr_accessor :noise_threshold_nrs
|
|
19
|
+
# Time at which the noise threshold should become active daily.
|
|
20
|
+
attr_accessor :starts_daily_at
|
|
7
21
|
end
|
|
8
22
|
end
|
|
9
23
|
end
|
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Information about the current page of results.
|
|
5
6
|
class Pagination < BaseResource
|
|
6
|
-
|
|
7
|
+
# Indicates whether there is another page of results after this one.
|
|
8
|
+
attr_accessor :has_next_page
|
|
9
|
+
# Opaque value that can be used to select the next page of results via the `page_cursor` parameter.
|
|
10
|
+
attr_accessor :next_page_cursor
|
|
11
|
+
# URL to get the next page of results.
|
|
12
|
+
attr_accessor :next_page_url
|
|
7
13
|
end
|
|
8
14
|
end
|
|
9
15
|
end
|
data/lib/seam/resources/phone.rb
CHANGED
|
@@ -2,9 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents an app user's mobile phone.
|
|
5
6
|
class Phone < BaseResource
|
|
6
|
-
|
|
7
|
+
# Optional [custom metadata](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device) for the phone.
|
|
8
|
+
attr_accessor :custom_metadata
|
|
9
|
+
# ID of the phone.
|
|
10
|
+
attr_accessor :device_id
|
|
11
|
+
# Type of the phone device, such as `ios_phone` or `android_phone`.
|
|
12
|
+
attr_accessor :device_type
|
|
13
|
+
# Display name of the phone. Defaults to `nickname` (if it is set) or `properties.appearance.name`, otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones.
|
|
14
|
+
attr_accessor :display_name
|
|
15
|
+
# Optional nickname to describe the phone, settable through Seam.
|
|
16
|
+
attr_accessor :nickname
|
|
17
|
+
# Properties of the phone.
|
|
18
|
+
attr_accessor :properties
|
|
19
|
+
# ID of the workspace that contains the phone.
|
|
20
|
+
attr_accessor :workspace_id
|
|
7
21
|
|
|
22
|
+
# Date and time at which the phone was created.
|
|
8
23
|
date_accessor :created_at
|
|
9
24
|
|
|
10
25
|
include Seam::Resources::ResourceErrorsSupport
|
data/lib/seam/resources/space.rb
CHANGED
|
@@ -2,9 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents a space that is a logical grouping of devices and entrances. You can assign access to an entire space, thereby making granting access more efficient.
|
|
5
6
|
class Space < BaseResource
|
|
6
|
-
|
|
7
|
+
# Number of entrances in the space.
|
|
8
|
+
attr_accessor :acs_entrance_count
|
|
9
|
+
# Reservation/stay-related defaults for the space. Also carries the provider/PMS-supplied name under a `<connector_type>_name` key (e.g. `guesty_name`), which Seam preserves when you rename the space (read-only — managed by Seam).
|
|
10
|
+
attr_accessor :customer_data
|
|
11
|
+
# Customer key associated with the space.
|
|
12
|
+
attr_accessor :customer_key
|
|
13
|
+
# Number of devices in the space.
|
|
14
|
+
attr_accessor :device_count
|
|
15
|
+
# Display name for the space.
|
|
16
|
+
attr_accessor :display_name
|
|
17
|
+
# Geographic coordinates (latitude and longitude) of the space.
|
|
18
|
+
attr_accessor :geolocation
|
|
19
|
+
# Name of the space.
|
|
20
|
+
attr_accessor :name
|
|
21
|
+
# ID of the space.
|
|
22
|
+
attr_accessor :space_id
|
|
23
|
+
# Unique key for the space within the workspace.
|
|
24
|
+
attr_accessor :space_key
|
|
25
|
+
# ID of the workspace associated with the space.
|
|
26
|
+
attr_accessor :workspace_id
|
|
7
27
|
|
|
28
|
+
# Date and time at which the space was created.
|
|
8
29
|
date_accessor :created_at
|
|
9
30
|
end
|
|
10
31
|
end
|
|
@@ -2,9 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents a thermostat daily program, consisting of a set of periods, each of which has a starting time and the key that identifies the climate preset to apply at the starting time.
|
|
5
6
|
class ThermostatDailyProgram < BaseResource
|
|
6
|
-
|
|
7
|
+
# ID of the thermostat device on which the thermostat daily program is configured.
|
|
8
|
+
attr_accessor :device_id
|
|
9
|
+
# User-friendly name to identify the thermostat daily program.
|
|
10
|
+
attr_accessor :name
|
|
11
|
+
# Array of thermostat daily program periods.
|
|
12
|
+
attr_accessor :periods
|
|
13
|
+
# ID of the thermostat daily program.
|
|
14
|
+
attr_accessor :thermostat_daily_program_id
|
|
15
|
+
# ID of the workspace that contains the thermostat daily program.
|
|
16
|
+
attr_accessor :workspace_id
|
|
7
17
|
|
|
18
|
+
# Date and time at which the thermostat daily program was created.
|
|
8
19
|
date_accessor :created_at
|
|
9
20
|
end
|
|
10
21
|
end
|
|
@@ -2,10 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents a [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) that activates a configured [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) on a [thermostat](https://docs.seam.co/capability-guides/thermostats) at a specified starting time and deactivates the climate preset at a specified ending time.
|
|
5
6
|
class ThermostatSchedule < BaseResource
|
|
6
|
-
|
|
7
|
+
# Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
|
|
8
|
+
attr_accessor :climate_preset_key
|
|
9
|
+
# ID of the desired [thermostat](https://docs.seam.co/capability-guides/thermostats) device.
|
|
10
|
+
attr_accessor :device_id
|
|
11
|
+
# Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.
|
|
12
|
+
attr_accessor :is_override_allowed
|
|
13
|
+
# Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
|
|
14
|
+
attr_accessor :max_override_period_minutes
|
|
15
|
+
# User-friendly name to identify the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
|
|
16
|
+
attr_accessor :name
|
|
17
|
+
# ID of the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
|
|
18
|
+
attr_accessor :thermostat_schedule_id
|
|
19
|
+
# ID of the workspace that contains the thermostat schedule.
|
|
20
|
+
attr_accessor :workspace_id
|
|
7
21
|
|
|
8
|
-
|
|
22
|
+
# Date and time at which the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created.
|
|
23
|
+
date_accessor :created_at
|
|
24
|
+
|
|
25
|
+
# Date and time at which the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
|
|
26
|
+
date_accessor :ends_at
|
|
27
|
+
|
|
28
|
+
# Date and time at which the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
|
|
29
|
+
date_accessor :starts_at
|
|
9
30
|
|
|
10
31
|
include Seam::Resources::ResourceErrorsSupport
|
|
11
32
|
end
|
|
@@ -2,10 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents an [unmanaged smart lock access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes).
|
|
6
|
+
#
|
|
7
|
+
# An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly.
|
|
8
|
+
#
|
|
9
|
+
# When you create an access code on a device in Seam, it is created as a managed access code. Access codes that exist on a device that were not created through Seam are considered unmanaged codes. We strictly limit the operations that can be performed on unmanaged codes.
|
|
10
|
+
#
|
|
11
|
+
# Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace.
|
|
12
|
+
#
|
|
13
|
+
# Not all providers support unmanaged access codes. The following providers do not support unmanaged access codes:
|
|
14
|
+
#
|
|
15
|
+
# - [Kwikset](https://docs.seam.co/device-and-system-integration-guides/kwikset-locks)
|
|
5
16
|
class UnmanagedAccessCode < BaseResource
|
|
6
|
-
|
|
17
|
+
# Unique identifier for the access code.
|
|
18
|
+
attr_accessor :access_code_id
|
|
19
|
+
# Indicates that Seam cannot convert this unmanaged access code to a managed access code. Some providers do not support management of unmanaged access codes through API integrations.
|
|
20
|
+
attr_accessor :cannot_be_managed
|
|
21
|
+
# Indicates that Seam cannot delete this unmanaged access code through the provider. If this access code needs to be deleted, it will only be possible from the manufacturer app.
|
|
22
|
+
attr_accessor :cannot_delete_unmanaged_access_code
|
|
23
|
+
# Code used for access. Typically, a numeric or alphanumeric string.
|
|
24
|
+
attr_accessor :code
|
|
25
|
+
# Unique identifier for the device associated with the access code.
|
|
26
|
+
attr_accessor :device_id
|
|
27
|
+
# Metadata for a dormakaba Oracode unmanaged access code. Only present for unmanaged access codes from dormakaba Oracode devices.
|
|
28
|
+
attr_accessor :dormakaba_oracode_metadata
|
|
29
|
+
# Indicates that Seam does not manage the access code.
|
|
30
|
+
attr_accessor :is_managed
|
|
31
|
+
# Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`. To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints. To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components).
|
|
32
|
+
attr_accessor :name
|
|
33
|
+
# Current status of the access code within the operational lifecycle. `set` indicates that the code is active and operational. `unset` indicates that the code exists on the provider but is not usable on the device.
|
|
34
|
+
attr_accessor :status
|
|
35
|
+
# Type of the access code. `ongoing` access codes are active continuously until deactivated manually. `time_bound` access codes have a specific duration.
|
|
36
|
+
attr_accessor :type
|
|
37
|
+
# Unique identifier for the Seam workspace associated with the access code.
|
|
38
|
+
attr_accessor :workspace_id
|
|
7
39
|
|
|
8
|
-
|
|
40
|
+
# Date and time at which the access code was created.
|
|
41
|
+
date_accessor :created_at
|
|
42
|
+
|
|
43
|
+
# Date and time after which the time-bound access code becomes inactive.
|
|
44
|
+
date_accessor :ends_at
|
|
45
|
+
|
|
46
|
+
# Date and time at which the time-bound access code becomes active.
|
|
47
|
+
date_accessor :starts_at
|
|
9
48
|
|
|
10
49
|
include Seam::Resources::ResourceErrorsSupport
|
|
11
50
|
include Seam::Resources::ResourceWarningsSupport
|
|
@@ -2,10 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents an unmanaged Access Grant. Unmanaged Access Grants do not have client sessions, instant keys, customization profiles, or keys.
|
|
5
6
|
class UnmanagedAccessGrant < BaseResource
|
|
6
|
-
|
|
7
|
+
# ID of the Access Grant.
|
|
8
|
+
attr_accessor :access_grant_id
|
|
9
|
+
# IDs of the access methods created for the Access Grant.
|
|
10
|
+
attr_accessor :access_method_ids
|
|
11
|
+
# Display name of the Access Grant.
|
|
12
|
+
attr_accessor :display_name
|
|
13
|
+
# @deprecated Use `space_ids`.
|
|
14
|
+
attr_accessor :location_ids
|
|
15
|
+
# Name of the Access Grant. If not provided, the display name will be computed.
|
|
16
|
+
attr_accessor :name
|
|
17
|
+
# List of pending mutations for the access grant. This shows updates that are in progress.
|
|
18
|
+
attr_accessor :pending_mutations
|
|
19
|
+
# Access methods that the user requested for the Access Grant.
|
|
20
|
+
attr_accessor :requested_access_methods
|
|
21
|
+
# Reservation key for the access grant.
|
|
22
|
+
attr_accessor :reservation_key
|
|
23
|
+
# IDs of the spaces to which the Access Grant gives access.
|
|
24
|
+
attr_accessor :space_ids
|
|
25
|
+
# ID of user identity to which the Access Grant gives access.
|
|
26
|
+
attr_accessor :user_identity_id
|
|
27
|
+
# ID of the Seam workspace associated with the Access Grant.
|
|
28
|
+
attr_accessor :workspace_id
|
|
7
29
|
|
|
8
|
-
|
|
30
|
+
# Date and time at which the Access Grant was created.
|
|
31
|
+
date_accessor :created_at
|
|
32
|
+
|
|
33
|
+
# Date and time at which the Access Grant ends.
|
|
34
|
+
date_accessor :ends_at
|
|
35
|
+
|
|
36
|
+
# Date and time at which the Access Grant starts.
|
|
37
|
+
date_accessor :starts_at
|
|
9
38
|
|
|
10
39
|
include Seam::Resources::ResourceErrorsSupport
|
|
11
40
|
include Seam::Resources::ResourceWarningsSupport
|
|
@@ -2,10 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents an unmanaged access method. Unmanaged access methods do not have client sessions, instant keys, customization profiles, or keys.
|
|
5
6
|
class UnmanagedAccessMethod < BaseResource
|
|
6
|
-
|
|
7
|
+
# ID of the access method.
|
|
8
|
+
attr_accessor :access_method_id
|
|
9
|
+
# The actual PIN code for code access methods.
|
|
10
|
+
attr_accessor :code
|
|
11
|
+
# Display name of the access method.
|
|
12
|
+
attr_accessor :display_name
|
|
13
|
+
# Indicates whether an existing card credential must be assigned to this access method before it can be issued. Only applies to card-mode access methods on systems that support credential assignment.
|
|
14
|
+
attr_accessor :is_assignment_required
|
|
15
|
+
# Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.
|
|
16
|
+
attr_accessor :is_encoding_required
|
|
17
|
+
# Indicates whether the access method has been issued.
|
|
18
|
+
attr_accessor :is_issued
|
|
19
|
+
# Indicates whether the access method is ready for card assignment. This is true when the access method is in card mode, has not yet been issued, and the system supports credential assignment.
|
|
20
|
+
attr_accessor :is_ready_for_assignment
|
|
21
|
+
# Indicates whether the access method is ready to be encoded. This is true when the credential has been created and the card has not yet been issued.
|
|
22
|
+
attr_accessor :is_ready_for_encoding
|
|
23
|
+
# Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
|
|
24
|
+
attr_accessor :mode
|
|
25
|
+
# Pending mutations for the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant). Indicates operations that are in progress.
|
|
26
|
+
attr_accessor :pending_mutations
|
|
27
|
+
# ID of the Seam workspace associated with the access method.
|
|
28
|
+
attr_accessor :workspace_id
|
|
7
29
|
|
|
8
|
-
|
|
30
|
+
# Date and time at which the access method was created.
|
|
31
|
+
date_accessor :created_at
|
|
32
|
+
|
|
33
|
+
# Date and time at which the access method was issued.
|
|
34
|
+
date_accessor :issued_at
|
|
9
35
|
|
|
10
36
|
include Seam::Resources::ResourceErrorsSupport
|
|
11
37
|
include Seam::Resources::ResourceWarningsSupport
|
|
@@ -2,9 +2,68 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents an [unmanaged device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices). An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](https://docs.seam.co/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).
|
|
5
6
|
class UnmanagedDevice < BaseResource
|
|
6
|
-
|
|
7
|
+
# Indicates whether the lock supports configuring automatic locking.
|
|
8
|
+
attr_accessor :can_configure_auto_lock
|
|
9
|
+
# Indicates whether the thermostat supports cooling.
|
|
10
|
+
attr_accessor :can_hvac_cool
|
|
11
|
+
# Indicates whether the thermostat supports heating.
|
|
12
|
+
attr_accessor :can_hvac_heat
|
|
13
|
+
# Indicates whether the thermostat supports simultaneous heating and cooling.
|
|
14
|
+
attr_accessor :can_hvac_heat_cool
|
|
15
|
+
# Indicates whether the device supports programming offline access codes.
|
|
16
|
+
attr_accessor :can_program_offline_access_codes
|
|
17
|
+
# Indicates whether the device supports programming online access codes.
|
|
18
|
+
attr_accessor :can_program_online_access_codes
|
|
19
|
+
# Indicates whether the thermostat supports different climate programs for each day of the week.
|
|
20
|
+
attr_accessor :can_program_thermostat_programs_as_different_each_day
|
|
21
|
+
# Indicates whether the thermostat supports a single climate program applied to every day.
|
|
22
|
+
attr_accessor :can_program_thermostat_programs_as_same_each_day
|
|
23
|
+
# Indicates whether the thermostat supports weekday/weekend climate programs.
|
|
24
|
+
attr_accessor :can_program_thermostat_programs_as_weekday_weekend
|
|
25
|
+
# Indicates whether the device supports remote locking.
|
|
26
|
+
attr_accessor :can_remotely_lock
|
|
27
|
+
# Indicates whether the device supports remote unlocking.
|
|
28
|
+
attr_accessor :can_remotely_unlock
|
|
29
|
+
# Indicates whether the thermostat supports running climate programs.
|
|
30
|
+
attr_accessor :can_run_thermostat_programs
|
|
31
|
+
# Indicates whether the device supports simulating connection in a sandbox.
|
|
32
|
+
attr_accessor :can_simulate_connection
|
|
33
|
+
# Indicates whether the device supports simulating disconnection in a sandbox.
|
|
34
|
+
attr_accessor :can_simulate_disconnection
|
|
35
|
+
# Indicates whether the hub supports simulating connection in a sandbox.
|
|
36
|
+
attr_accessor :can_simulate_hub_connection
|
|
37
|
+
# Indicates whether the hub supports simulating disconnection in a sandbox.
|
|
38
|
+
attr_accessor :can_simulate_hub_disconnection
|
|
39
|
+
# Indicates whether the device supports simulating a paid subscription in a sandbox.
|
|
40
|
+
attr_accessor :can_simulate_paid_subscription
|
|
41
|
+
# Indicates whether the device supports simulating removal in a sandbox.
|
|
42
|
+
attr_accessor :can_simulate_removal
|
|
43
|
+
# Indicates whether the thermostat can be turned off.
|
|
44
|
+
attr_accessor :can_turn_off_hvac
|
|
45
|
+
# Indicates whether the lock supports unlocking with an access code.
|
|
46
|
+
attr_accessor :can_unlock_with_code
|
|
47
|
+
# Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/capability-guides/device-and-system-capabilities#capability-flags).
|
|
48
|
+
attr_accessor :capabilities_supported
|
|
49
|
+
# Unique identifier for the account associated with the device.
|
|
50
|
+
attr_accessor :connected_account_id
|
|
51
|
+
# Set of key:value pairs. Adding custom metadata to a resource, such as a [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview), [connected account](https://docs.seam.co/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account), or [device](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device), enables you to store custom information, like customer details or internal IDs from your application.
|
|
52
|
+
attr_accessor :custom_metadata
|
|
53
|
+
# ID of the device.
|
|
54
|
+
attr_accessor :device_id
|
|
55
|
+
# Type of the device.
|
|
56
|
+
attr_accessor :device_type
|
|
57
|
+
# Indicates that Seam does not manage the device.
|
|
58
|
+
attr_accessor :is_managed
|
|
59
|
+
# Location information for the device.
|
|
60
|
+
attr_accessor :location
|
|
61
|
+
# properties of the device.
|
|
62
|
+
attr_accessor :properties
|
|
63
|
+
# Unique identifier for the Seam workspace associated with the device.
|
|
64
|
+
attr_accessor :workspace_id
|
|
7
65
|
|
|
66
|
+
# Date and time at which the device object was created.
|
|
8
67
|
date_accessor :created_at
|
|
9
68
|
|
|
10
69
|
include Seam::Resources::ResourceErrorsSupport
|
|
@@ -2,9 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
module Seam
|
|
4
4
|
module Resources
|
|
5
|
+
# Represents an unmanaged user identity. Unmanaged user identities do not have keys.
|
|
5
6
|
class UnmanagedUserIdentity < BaseResource
|
|
6
|
-
|
|
7
|
+
# Array of access system user IDs associated with the user identity.
|
|
8
|
+
attr_accessor :acs_user_ids
|
|
9
|
+
# Display name for the user identity.
|
|
10
|
+
attr_accessor :display_name
|
|
11
|
+
# Unique email address for the user identity.
|
|
12
|
+
attr_accessor :email_address
|
|
13
|
+
# Full name of the user associated with the user identity.
|
|
14
|
+
attr_accessor :full_name
|
|
15
|
+
# Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100).
|
|
16
|
+
attr_accessor :phone_number
|
|
17
|
+
# ID of the user identity.
|
|
18
|
+
attr_accessor :user_identity_id
|
|
19
|
+
# ID of the workspace that contains the user identity.
|
|
20
|
+
attr_accessor :workspace_id
|
|
7
21
|
|
|
22
|
+
# Date and time at which the user identity was created.
|
|
8
23
|
date_accessor :created_at
|
|
9
24
|
|
|
10
25
|
include Seam::Resources::ResourceErrorsSupport
|