seam 2.157.0 → 2.158.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 +2 -2
- data/lib/seam/resources/access_code.rb +18 -18
- data/lib/seam/resources/access_grant.rb +4 -4
- data/lib/seam/resources/access_method.rb +9 -9
- data/lib/seam/resources/acs_access_group.rb +3 -3
- data/lib/seam/resources/acs_credential.rb +35 -35
- data/lib/seam/resources/acs_encoder.rb +10 -10
- data/lib/seam/resources/acs_entrance.rb +20 -20
- data/lib/seam/resources/acs_system.rb +37 -37
- data/lib/seam/resources/acs_user.rb +35 -35
- data/lib/seam/resources/action_attempt.rb +101 -101
- data/lib/seam/resources/batch.rb +30 -30
- data/lib/seam/resources/client_session.rb +12 -12
- data/lib/seam/resources/connect_webview.rb +6 -6
- data/lib/seam/resources/connected_account.rb +9 -9
- data/lib/seam/resources/device.rb +84 -84
- data/lib/seam/resources/event.rb +60 -60
- data/lib/seam/resources/noise_threshold.rb +2 -2
- data/lib/seam/resources/phone.rb +1 -1
- data/lib/seam/resources/thermostat_daily_program.rb +1 -1
- data/lib/seam/resources/thermostat_schedule.rb +11 -11
- data/lib/seam/resources/unmanaged_access_code.rb +15 -15
- data/lib/seam/resources/unmanaged_access_grant.rb +4 -4
- data/lib/seam/resources/unmanaged_access_method.rb +9 -9
- data/lib/seam/resources/unmanaged_device.rb +10 -10
- data/lib/seam/resources/user_identity.rb +1 -1
- data/lib/seam/resources/webhook.rb +4 -4
- data/lib/seam/resources/workspace.rb +12 -12
- data/lib/seam/routes/access_codes.rb +28 -28
- data/lib/seam/routes/access_codes_simulate.rb +1 -1
- data/lib/seam/routes/access_codes_unmanaged.rb +9 -9
- data/lib/seam/routes/access_grants.rb +3 -3
- data/lib/seam/routes/access_methods.rb +2 -2
- data/lib/seam/routes/acs_access_groups.rb +7 -7
- data/lib/seam/routes/acs_credentials.rb +11 -11
- data/lib/seam/routes/acs_encoders.rb +5 -5
- data/lib/seam/routes/acs_encoders_simulate.rb +4 -4
- data/lib/seam/routes/acs_entrances.rb +5 -5
- data/lib/seam/routes/acs_systems.rb +3 -3
- data/lib/seam/routes/acs_users.rb +16 -16
- data/lib/seam/routes/action_attempts.rb +2 -2
- data/lib/seam/routes/client_sessions.rb +22 -22
- data/lib/seam/routes/connect_webviews.rb +11 -11
- data/lib/seam/routes/connected_accounts.rb +7 -7
- data/lib/seam/routes/connected_accounts_simulate.rb +1 -1
- data/lib/seam/routes/devices.rb +9 -9
- data/lib/seam/routes/devices_simulate.rb +3 -3
- data/lib/seam/routes/devices_unmanaged.rb +6 -6
- data/lib/seam/routes/events.rb +2 -2
- data/lib/seam/routes/instant_keys.rb +3 -3
- data/lib/seam/routes/locks.rb +5 -5
- data/lib/seam/routes/locks_simulate.rb +2 -2
- data/lib/seam/routes/noise_sensors.rb +1 -1
- data/lib/seam/routes/noise_sensors_noise_thresholds.rb +7 -7
- data/lib/seam/routes/noise_sensors_simulate.rb +1 -1
- data/lib/seam/routes/phones.rb +4 -4
- data/lib/seam/routes/phones_simulate.rb +1 -1
- data/lib/seam/routes/spaces.rb +4 -4
- data/lib/seam/routes/thermostats.rb +43 -43
- data/lib/seam/routes/thermostats_schedules.rb +11 -11
- data/lib/seam/routes/thermostats_simulate.rb +6 -6
- data/lib/seam/routes/user_identities.rb +15 -15
- data/lib/seam/routes/user_identities_unmanaged.rb +3 -3
- data/lib/seam/routes/webhooks.rb +5 -5
- data/lib/seam/routes/workspaces.rb +8 -8
- data/lib/seam/version.rb +1 -1
- metadata +1 -1
|
@@ -8,7 +8,7 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Returns a specified [access system](https://
|
|
11
|
+
# Returns a specified [access system](https://www.seam.co/docs/low-level-apis/access-systems).
|
|
12
12
|
# @param acs_system_id [String] ID of the access system that you want to get.
|
|
13
13
|
# @return [Seam::Resources::AcsSystem] OK
|
|
14
14
|
def get(acs_system_id:)
|
|
@@ -17,7 +17,7 @@ module Seam
|
|
|
17
17
|
Seam::Resources::AcsSystem.load_from_response(res.body["acs_system"])
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
# Returns a list of all [access systems](https://
|
|
20
|
+
# Returns a list of all [access systems](https://www.seam.co/docs/low-level-apis/access-systems).
|
|
21
21
|
#
|
|
22
22
|
# To filter the list of returned access systems by a specific connected account ID, include the `connected_account_id` in the request body. If you omit the `connected_account_id` parameter, the response includes all access systems connected to your workspace.
|
|
23
23
|
# @param connected_account_id [String, nil] ID of the connected account by which you want to filter the list of access systems.
|
|
@@ -30,7 +30,7 @@ module Seam
|
|
|
30
30
|
Seam::Resources::AcsSystem.load_from_response(res.body["acs_systems"])
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
# Returns a list of all credential manager systems that are compatible with a specified [access system](https://
|
|
33
|
+
# Returns a list of all credential manager systems that are compatible with a specified [access system](https://www.seam.co/docs/low-level-apis/access-systems).
|
|
34
34
|
#
|
|
35
35
|
# Specify the access system for which you want to retrieve all compatible credential manager systems by including the corresponding `acs_system_id` in the request body.
|
|
36
36
|
# @param acs_system_id [String] ID of the access system for which you want to retrieve all compatible credential manager systems.
|
|
@@ -8,7 +8,7 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Adds a specified [access system user](https://
|
|
11
|
+
# Adds a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management) to a specified [access group](https://www.seam.co/docs/low-level-apis/access-systems/user-management/assigning-users-to-access-groups).
|
|
12
12
|
# @param acs_access_group_id [String] ID of the access group to which you want to add an access system user.
|
|
13
13
|
# @param acs_user_id [String] ID of the access system user that you want to add to an access group.
|
|
14
14
|
# @return [nil] OK
|
|
@@ -18,15 +18,15 @@ module Seam
|
|
|
18
18
|
nil
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
# Creates a new [access system user](https://
|
|
21
|
+
# Creates a new [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
22
22
|
# @param acs_system_id [String] ID of the access system to which you want to add the new access system user.
|
|
23
23
|
# @param full_name [String] Full name of the new access system user.
|
|
24
24
|
# @param access_schedule [Hash, nil] `starts_at` and `ends_at` timestamps for the new access system user's access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. If you omit `starts_at`, it defaults to the current time. `ends_at` is optional and must be a time in the future and after `starts_at`.
|
|
25
25
|
# @param acs_access_group_ids [Array<String>, nil] Array of access group IDs to indicate the access groups to which you want to add the new access system user.
|
|
26
26
|
# @param email [String, nil]
|
|
27
27
|
# @deprecated email: use email_address.
|
|
28
|
-
# @param email_address [String, nil] Email address of the [access system user](https://
|
|
29
|
-
# @param phone_number [String, nil] Phone number of the [access system user](https://
|
|
28
|
+
# @param email_address [String, nil] Email address of the [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
29
|
+
# @param phone_number [String, nil] Phone number of the [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management) in E.164 format (for example, `+15555550100`).
|
|
30
30
|
# @param user_identity_id [String, nil] ID of the user identity with which you want to associate the new access system user.
|
|
31
31
|
# @return [Seam::Resources::AcsUser] OK
|
|
32
32
|
def create(acs_system_id:, full_name:, access_schedule: nil, acs_access_group_ids: nil, email: nil, email_address: nil, phone_number: nil, user_identity_id: nil)
|
|
@@ -35,7 +35,7 @@ module Seam
|
|
|
35
35
|
Seam::Resources::AcsUser.load_from_response(res.body["acs_user"])
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
# Deletes a specified [access system user](https://
|
|
38
|
+
# Deletes a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management) and invalidates the access system user's [credentials](https://www.seam.co/docs/low-level-apis/access-systems/managing-credentials).
|
|
39
39
|
# @param acs_system_id [String, nil] ID of the access system that you want to delete. You must provide acs_system_id with user_identity_id.
|
|
40
40
|
# @param acs_user_id [String, nil] ID of the access system user that you want to delete. You must provide either acs_user_id or user_identity_id
|
|
41
41
|
# @param user_identity_id [String, nil] ID of the user identity that you want to delete. You must provide either acs_user_id or user_identity_id. If you provide user_identity_id, you must also provide acs_system_id.
|
|
@@ -50,7 +50,7 @@ module Seam
|
|
|
50
50
|
nil
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
# Returns a specified [access system user](https://
|
|
53
|
+
# Returns a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
54
54
|
# @param acs_user_id [String, nil] ID of the access system user that you want to get. You can only provide acs_user_id or user_identity_id.
|
|
55
55
|
# @param acs_system_id [String, nil] ID of the access system that you want to get. You can only provide acs_user_id or user_identity_id.
|
|
56
56
|
# @param user_identity_id [String, nil] ID of the user identity that you want to get. You can only provide acs_user_id or user_identity_id.
|
|
@@ -65,7 +65,7 @@ module Seam
|
|
|
65
65
|
Seam::Resources::AcsUser.load_from_response(res.body["acs_user"])
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
# Returns a list of all [access system users](https://
|
|
68
|
+
# Returns a list of all [access system users](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
69
69
|
# @param acs_system_id [String, nil] ID of the `acs_system` for which you want to retrieve all access system users.
|
|
70
70
|
# @param created_before [Time, nil] Timestamp by which to limit returned access system users. Returns users created before this timestamp.
|
|
71
71
|
# @param limit [Integer, nil] Maximum number of records to return per page.
|
|
@@ -81,7 +81,7 @@ module Seam
|
|
|
81
81
|
Seam::Resources::AcsUser.load_from_response(res.body["acs_users"])
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
# Lists the [entrances](https://
|
|
84
|
+
# Lists the [entrances](https://www.seam.co/docs/api/acs/entrances/object) to which a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management) has access.
|
|
85
85
|
# @param acs_system_id [String, nil] ID of the access system for which you want to list accessible entrances. You can only provide acs_system_id with user_identity_id.
|
|
86
86
|
# @param acs_user_id [String, nil] ID of the access system user for whom you want to list accessible entrances. You can only provide acs_user_id or user_identity_id.
|
|
87
87
|
# @param user_identity_id [String, nil] ID of the user identity for whom you want to list accessible entrances. You can only provide acs_user_id or user_identity_id.
|
|
@@ -96,7 +96,7 @@ module Seam
|
|
|
96
96
|
Seam::Resources::AcsEntrance.load_from_response(res.body["acs_entrances"])
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
-
# Removes a specified [access system user](https://
|
|
99
|
+
# Removes a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management) from a specified [access group](https://www.seam.co/docs/low-level-apis/access-systems/user-management/assigning-users-to-access-groups).
|
|
100
100
|
# @param acs_access_group_id [String] ID of the access group from which you want to remove an access system user.
|
|
101
101
|
# @param acs_user_id [String, nil] ID of the access system user that you want to remove from an access group. You can only provide acs_user_id or user_identity_id.
|
|
102
102
|
# @param user_identity_id [String, nil] ID of the user identity that you want to remove from an access group. You can only provide acs_user_id or user_identity_id.
|
|
@@ -107,7 +107,7 @@ module Seam
|
|
|
107
107
|
nil
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
-
# Revokes access to all [entrances](https://
|
|
110
|
+
# Revokes access to all [entrances](https://www.seam.co/docs/api/acs/entrances/object) for a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
111
111
|
# @param acs_system_id [String, nil] ID of the access system for which you want to revoke access. You can only provide acs_system_id with user_identity_id.
|
|
112
112
|
# @param acs_user_id [String, nil] ID of the access system user for whom you want to revoke access. You can only provide acs_user_id or user_identity_id.
|
|
113
113
|
# @param user_identity_id [String, nil] ID of the user identity for whom you want to revoke access. You can only provide acs_user_id or user_identity_id.
|
|
@@ -122,7 +122,7 @@ module Seam
|
|
|
122
122
|
nil
|
|
123
123
|
end
|
|
124
124
|
|
|
125
|
-
# [Suspends](https://
|
|
125
|
+
# [Suspends](https://www.seam.co/docs/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management). Suspending an access system user revokes their access temporarily. To restore an access system user's access, you can [unsuspend](https://www.seam.co/docs/api/acs/users/unsuspend) them.
|
|
126
126
|
# @param acs_system_id [String, nil] ID of the access system that you want to suspend. You can only provide acs_user_id or the combination of acs_system_id and user_identity_id.
|
|
127
127
|
# @param acs_user_id [String, nil] ID of the access system user that you want to suspend. You can only provide acs_user_id or the combination of acs_system_id and user_identity_id.
|
|
128
128
|
# @param user_identity_id [String, nil] ID of the user identity that you want to suspend. You can only provide acs_user_id or the combination of acs_system_id and user_identity_id.
|
|
@@ -137,7 +137,7 @@ module Seam
|
|
|
137
137
|
nil
|
|
138
138
|
end
|
|
139
139
|
|
|
140
|
-
# [Unsuspends](https://
|
|
140
|
+
# [Unsuspends](https://www.seam.co/docs/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management). While [suspending an access system user](https://www.seam.co/docs/api/acs/users/suspend) revokes their access temporarily, unsuspending the access system user restores their access.
|
|
141
141
|
# @param acs_system_id [String, nil] ID of the access system of the user that you want to unsuspend. You can only provide acs_system_id with user_identity_id.
|
|
142
142
|
# @param acs_user_id [String, nil] ID of the access system user that you want to unsuspend. You can only provide acs_user_id or the combination of acs_system_id and user_identity_id.
|
|
143
143
|
# @param user_identity_id [String, nil] ID of the user identity that you want to unsuspend. You can only provide acs_user_id or the combination of acs_system_id and user_identity_id.
|
|
@@ -152,16 +152,16 @@ module Seam
|
|
|
152
152
|
nil
|
|
153
153
|
end
|
|
154
154
|
|
|
155
|
-
# Updates the properties of a specified [access system user](https://
|
|
155
|
+
# Updates the properties of a specified [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
156
156
|
# @param access_schedule [Hash, Seam::Null, nil] `starts_at` and `ends_at` timestamps for the access system user's access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. If you omit `starts_at`, it defaults to the current time. `ends_at` is optional and must be a time in the future and after `starts_at`.
|
|
157
157
|
# @param acs_system_id [String, nil] ID of the access system that you want to update. You can only provide acs_system_id with user_identity_id.
|
|
158
158
|
# @param acs_user_id [String, nil] ID of the access system user that you want to update. You can only provide acs_user_id or user_identity_id.
|
|
159
159
|
# @param email [String, nil]
|
|
160
160
|
# @deprecated email: use email_address.
|
|
161
|
-
# @param email_address [String, nil] Email address of the [access system user](https://
|
|
162
|
-
# @param full_name [String, nil] Full name of the [access system user](https://
|
|
161
|
+
# @param email_address [String, nil] Email address of the [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
162
|
+
# @param full_name [String, nil] Full name of the [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management).
|
|
163
163
|
# @param hid_acs_system_id [String, nil] ID of the HID access control system associated with the user.
|
|
164
|
-
# @param phone_number [String, nil] Phone number of the [access system user](https://
|
|
164
|
+
# @param phone_number [String, nil] Phone number of the [access system user](https://www.seam.co/docs/low-level-apis/access-systems/user-management) in E.164 format (for example, `+15555550100`).
|
|
165
165
|
# @param user_identity_id [String, nil] ID of the user identity that you want to update. You can only provide acs_user_id or user_identity_id. If you provide user_identity_id, you must also provide acs_system_id.
|
|
166
166
|
# @return [nil] OK
|
|
167
167
|
def update(access_schedule: nil, acs_system_id: nil, acs_user_id: nil, email: nil, email_address: nil, full_name: nil, hid_acs_system_id: nil, phone_number: nil, user_identity_id: nil)
|
|
@@ -10,7 +10,7 @@ module Seam
|
|
|
10
10
|
@defaults = defaults
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
# Returns a specified [action attempt](https://
|
|
13
|
+
# Returns a specified [action attempt](https://www.seam.co/docs/core-concepts/action-attempts).
|
|
14
14
|
# @param action_attempt_id [String] ID of the action attempt that you want to get.
|
|
15
15
|
# @return [Seam::Resources::ActionAttempt] OK
|
|
16
16
|
def get(action_attempt_id:, wait_for_action_attempt: nil)
|
|
@@ -21,7 +21,7 @@ module Seam
|
|
|
21
21
|
Seam::ActionAttemptResolver.resolve(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
# Returns a list of the [action attempts](https://
|
|
24
|
+
# Returns a list of the [action attempts](https://www.seam.co/docs/core-concepts/action-attempts) that you specify as an array of `action_attempt_id`s.
|
|
25
25
|
# @param action_attempt_ids [Array<String>, nil] IDs of the action attempts that you want to retrieve.
|
|
26
26
|
# @param device_id [String, nil] ID of the device to filter action attempts by.
|
|
27
27
|
# @param limit [Integer, nil] Maximum number of records to return per page.
|
|
@@ -8,15 +8,15 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Creates a new [client session](https://
|
|
12
|
-
# @param connect_webview_ids [Array<String>, nil] IDs of the [Connect Webviews](https://
|
|
13
|
-
# @param connected_account_ids [Array<String>, nil] IDs of the [connected accounts](https://
|
|
11
|
+
# Creates a new [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens).
|
|
12
|
+
# @param connect_webview_ids [Array<String>, nil] IDs of the [Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews) for which you want to create a client session.
|
|
13
|
+
# @param connected_account_ids [Array<String>, nil] IDs of the [connected accounts](https://www.seam.co/docs/core-concepts/connected-accounts) for which you want to create a client session.
|
|
14
14
|
# @param customer_id [String, nil] Customer ID that you want to associate with the new client session.
|
|
15
15
|
# @param customer_key [String, nil] Customer key that you want to associate with the new client session.
|
|
16
16
|
# @param expires_at [Time, nil] Date and time at which the client session should expire, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
|
|
17
17
|
# @param user_identifier_key [String, nil] Your user ID for the user for whom you want to create a client session.
|
|
18
|
-
# @param user_identity_id [String, nil] ID of the [user identity](https://
|
|
19
|
-
# @param user_identity_ids [Array<String>, nil] IDs of the [user identities](https://
|
|
18
|
+
# @param user_identity_id [String, nil] ID of the [user identity](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) for which you want to create a client session.
|
|
19
|
+
# @param user_identity_ids [Array<String>, nil] IDs of the [user identities](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session.
|
|
20
20
|
# @deprecated user_identity_ids: Use `user_identity_id` instead.
|
|
21
21
|
# @return [Seam::Resources::ClientSession] OK
|
|
22
22
|
def create(connect_webview_ids: nil, connected_account_ids: nil, customer_id: nil, customer_key: nil, expires_at: nil, user_identifier_key: nil, user_identity_id: nil, user_identity_ids: nil)
|
|
@@ -25,7 +25,7 @@ module Seam
|
|
|
25
25
|
Seam::Resources::ClientSession.load_from_response(res.body["client_session"])
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
# Deletes a [client session](https://
|
|
28
|
+
# Deletes a [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens).
|
|
29
29
|
# @param client_session_id [String] ID of the client session that you want to delete.
|
|
30
30
|
# @return [nil] OK
|
|
31
31
|
def delete(client_session_id:)
|
|
@@ -34,7 +34,7 @@ module Seam
|
|
|
34
34
|
nil
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
# Returns a specified [client session](https://
|
|
37
|
+
# Returns a specified [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens).
|
|
38
38
|
# @param client_session_id [String, nil] ID of the client session that you want to get.
|
|
39
39
|
# @param user_identifier_key [String, nil] User identifier key associated with the client session that you want to get.
|
|
40
40
|
# @return [Seam::Resources::ClientSession] OK
|
|
@@ -44,13 +44,13 @@ module Seam
|
|
|
44
44
|
Seam::Resources::ClientSession.load_from_response(res.body["client_session"])
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
# Returns a [client session](https://
|
|
48
|
-
# @param connect_webview_ids [Array<String>, nil] IDs of the [Connect Webviews](https://
|
|
49
|
-
# @param connected_account_ids [Array<String>, nil] IDs of the [connected accounts](https://
|
|
47
|
+
# Returns a [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens) with specific characteristics or creates a new client session with these characteristics if it does not yet exist.
|
|
48
|
+
# @param connect_webview_ids [Array<String>, nil] IDs of the [Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews) that you want to associate with the client session (or that are already associated with the existing client session).
|
|
49
|
+
# @param connected_account_ids [Array<String>, nil] IDs of the [connected accounts](https://www.seam.co/docs/api/connected_accounts/object) that you want to associate with the client session (or that are already associated with the existing client session).
|
|
50
50
|
# @param expires_at [Time, nil] Date and time at which the client session should expire in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. If the client session already exists, this will update the expiration before returning it.
|
|
51
51
|
# @param user_identifier_key [String, nil] Your user ID for the user that you want to associate with the client session (or that is already associated with the existing client session).
|
|
52
|
-
# @param user_identity_id [String, nil] ID of the [user identity](https://
|
|
53
|
-
# @param user_identity_ids [Array<String>, nil] IDs of the [user identities](https://
|
|
52
|
+
# @param user_identity_id [String, nil] ID of the [user identity](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session (or that are already associated with the existing client session).
|
|
53
|
+
# @param user_identity_ids [Array<String>, nil] IDs of the [user identities](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session.
|
|
54
54
|
# @deprecated user_identity_ids: Use `user_identity_id`.
|
|
55
55
|
# @return [Seam::Resources::ClientSession] OK
|
|
56
56
|
def get_or_create(connect_webview_ids: nil, connected_account_ids: nil, expires_at: nil, user_identifier_key: nil, user_identity_id: nil, user_identity_ids: nil)
|
|
@@ -59,13 +59,13 @@ module Seam
|
|
|
59
59
|
Seam::Resources::ClientSession.load_from_response(res.body["client_session"])
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
# Grants a [client session](https://
|
|
62
|
+
# Grants a [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens) access to one or more resources, such as [Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews), [user identities](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity), and so on.
|
|
63
63
|
# @param client_session_id [String, nil] ID of the client session to which you want to grant access to resources.
|
|
64
|
-
# @param connect_webview_ids [Array<String>, nil] IDs of the [Connect Webviews](https://
|
|
65
|
-
# @param connected_account_ids [Array<String>, nil] IDs of the [connected accounts](https://
|
|
64
|
+
# @param connect_webview_ids [Array<String>, nil] IDs of the [Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews) that you want to associate with the client session.
|
|
65
|
+
# @param connected_account_ids [Array<String>, nil] IDs of the [connected accounts](https://www.seam.co/docs/core-concepts/connected-accounts) that you want to associate with the client session.
|
|
66
66
|
# @param user_identifier_key [String, nil] Your user ID for the user that you want to associate with the client session.
|
|
67
|
-
# @param user_identity_id [String, nil] ID of the [user identity](https://
|
|
68
|
-
# @param user_identity_ids [Array<String>, nil] IDs of the [user identities](https://
|
|
67
|
+
# @param user_identity_id [String, nil] ID of the [user identity](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session.
|
|
68
|
+
# @param user_identity_ids [Array<String>, nil] IDs of the [user identities](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) that you want to associate with the client session.
|
|
69
69
|
# @deprecated user_identity_ids: Use `user_identity_id`.
|
|
70
70
|
# @return [nil] OK
|
|
71
71
|
def grant_access(client_session_id: nil, connect_webview_ids: nil, connected_account_ids: nil, user_identifier_key: nil, user_identity_id: nil, user_identity_ids: nil)
|
|
@@ -78,11 +78,11 @@ module Seam
|
|
|
78
78
|
nil
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
# Returns a list of all [client sessions](https://
|
|
81
|
+
# Returns a list of all [client sessions](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens).
|
|
82
82
|
# @param client_session_id [String, nil] ID of the client session that you want to retrieve.
|
|
83
|
-
# @param connect_webview_id [String, Seam::Null, nil] ID of the [Connect Webview](https://
|
|
83
|
+
# @param connect_webview_id [String, Seam::Null, nil] ID of the [Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews) for which you want to retrieve client sessions. Specify `null` to retrieve client sessions that are not associated with a Connect Webview.
|
|
84
84
|
# @param user_identifier_key [String, nil] Your user ID for the user by which you want to filter client sessions.
|
|
85
|
-
# @param user_identity_id [String, Seam::Null, nil] ID of the [user identity](https://
|
|
85
|
+
# @param user_identity_id [String, Seam::Null, nil] ID of the [user identity](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) for which you want to retrieve client sessions. Specify `null` to retrieve client sessions that are not associated with a user identity.
|
|
86
86
|
# @param without_user_identifier_key [Boolean, nil] Indicates whether to retrieve only client sessions without associated user identifier keys.
|
|
87
87
|
# @return [Seam::Resources::ClientSession] OK
|
|
88
88
|
def list(client_session_id: nil, connect_webview_id: nil, user_identifier_key: nil, user_identity_id: nil, without_user_identifier_key: nil)
|
|
@@ -91,9 +91,9 @@ module Seam
|
|
|
91
91
|
Seam::Resources::ClientSession.load_from_response(res.body["client_sessions"])
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
-
# Revokes a [client session](https://
|
|
94
|
+
# Revokes a [client session](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens).
|
|
95
95
|
#
|
|
96
|
-
# Note that [deleting a client session](https://
|
|
96
|
+
# Note that [deleting a client session](https://www.seam.co/docs/api/client_sessions/delete) is a separate action.
|
|
97
97
|
# @param client_session_id [String] ID of the client session that you want to revoke.
|
|
98
98
|
# @return [nil] OK
|
|
99
99
|
def revoke(client_session_id:)
|
|
@@ -8,23 +8,23 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Creates a new [Connect Webview](https://
|
|
11
|
+
# Creates a new [Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews).
|
|
12
12
|
#
|
|
13
13
|
# To enable a user to connect their devices or systems to Seam, they must sign in to their device or system account. To enable a user to sign in, you create a `connect_webview`. After creating the Connect Webview, you receive a URL that you can use to display the visual component of this Connect Webview for your user. You can open an iframe or new window to display the Connect Webview.
|
|
14
14
|
#
|
|
15
15
|
# You should make a new `connect_webview` for each unique login request. Each `connect_webview` tracks the user that signed in with it. You receive an error if you reuse a Connect Webview for the same user twice or if you use the same Connect Webview for multiple users.
|
|
16
16
|
#
|
|
17
|
-
# See also: [Connect Webview Process](https://
|
|
17
|
+
# See also: [Connect Webview Process](https://www.seam.co/docs/core-concepts/connect-webviews/connect-webview-process).
|
|
18
18
|
# @param accepted_capabilities [Array<String>, nil] List of accepted device capabilities that restrict the types of devices that can be connected through the Connect Webview. If not provided, defaults will be determined based on the accepted providers.
|
|
19
|
-
# @param accepted_providers [Array<String>, nil] Accepted device provider keys as an alternative to `provider_category`. Use this parameter to specify accepted providers explicitly. See [Customize the Brands to Display in Your Connect Webviews](https://
|
|
20
|
-
# @param automatically_manage_new_devices [Boolean, nil] Indicates whether newly-added devices should appear as [managed devices](https://
|
|
21
|
-
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the Connect Webview. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). [Adding custom metadata to a Connect Webview](https://
|
|
19
|
+
# @param accepted_providers [Array<String>, nil] Accepted device provider keys as an alternative to `provider_category`. Use this parameter to specify accepted providers explicitly. See [Customize the Brands to Display in Your Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews). To list all provider keys, use [`/devices/list_device_providers`](https://www.seam.co/docs/api/devices/list_device_providers) with no filters.
|
|
20
|
+
# @param automatically_manage_new_devices [Boolean, nil] Indicates whether newly-added devices should appear as [managed devices](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices). See also: [Customize the Behavior Settings of Your Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-behavior-settings-of-your-connect-webviews).
|
|
21
|
+
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the Connect Webview. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). [Adding custom metadata to a Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview) enables you to store custom information, like customer details or internal IDs from your application. The custom metadata is then transferred to any [connected accounts](https://www.seam.co/docs/core-concepts/connected-accounts) that were connected using the Connect Webview, making it easy to find and filter these resources in your [workspace](https://www.seam.co/docs/core-concepts/workspaces). You can also [filter Connect Webviews by custom metadata](https://www.seam.co/docs/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata). Set a key to `null` or to an empty string to remove that key from the custom metadata.
|
|
22
22
|
# @param custom_redirect_failure_url [String, nil] Alternative URL that you want to redirect the user to on an error. If you do not set this parameter, the Connect Webview falls back to the `custom_redirect_url`.
|
|
23
23
|
# @param custom_redirect_url [String, nil] URL that you want to redirect the user to after the provider login is complete.
|
|
24
24
|
# @param customer_key [String, nil] Associate the Connect Webview, the connected account, and all resources under the connected account with a customer. If the connected account already exists, it will be associated with the customer. If the connected account already exists, but is already associated with a customer, the Connect Webview will show an error.
|
|
25
25
|
# @param excluded_providers [Array<String>, nil] List of provider keys to exclude from the Connect Webview. These providers will not be shown when the user tries to connect an account.
|
|
26
|
-
# @param provider_category [String, nil] Specifies the category of providers that you want to include. To list all providers within a category, use [`/devices/list_device_providers`](https://
|
|
27
|
-
# @param wait_for_device_creation [Boolean, nil] Indicates whether Seam should finish syncing all devices in a newly-connected account before completing the associated Connect Webview. See also: [Customize the Behavior Settings of Your Connect Webviews](https://
|
|
26
|
+
# @param provider_category [String, nil] Specifies the category of providers that you want to include. To list all providers within a category, use [`/devices/list_device_providers`](https://www.seam.co/docs/api/devices/list_device_providers) with the desired `provider_category` filter.
|
|
27
|
+
# @param wait_for_device_creation [Boolean, nil] Indicates whether Seam should finish syncing all devices in a newly-connected account before completing the associated Connect Webview. See also: [Customize the Behavior Settings of Your Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-behavior-settings-of-your-connect-webviews).
|
|
28
28
|
# @return [Seam::Resources::ConnectWebview] OK
|
|
29
29
|
def create(accepted_capabilities: nil, accepted_providers: nil, automatically_manage_new_devices: nil, custom_metadata: nil, custom_redirect_failure_url: nil, custom_redirect_url: nil, customer_key: nil, excluded_providers: nil, provider_category: nil, wait_for_device_creation: nil)
|
|
30
30
|
res = @client.post("/connect_webviews/create", {accepted_capabilities: accepted_capabilities, accepted_providers: accepted_providers, automatically_manage_new_devices: automatically_manage_new_devices, custom_metadata: custom_metadata, custom_redirect_failure_url: custom_redirect_failure_url, custom_redirect_url: custom_redirect_url, customer_key: customer_key, excluded_providers: excluded_providers, provider_category: provider_category, wait_for_device_creation: wait_for_device_creation}.compact)
|
|
@@ -32,7 +32,7 @@ module Seam
|
|
|
32
32
|
Seam::Resources::ConnectWebview.load_from_response(res.body["connect_webview"])
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# Deletes a [Connect Webview](https://
|
|
35
|
+
# Deletes a [Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews).
|
|
36
36
|
#
|
|
37
37
|
# You do not need to delete a Connect Webview once a user completes it. Instead, you can simply ignore completed Connect Webviews.
|
|
38
38
|
# @param connect_webview_id [String] ID of the Connect Webview that you want to delete.
|
|
@@ -43,7 +43,7 @@ module Seam
|
|
|
43
43
|
nil
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
# Returns a specified [Connect Webview](https://
|
|
46
|
+
# Returns a specified [Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews).
|
|
47
47
|
#
|
|
48
48
|
# Unless you're using a `custom_redirect_url`, you should poll a newly-created `connect_webview` to find out if the user has signed in or to get details about what devices they've connected.
|
|
49
49
|
# @param connect_webview_id [String] ID of the Connect Webview that you want to get.
|
|
@@ -54,8 +54,8 @@ module Seam
|
|
|
54
54
|
Seam::Resources::ConnectWebview.load_from_response(res.body["connect_webview"])
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
# Returns a list of all [Connect Webviews](https://
|
|
58
|
-
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Custom metadata pairs by which you want to [filter Connect Webviews](https://
|
|
57
|
+
# Returns a list of all [Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews).
|
|
58
|
+
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Custom metadata pairs by which you want to [filter Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata). Returns Connect Webviews with `custom_metadata` that contains all of the provided key:value pairs. Key names cannot contain a period (.). Specify `null` to match a key that is unset. A key given an empty string is omitted from the filter.
|
|
59
59
|
# @param customer_key [String, nil] Customer key for which you want to list connect webviews.
|
|
60
60
|
# @param limit [Float, nil] Maximum number of records to return per page.
|
|
61
61
|
# @param page_cursor [String, Seam::Null, nil] Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
|
|
@@ -12,7 +12,7 @@ module Seam
|
|
|
12
12
|
@simulate ||= Seam::Clients::ConnectedAccountsSimulate.new(client: @client, defaults: @defaults)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
# Deletes a specified [connected account](https://
|
|
15
|
+
# Deletes a specified [connected account](https://www.seam.co/docs/core-concepts/connected-accounts).
|
|
16
16
|
#
|
|
17
17
|
# Deleting a connected account triggers a `connected_account.deleted` event and removes the connected account and all data associated with the connected account from Seam, including devices, events, access codes, and so on. For every deleted resource, Seam sends a corresponding deleted event, but the resource is not deleted from the provider.
|
|
18
18
|
#
|
|
@@ -25,7 +25,7 @@ module Seam
|
|
|
25
25
|
nil
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
# Returns a specified [connected account](https://
|
|
28
|
+
# Returns a specified [connected account](https://www.seam.co/docs/core-concepts/connected-accounts).
|
|
29
29
|
# @param connected_account_id [String, nil] ID of the connected account that you want to get.
|
|
30
30
|
# @param email [String, nil] Email address associated with the connected account that you want to get.
|
|
31
31
|
# @return [Seam::Resources::ConnectedAccount] OK
|
|
@@ -39,7 +39,7 @@ module Seam
|
|
|
39
39
|
Seam::Resources::ConnectedAccount.load_from_response(res.body["connected_account"])
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
# Returns a list of all [connected accounts](https://
|
|
42
|
+
# Returns a list of all [connected accounts](https://www.seam.co/docs/core-concepts/connected-accounts).
|
|
43
43
|
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Custom metadata pairs by which you want to filter connected accounts. Returns connected accounts with `custom_metadata` that contains all of the provided key:value pairs. Key names cannot contain a period (.). Specify `null` to match a key that is unset. A key given an empty string is omitted from the filter.
|
|
44
44
|
# @param customer_key [String, nil] Customer key by which you want to filter connected accounts.
|
|
45
45
|
# @param limit [Integer, nil] Maximum number of records to return per page.
|
|
@@ -54,7 +54,7 @@ module Seam
|
|
|
54
54
|
Seam::Resources::ConnectedAccount.load_from_response(res.body["connected_accounts"])
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
# Request a [connected account](https://
|
|
57
|
+
# Request a [connected account](https://www.seam.co/docs/core-concepts/connected-accounts) sync attempt for the specified `connected_account_id`.
|
|
58
58
|
# @param connected_account_id [String] ID of the connected account that you want to sync.
|
|
59
59
|
# @return [nil] OK
|
|
60
60
|
def sync(connected_account_id:)
|
|
@@ -63,11 +63,11 @@ module Seam
|
|
|
63
63
|
nil
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
# Updates a [connected account](https://
|
|
66
|
+
# Updates a [connected account](https://www.seam.co/docs/core-concepts/connected-accounts).
|
|
67
67
|
# @param connected_account_id [String] ID of the connected account that you want to update.
|
|
68
68
|
# @param accepted_capabilities [Array<String>, nil] List of accepted device capabilities that restrict the types of devices that can be connected through this connected account. Valid values are `lock`, `thermostat`, `noise_sensor`, and `access_control`.
|
|
69
|
-
# @param automatically_manage_new_devices [Boolean, nil] Indicates whether newly-added devices should appear as [managed devices](https://
|
|
70
|
-
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the connected account. Entirely replaces the existing custom metadata object. If a new Connect Webview contains custom metadata and is used to reconnect a connected account, the custom metadata from the Connect Webview will entirely replace the entire custom metadata object on the connected account. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). [Adding custom metadata to a connected account](https://
|
|
69
|
+
# @param automatically_manage_new_devices [Boolean, nil] Indicates whether newly-added devices should appear as [managed devices](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices).
|
|
70
|
+
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the connected account. Entirely replaces the existing custom metadata object. If a new Connect Webview contains custom metadata and is used to reconnect a connected account, the custom metadata from the Connect Webview will entirely replace the entire custom metadata object on the connected account. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). [Adding custom metadata to a connected account](https://www.seam.co/docs/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account) enables you to store custom information, like customer details or internal IDs from your application. Then, you can [filter connected accounts by the desired metadata](https://www.seam.co/docs/core-concepts/connected-accounts/filtering-connected-accounts-by-custom-metadata). Set a key to `null` or to an empty string to remove that key from the custom metadata.
|
|
71
71
|
# @param customer_key [String, nil] The customer key to associate with this connected account. If provided, the connected account and all resources under the connected account will be moved to this customer. May only be provided if the connected account is not already associated with a customer.
|
|
72
72
|
# @param display_name [String, nil] Human-readable name for the connected account, shown in the dashboard. For example, `Booking from Airbnb House 1`.
|
|
73
73
|
# @return [nil] OK
|
|
@@ -8,7 +8,7 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Simulates a connected account becoming disconnected from Seam. Only applicable for [sandbox workspaces](https://
|
|
11
|
+
# Simulates a connected account becoming disconnected from Seam. Only applicable for [sandbox workspaces](https://www.seam.co/docs/core-concepts/workspaces#sandbox-workspaces).
|
|
12
12
|
# @param connected_account_id [String] ID of the connected account you want to simulate as disconnected.
|
|
13
13
|
# @return [nil] OK
|
|
14
14
|
def disconnect(connected_account_id:)
|
data/lib/seam/routes/devices.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Seam
|
|
|
16
16
|
@unmanaged ||= Seam::Clients::DevicesUnmanaged.new(client: @client, defaults: @defaults)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
# Returns a specified [device](https://
|
|
19
|
+
# Returns a specified [device](https://www.seam.co/docs/core-concepts/devices).
|
|
20
20
|
#
|
|
21
21
|
# You must specify either `device_id` or `name`.
|
|
22
22
|
# @param device_id [String, nil] ID of the device that you want to get.
|
|
@@ -32,12 +32,12 @@ module Seam
|
|
|
32
32
|
Seam::Resources::Device.load_from_response(res.body["device"])
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# Returns a list of all [devices](https://
|
|
35
|
+
# Returns a list of all [devices](https://www.seam.co/docs/core-concepts/devices).
|
|
36
36
|
# @param connect_webview_id [String, nil] ID of the Connect Webview for which you want to list devices.
|
|
37
37
|
# @param connected_account_id [String, nil] ID of the connected account for which you want to list devices.
|
|
38
38
|
# @param connected_account_ids [Array<String>, nil] Array of IDs of the connected accounts for which you want to list devices.
|
|
39
39
|
# @param created_before [Time, nil] Timestamp by which to limit returned devices. Returns devices created before this timestamp.
|
|
40
|
-
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Set of key:value [custom metadata](https://
|
|
40
|
+
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Set of key:value [custom metadata](https://www.seam.co/docs/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. Key names cannot contain a period (.). Specify `null` to match a key that is unset. A key given an empty string is omitted from the filter.
|
|
41
41
|
# @param customer_key [String, nil] Customer key for which you want to list devices.
|
|
42
42
|
# @param device_ids [Array<String>, nil] Array of device IDs for which you want to list devices.
|
|
43
43
|
# @param device_type [String, nil] Device type for which you want to list devices.
|
|
@@ -59,9 +59,9 @@ module Seam
|
|
|
59
59
|
|
|
60
60
|
# Returns a list of all device providers.
|
|
61
61
|
#
|
|
62
|
-
# The information that this endpoint returns for each provider includes a set of [capability flags](https://
|
|
62
|
+
# The information that this endpoint returns for each provider includes a set of [capability flags](https://www.seam.co/docs/capability-guides/device-and-system-capabilities#capability-flags), such as `device_provider.can_remotely_unlock`. If at least one supported device from a provider has a specific capability, the corresponding capability flag is `true`.
|
|
63
63
|
#
|
|
64
|
-
# When you create a [Connect Webview](https://
|
|
64
|
+
# When you create a [Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews), you can customize the providers—that is, the brands—that it displays. In the `/connect_webviews/create` request, include the desired set of device provider keys in the `accepted_providers` parameter. See also [Customize the Brands to Display in Your Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews).
|
|
65
65
|
# @param provider_category [String, nil] Category for which you want to list providers.
|
|
66
66
|
# @return [Seam::Resources::DeviceProvider] OK
|
|
67
67
|
def list_device_providers(provider_category: nil)
|
|
@@ -79,12 +79,12 @@ module Seam
|
|
|
79
79
|
nil
|
|
80
80
|
end
|
|
81
81
|
|
|
82
|
-
# Updates a specified [device](https://
|
|
82
|
+
# Updates a specified [device](https://www.seam.co/docs/core-concepts/devices).
|
|
83
83
|
#
|
|
84
|
-
# You can add or change [custom metadata](https://
|
|
84
|
+
# You can add or change [custom metadata](https://www.seam.co/docs/core-concepts/devices/adding-custom-metadata-to-a-device) for a device, change the device's name, or [convert a managed device to unmanaged](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices).
|
|
85
85
|
# @param device_id [String] ID of the device that you want to update.
|
|
86
|
-
# @param backup_access_code_pool_enabled [Boolean, nil] Indicates whether the device's [backup access code pool](https://
|
|
87
|
-
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the device. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). [Adding custom metadata to a device](https://
|
|
86
|
+
# @param backup_access_code_pool_enabled [Boolean, nil] Indicates whether the device's [backup access code pool](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/backup-access-codes) is enabled. Set to `false` to disable the pool: Seam stops refilling it and removes any backup codes that have not yet been pulled into active use.
|
|
87
|
+
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the device. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). [Adding custom metadata to a device](https://www.seam.co/docs/core-concepts/devices/adding-custom-metadata-to-a-device) enables you to store custom information, like customer details or internal IDs from your application. Then, you can [filter devices by the desired metadata](https://www.seam.co/docs/core-concepts/devices/filtering-devices-by-custom-metadata). Set a key to `null` or to an empty string to remove that key from the custom metadata.
|
|
88
88
|
# @param is_managed [Boolean, nil] Indicates whether the device is managed. To unmanage a device, set `is_managed` to `false`.
|
|
89
89
|
# @param name [String, Seam::Null, nil] Name for the device.
|
|
90
90
|
# @param properties [Hash, nil]
|
|
@@ -8,7 +8,7 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Simulates connecting a device to Seam. Only applicable for [sandbox devices](https://
|
|
11
|
+
# Simulates connecting a device to Seam. Only applicable for [sandbox devices](https://www.seam.co/docs/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your App Against Device Disconnection and Removal](https://www.seam.co/docs/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal).
|
|
12
12
|
# @param device_id [String] ID of the device that you want to simulate connecting to Seam.
|
|
13
13
|
# @return [nil] OK
|
|
14
14
|
def connect(device_id:)
|
|
@@ -29,7 +29,7 @@ module Seam
|
|
|
29
29
|
nil
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
# Simulates disconnecting a device from Seam. Only applicable for [sandbox devices](https://
|
|
32
|
+
# Simulates disconnecting a device from Seam. Only applicable for [sandbox devices](https://www.seam.co/docs/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your App Against Device Disconnection and Removal](https://www.seam.co/docs/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal).
|
|
33
33
|
# @param device_id [String] ID of the device that you want to simulate disconnecting from Seam.
|
|
34
34
|
# @return [nil] OK
|
|
35
35
|
def disconnect(device_id:)
|
|
@@ -63,7 +63,7 @@ module Seam
|
|
|
63
63
|
nil
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
# Simulates removing a device from Seam. Only applicable for [sandbox devices](https://
|
|
66
|
+
# Simulates removing a device from Seam. Only applicable for [sandbox devices](https://www.seam.co/docs/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your App Against Device Disconnection and Removal](https://www.seam.co/docs/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal).
|
|
67
67
|
# @param device_id [String] ID of the device that you want to simulate removing from Seam.
|
|
68
68
|
# @return [nil] OK
|
|
69
69
|
def remove(device_id:)
|
|
@@ -8,9 +8,9 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Returns a specified [unmanaged device](https://
|
|
11
|
+
# Returns a specified [unmanaged device](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices).
|
|
12
12
|
#
|
|
13
|
-
# 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://
|
|
13
|
+
# 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://www.seam.co/docs/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://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).
|
|
14
14
|
#
|
|
15
15
|
# You must specify either `device_id` or `name`.
|
|
16
16
|
# @param device_id [String, nil] ID of the unmanaged device that you want to get.
|
|
@@ -26,9 +26,9 @@ module Seam
|
|
|
26
26
|
Seam::Resources::UnmanagedDevice.load_from_response(res.body["device"])
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
# Returns a list of all [unmanaged devices](https://
|
|
29
|
+
# Returns a list of all [unmanaged devices](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices).
|
|
30
30
|
#
|
|
31
|
-
# 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://
|
|
31
|
+
# 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://www.seam.co/docs/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://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).
|
|
32
32
|
# @param connect_webview_id [String, nil] ID of the Connect Webview for which you want to list devices.
|
|
33
33
|
# @param connected_account_id [String, nil] ID of the connected account for which you want to list devices.
|
|
34
34
|
# @param connected_account_ids [Array<String>, nil] Array of IDs of the connected accounts for which you want to list devices.
|
|
@@ -48,9 +48,9 @@ module Seam
|
|
|
48
48
|
Seam::Resources::UnmanagedDevice.load_from_response(res.body["devices"])
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
-
# Updates a specified [unmanaged device](https://
|
|
51
|
+
# Updates a specified [unmanaged device](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices). To convert an unmanaged device to managed, set `is_managed` to `true`.
|
|
52
52
|
#
|
|
53
|
-
# 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://
|
|
53
|
+
# 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://www.seam.co/docs/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://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).
|
|
54
54
|
# @param device_id [String] ID of the unmanaged device that you want to update.
|
|
55
55
|
# @param custom_metadata [Hash{String => String, Boolean}, nil] Custom metadata that you want to associate with the device. Supports up to 50 JSON key:value pairs, with key names up to 40 characters long that cannot contain a period (.). Set a key to `null` or to an empty string to remove that key from the custom metadata.
|
|
56
56
|
# @param is_managed [TrueClass, nil] Indicates whether the device is managed. Set this parameter to `true` to convert an unmanaged device to managed.
|
data/lib/seam/routes/events.rb
CHANGED
|
@@ -8,7 +8,7 @@ module Seam
|
|
|
8
8
|
@defaults = defaults
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# Returns a specified event. This endpoint returns the same event that would be sent to a [webhook](https://
|
|
11
|
+
# Returns a specified event. This endpoint returns the same event that would be sent to a [webhook](https://www.seam.co/docs/developer-tools/webhooks), but it enables you to retrieve an event that already took place.
|
|
12
12
|
# @param event_id [String, nil] Unique identifier for the event that you want to get.
|
|
13
13
|
# @param device_id [String, nil] Unique identifier for the device that triggered the event that you want to get.
|
|
14
14
|
# @param event_type [String, nil] Type of the event that you want to get.
|
|
@@ -23,7 +23,7 @@ module Seam
|
|
|
23
23
|
Seam::Resources::SeamEvent.load_from_response(res.body["event"])
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
# Returns a list of all events. This endpoint returns the same events that would be sent to a [webhook](https://
|
|
26
|
+
# Returns a list of all events. This endpoint returns the same events that would be sent to a [webhook](https://www.seam.co/docs/developer-tools/webhooks), but it enables you to filter or see events that already took place.
|
|
27
27
|
# @param access_code_id [String, nil] ID of the access code for which you want to list events.
|
|
28
28
|
# @param access_code_ids [Array<String>, nil] IDs of the access codes for which you want to list events.
|
|
29
29
|
# @param access_grant_id [String, nil] ID of the access grant for which you want to list events.
|