seam 2.146.0 → 2.148.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 +77 -0
- data/lib/seam/resources/access_grant.rb +1 -1
- data/lib/seam/resources/device.rb +17 -3
- data/lib/seam/resources/event.rb +13 -1
- data/lib/seam/resources/unmanaged_access_code.rb +77 -0
- data/lib/seam/resources/unmanaged_device.rb +20 -0
- data/lib/seam/resources/workspace.rb +2 -1
- data/lib/seam/routes/access_codes.rb +1 -1
- data/lib/seam/routes/access_grants.rb +4 -4
- data/lib/seam/routes/access_methods.rb +4 -4
- data/lib/seam/routes/acs_encoders_simulate.rb +6 -6
- data/lib/seam/routes/acs_users.rb +2 -2
- data/lib/seam/routes/client_sessions.rb +2 -2
- data/lib/seam/routes/connect_webviews.rb +1 -1
- data/lib/seam/routes/connected_accounts.rb +1 -1
- data/lib/seam/routes/customers.rb +3 -3
- data/lib/seam/routes/devices.rb +1 -1
- data/lib/seam/routes/noise_sensors_noise_thresholds.rb +1 -1
- data/lib/seam/routes/user_identities.rb +4 -4
- data/lib/seam/routes/workspaces.rb +2 -2
- data/lib/seam/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '06196d87a7db7cb6f396e2ce2f94f02d9dfb2c2eecff52fa314df6d95856ff57'
|
|
4
|
+
data.tar.gz: f7be00a016e5c13fc8e937595b80302453ae8625d27df6a0541d1eacf5b3504e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 68f7a956b71ae32046af99e15b612d1fa1ac4a689539dadf795776bdd873ea5bd4ed7ace6105f17678c760184567a02bd5b6d472d0c536ab19eba4fa3e45f655
|
|
7
|
+
data.tar.gz: 66906c6e6172416dc861bb7dc71b6e51a49baba23331b4ddc5d0ef1fa6f677fa13841bd913a6c2537cfbc00eaf74e9700f14cef44907efbff213960836ac5b75
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
seam (2.
|
|
4
|
+
seam (2.148.0)
|
|
5
5
|
faraday (~> 2.7)
|
|
6
6
|
faraday-retry (~> 2.2)
|
|
7
7
|
svix (~> 1.30)
|
|
@@ -171,7 +171,7 @@ CHECKSUMS
|
|
|
171
171
|
rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
|
|
172
172
|
rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
|
|
173
173
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
174
|
-
seam (2.
|
|
174
|
+
seam (2.148.0)
|
|
175
175
|
simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
|
|
176
176
|
simplecov-console (0.9.5) sha256=b1108bcfff5f210143e2b8301698c367b01586f20d25a73e95475a5df6fc6ff6
|
|
177
177
|
standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
|
|
@@ -212,6 +212,60 @@ module Seam
|
|
|
212
212
|
date_accessor :created_at
|
|
213
213
|
end
|
|
214
214
|
|
|
215
|
+
# Seam was unable to issue this access code before its start time, so the recipient may be unable to unlock the device. This usually points to a problem that needs attention, such as an offline or disconnected device. Seam keeps retrying, and this error clears automatically if the access code is eventually issued.
|
|
216
|
+
class FailedToIssue < Errors
|
|
217
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
218
|
+
# @return [String]
|
|
219
|
+
# Known values:
|
|
220
|
+
# - `failed_to_issue`
|
|
221
|
+
attr_accessor :error_code
|
|
222
|
+
# Indicates that this is an access code error.
|
|
223
|
+
# @return [TrueClass]
|
|
224
|
+
attr_accessor :is_access_code_error
|
|
225
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
226
|
+
# @return [String]
|
|
227
|
+
attr_accessor :message
|
|
228
|
+
# Date and time at which Seam created the error.
|
|
229
|
+
# @return [Time, nil]
|
|
230
|
+
date_accessor :created_at
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# Seam was unable to apply this access code's requested update to the device, so the code on the device does not match its requested state. Seam keeps retrying, and this error clears automatically once the update is applied.
|
|
234
|
+
class FailedToUpdate < Errors
|
|
235
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
236
|
+
# @return [String]
|
|
237
|
+
# Known values:
|
|
238
|
+
# - `failed_to_update`
|
|
239
|
+
attr_accessor :error_code
|
|
240
|
+
# Indicates that this is an access code error.
|
|
241
|
+
# @return [TrueClass]
|
|
242
|
+
attr_accessor :is_access_code_error
|
|
243
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
244
|
+
# @return [String]
|
|
245
|
+
attr_accessor :message
|
|
246
|
+
# Date and time at which Seam created the error.
|
|
247
|
+
# @return [Time, nil]
|
|
248
|
+
date_accessor :created_at
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
# This access code is still active on the device even though its `ends_at` has passed, so the recipient may still be able to unlock the device after their access window ended. Seam is attempting to remove it, and this error clears automatically once the access code is no longer active.
|
|
252
|
+
class FailedToExpire < Errors
|
|
253
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
254
|
+
# @return [String]
|
|
255
|
+
# Known values:
|
|
256
|
+
# - `failed_to_expire`
|
|
257
|
+
attr_accessor :error_code
|
|
258
|
+
# Indicates that this is an access code error.
|
|
259
|
+
# @return [TrueClass]
|
|
260
|
+
attr_accessor :is_access_code_error
|
|
261
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
262
|
+
# @return [String]
|
|
263
|
+
attr_accessor :message
|
|
264
|
+
# Date and time at which Seam created the error.
|
|
265
|
+
# @return [Time, nil]
|
|
266
|
+
date_accessor :created_at
|
|
267
|
+
end
|
|
268
|
+
|
|
215
269
|
# Indicates that the account is disconnected.
|
|
216
270
|
class AccountDisconnected < Errors
|
|
217
271
|
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
@@ -490,6 +544,9 @@ module Seam
|
|
|
490
544
|
# - `conflicting_external_modification`
|
|
491
545
|
# - `access_code_inactive`
|
|
492
546
|
# - `code_constraints_violated`
|
|
547
|
+
# - `failed_to_issue`
|
|
548
|
+
# - `failed_to_update`
|
|
549
|
+
# - `failed_to_expire`
|
|
493
550
|
# - `account_disconnected`
|
|
494
551
|
# - `salto_ks_subscription_limit_exceeded`
|
|
495
552
|
# - `insufficient_permissions`
|
|
@@ -521,6 +578,9 @@ module Seam
|
|
|
521
578
|
"conflicting_external_modification" => ConflictingExternalModification,
|
|
522
579
|
"access_code_inactive" => AccessCodeInactive,
|
|
523
580
|
"code_constraints_violated" => CodeConstraintsViolated,
|
|
581
|
+
"failed_to_issue" => FailedToIssue,
|
|
582
|
+
"failed_to_update" => FailedToUpdate,
|
|
583
|
+
"failed_to_expire" => FailedToExpire,
|
|
524
584
|
"account_disconnected" => AccountDisconnected,
|
|
525
585
|
"salto_ks_subscription_limit_exceeded" => SaltoKsSubscriptionLimitExceeded,
|
|
526
586
|
"insufficient_permissions" => InsufficientPermissions,
|
|
@@ -686,6 +746,21 @@ module Seam
|
|
|
686
746
|
date_accessor :created_at
|
|
687
747
|
end
|
|
688
748
|
|
|
749
|
+
# Seam has not yet issued this access code, even though its start time is approaching, so access may not be ready when the recipient arrives. Seam is still attempting to issue it, and this warning clears automatically once issuance succeeds.
|
|
750
|
+
class DelayInIssuing < Warnings
|
|
751
|
+
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
752
|
+
# @return [String]
|
|
753
|
+
attr_accessor :message
|
|
754
|
+
# Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
|
|
755
|
+
# @return [String]
|
|
756
|
+
# Known values:
|
|
757
|
+
# - `delay_in_issuing`
|
|
758
|
+
attr_accessor :warning_code
|
|
759
|
+
# Date and time at which Seam created the warning.
|
|
760
|
+
# @return [Time, nil]
|
|
761
|
+
date_accessor :created_at
|
|
762
|
+
end
|
|
763
|
+
|
|
689
764
|
# Third-party integration detected that may cause access codes to fail.
|
|
690
765
|
class ThirdPartyIntegrationDetected < Warnings
|
|
691
766
|
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
@@ -787,6 +862,7 @@ module Seam
|
|
|
787
862
|
# - `external_modification_in_effect`
|
|
788
863
|
# - `delay_in_setting_on_device`
|
|
789
864
|
# - `delay_in_removing_from_device`
|
|
865
|
+
# - `delay_in_issuing`
|
|
790
866
|
# - `third_party_integration_detected`
|
|
791
867
|
# - `igloo_algopin_must_be_used_within_24_hours`
|
|
792
868
|
# - `management_transferred`
|
|
@@ -804,6 +880,7 @@ module Seam
|
|
|
804
880
|
"external_modification_in_effect" => ExternalModificationInEffect,
|
|
805
881
|
"delay_in_setting_on_device" => DelayInSettingOnDevice,
|
|
806
882
|
"delay_in_removing_from_device" => DelayInRemovingFromDevice,
|
|
883
|
+
"delay_in_issuing" => DelayInIssuing,
|
|
807
884
|
"third_party_integration_detected" => ThirdPartyIntegrationDetected,
|
|
808
885
|
"igloo_algopin_must_be_used_within_24_hours" => IglooAlgopinMustBeUsedWithinN24Hours,
|
|
809
886
|
"management_transferred" => ManagementTransferred,
|
|
@@ -320,7 +320,7 @@ module Seam
|
|
|
320
320
|
# Display name of the Access Grant.
|
|
321
321
|
# @return [String]
|
|
322
322
|
attr_accessor :display_name
|
|
323
|
-
# Human-readable sentence answering whether the user can currently get in, for example `
|
|
323
|
+
# Human-readable sentence answering whether the user can currently get in, for example `Active`, `Awaiting issuance`, or `Upcoming`. For display only. The wording is not stable and is not an enumeration — it may change at any time, so never compare against or branch on it. To make decisions, read `starts_at`, `ends_at`, `errors`, and the access methods' own fields.
|
|
324
324
|
# @return [String]
|
|
325
325
|
attr_accessor :display_status
|
|
326
326
|
# Instant Key URL. Only returned if the Access Grant has a single mobile_key access_method.
|
|
@@ -1083,9 +1083,6 @@ module Seam
|
|
|
1083
1083
|
# Set to true when the device does not support the /dual-setpoints API endpoint.
|
|
1084
1084
|
# @return [Boolean, nil]
|
|
1085
1085
|
attr_accessor :dual_setpoints_not_supported
|
|
1086
|
-
# Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.
|
|
1087
|
-
# @return [Array<Float>]
|
|
1088
|
-
attr_accessor :enforced_setpoint_range_celsius
|
|
1089
1086
|
# Product type for a Sensi device.
|
|
1090
1087
|
# @return [String, nil]
|
|
1091
1088
|
attr_accessor :product_type
|
|
@@ -2458,6 +2455,21 @@ module Seam
|
|
|
2458
2455
|
date_accessor :created_at
|
|
2459
2456
|
end
|
|
2460
2457
|
|
|
2458
|
+
# Indicates that the accessory keypad paired with this lock has a low or critically low battery. Replace its batteries so guests can keep entering their access codes.
|
|
2459
|
+
class AccessoryKeypadLowBattery < Warnings
|
|
2460
|
+
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
2461
|
+
# @return [String]
|
|
2462
|
+
attr_accessor :message
|
|
2463
|
+
# Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
|
|
2464
|
+
# @return [String]
|
|
2465
|
+
# Known values:
|
|
2466
|
+
# - `accessory_keypad_low_battery`
|
|
2467
|
+
attr_accessor :warning_code
|
|
2468
|
+
# Date and time at which Seam created the warning.
|
|
2469
|
+
# @return [Time]
|
|
2470
|
+
date_accessor :created_at
|
|
2471
|
+
end
|
|
2472
|
+
|
|
2461
2473
|
# Indicates that the device may optimistically be reported as online because the provider does not reliably report its online status.
|
|
2462
2474
|
class UnreliableOnlineStatus < Warnings
|
|
2463
2475
|
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
@@ -2525,6 +2537,7 @@ module Seam
|
|
|
2525
2537
|
# - `provider_issue`
|
|
2526
2538
|
# - `keynest_unsupported_locker`
|
|
2527
2539
|
# - `accessory_keypad_setup_required`
|
|
2540
|
+
# - `accessory_keypad_low_battery`
|
|
2528
2541
|
# - `unreliable_online_status`
|
|
2529
2542
|
# - `max_access_codes_reached`
|
|
2530
2543
|
attr_accessor :warning_code
|
|
@@ -2558,6 +2571,7 @@ module Seam
|
|
|
2558
2571
|
"provider_issue" => ProviderIssue,
|
|
2559
2572
|
"keynest_unsupported_locker" => KeynestUnsupportedLocker,
|
|
2560
2573
|
"accessory_keypad_setup_required" => AccessoryKeypadSetupRequired,
|
|
2574
|
+
"accessory_keypad_low_battery" => AccessoryKeypadLowBattery,
|
|
2561
2575
|
"unreliable_online_status" => UnreliableOnlineStatus,
|
|
2562
2576
|
"max_access_codes_reached" => MaxAccessCodesReached
|
|
2563
2577
|
}.freeze
|
data/lib/seam/resources/event.rb
CHANGED
|
@@ -3481,8 +3481,12 @@ module Seam
|
|
|
3481
3481
|
|
|
3482
3482
|
# A device battery level dropped below the low threshold.
|
|
3483
3483
|
class DeviceLowBattery < SeamEvent
|
|
3484
|
-
# Number in the range 0 to 1.0 indicating the
|
|
3484
|
+
# Number in the range 0 to 1.0 indicating the battery level of the affected device's paired accessory keypad, when the device has one and its level is known.
|
|
3485
|
+
# @return [Float, nil]
|
|
3486
|
+
attr_accessor :accessory_keypad_battery_level
|
|
3487
|
+
# Number in the range 0 to 1.0 indicating the level of the battery whose drop triggered this event.
|
|
3485
3488
|
# @return [Float]
|
|
3489
|
+
# @deprecated Use device_battery_level and accessory_keypad_battery_level, which distinguish the device's own battery from a paired accessory keypad's battery.
|
|
3486
3490
|
attr_accessor :battery_level
|
|
3487
3491
|
# Custom metadata of the connected account, present when connected_account_id is provided.
|
|
3488
3492
|
# @return [Hash{String => String, Boolean}, nil]
|
|
@@ -3493,6 +3497,9 @@ module Seam
|
|
|
3493
3497
|
# The customer key associated with the device, if any.
|
|
3494
3498
|
# @return [String, nil]
|
|
3495
3499
|
attr_accessor :customer_key
|
|
3500
|
+
# Number in the range 0 to 1.0 indicating the affected device's own battery level, when known.
|
|
3501
|
+
# @return [Float, nil]
|
|
3502
|
+
attr_accessor :device_battery_level
|
|
3496
3503
|
# Custom metadata of the device, present when device_id is provided.
|
|
3497
3504
|
# @return [Hash{String => String, Boolean}, nil]
|
|
3498
3505
|
attr_accessor :device_custom_metadata
|
|
@@ -5079,6 +5086,11 @@ module Seam
|
|
|
5079
5086
|
# - `access_code.removed_from_device`
|
|
5080
5087
|
# - `access_code.delay_in_setting_on_device`
|
|
5081
5088
|
# - `access_code.failed_to_set_on_device`
|
|
5089
|
+
# - `access_code.issued`
|
|
5090
|
+
# - `access_code.delay_in_issuing`
|
|
5091
|
+
# - `access_code.failed_to_issue`
|
|
5092
|
+
# - `access_code.failed_to_update`
|
|
5093
|
+
# - `access_code.failed_to_expire`
|
|
5082
5094
|
# - `access_code.deleted`
|
|
5083
5095
|
# - `access_code.delay_in_removing_from_device`
|
|
5084
5096
|
# - `access_code.failed_to_remove_from_device`
|
|
@@ -214,6 +214,60 @@ module Seam
|
|
|
214
214
|
date_accessor :created_at
|
|
215
215
|
end
|
|
216
216
|
|
|
217
|
+
# Seam was unable to issue this access code before its start time, so the recipient may be unable to unlock the device. This usually points to a problem that needs attention, such as an offline or disconnected device. Seam keeps retrying, and this error clears automatically if the access code is eventually issued.
|
|
218
|
+
class FailedToIssue < Errors
|
|
219
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
220
|
+
# @return [String]
|
|
221
|
+
# Known values:
|
|
222
|
+
# - `failed_to_issue`
|
|
223
|
+
attr_accessor :error_code
|
|
224
|
+
# Indicates that this is an access code error.
|
|
225
|
+
# @return [TrueClass]
|
|
226
|
+
attr_accessor :is_access_code_error
|
|
227
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
228
|
+
# @return [String]
|
|
229
|
+
attr_accessor :message
|
|
230
|
+
# Date and time at which Seam created the error.
|
|
231
|
+
# @return [Time, nil]
|
|
232
|
+
date_accessor :created_at
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
# Seam was unable to apply this access code's requested update to the device, so the code on the device does not match its requested state. Seam keeps retrying, and this error clears automatically once the update is applied.
|
|
236
|
+
class FailedToUpdate < Errors
|
|
237
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
238
|
+
# @return [String]
|
|
239
|
+
# Known values:
|
|
240
|
+
# - `failed_to_update`
|
|
241
|
+
attr_accessor :error_code
|
|
242
|
+
# Indicates that this is an access code error.
|
|
243
|
+
# @return [TrueClass]
|
|
244
|
+
attr_accessor :is_access_code_error
|
|
245
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
246
|
+
# @return [String]
|
|
247
|
+
attr_accessor :message
|
|
248
|
+
# Date and time at which Seam created the error.
|
|
249
|
+
# @return [Time, nil]
|
|
250
|
+
date_accessor :created_at
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# This access code is still active on the device even though its `ends_at` has passed, so the recipient may still be able to unlock the device after their access window ended. Seam is attempting to remove it, and this error clears automatically once the access code is no longer active.
|
|
254
|
+
class FailedToExpire < Errors
|
|
255
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
256
|
+
# @return [String]
|
|
257
|
+
# Known values:
|
|
258
|
+
# - `failed_to_expire`
|
|
259
|
+
attr_accessor :error_code
|
|
260
|
+
# Indicates that this is an access code error.
|
|
261
|
+
# @return [TrueClass]
|
|
262
|
+
attr_accessor :is_access_code_error
|
|
263
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
264
|
+
# @return [String]
|
|
265
|
+
attr_accessor :message
|
|
266
|
+
# Date and time at which Seam created the error.
|
|
267
|
+
# @return [Time, nil]
|
|
268
|
+
date_accessor :created_at
|
|
269
|
+
end
|
|
270
|
+
|
|
217
271
|
# Indicates that the account is disconnected.
|
|
218
272
|
class AccountDisconnected < Errors
|
|
219
273
|
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
@@ -492,6 +546,9 @@ module Seam
|
|
|
492
546
|
# - `conflicting_external_modification`
|
|
493
547
|
# - `access_code_inactive`
|
|
494
548
|
# - `code_constraints_violated`
|
|
549
|
+
# - `failed_to_issue`
|
|
550
|
+
# - `failed_to_update`
|
|
551
|
+
# - `failed_to_expire`
|
|
495
552
|
# - `account_disconnected`
|
|
496
553
|
# - `salto_ks_subscription_limit_exceeded`
|
|
497
554
|
# - `insufficient_permissions`
|
|
@@ -523,6 +580,9 @@ module Seam
|
|
|
523
580
|
"conflicting_external_modification" => ConflictingExternalModification,
|
|
524
581
|
"access_code_inactive" => AccessCodeInactive,
|
|
525
582
|
"code_constraints_violated" => CodeConstraintsViolated,
|
|
583
|
+
"failed_to_issue" => FailedToIssue,
|
|
584
|
+
"failed_to_update" => FailedToUpdate,
|
|
585
|
+
"failed_to_expire" => FailedToExpire,
|
|
526
586
|
"account_disconnected" => AccountDisconnected,
|
|
527
587
|
"salto_ks_subscription_limit_exceeded" => SaltoKsSubscriptionLimitExceeded,
|
|
528
588
|
"insufficient_permissions" => InsufficientPermissions,
|
|
@@ -638,6 +698,21 @@ module Seam
|
|
|
638
698
|
date_accessor :created_at
|
|
639
699
|
end
|
|
640
700
|
|
|
701
|
+
# Seam has not yet issued this access code, even though its start time is approaching, so access may not be ready when the recipient arrives. Seam is still attempting to issue it, and this warning clears automatically once issuance succeeds.
|
|
702
|
+
class DelayInIssuing < Warnings
|
|
703
|
+
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
704
|
+
# @return [String]
|
|
705
|
+
attr_accessor :message
|
|
706
|
+
# Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
|
|
707
|
+
# @return [String]
|
|
708
|
+
# Known values:
|
|
709
|
+
# - `delay_in_issuing`
|
|
710
|
+
attr_accessor :warning_code
|
|
711
|
+
# Date and time at which Seam created the warning.
|
|
712
|
+
# @return [Time, nil]
|
|
713
|
+
date_accessor :created_at
|
|
714
|
+
end
|
|
715
|
+
|
|
641
716
|
# Third-party integration detected that may cause access codes to fail.
|
|
642
717
|
class ThirdPartyIntegrationDetected < Warnings
|
|
643
718
|
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
@@ -739,6 +814,7 @@ module Seam
|
|
|
739
814
|
# - `external_modification_in_effect`
|
|
740
815
|
# - `delay_in_setting_on_device`
|
|
741
816
|
# - `delay_in_removing_from_device`
|
|
817
|
+
# - `delay_in_issuing`
|
|
742
818
|
# - `third_party_integration_detected`
|
|
743
819
|
# - `igloo_algopin_must_be_used_within_24_hours`
|
|
744
820
|
# - `management_transferred`
|
|
@@ -756,6 +832,7 @@ module Seam
|
|
|
756
832
|
"external_modification_in_effect" => ExternalModificationInEffect,
|
|
757
833
|
"delay_in_setting_on_device" => DelayInSettingOnDevice,
|
|
758
834
|
"delay_in_removing_from_device" => DelayInRemovingFromDevice,
|
|
835
|
+
"delay_in_issuing" => DelayInIssuing,
|
|
759
836
|
"third_party_integration_detected" => ThirdPartyIntegrationDetected,
|
|
760
837
|
"igloo_algopin_must_be_used_within_24_hours" => IglooAlgopinMustBeUsedWithinN24Hours,
|
|
761
838
|
"management_transferred" => ManagementTransferred,
|
|
@@ -800,6 +800,21 @@ module Seam
|
|
|
800
800
|
date_accessor :created_at
|
|
801
801
|
end
|
|
802
802
|
|
|
803
|
+
# Indicates that the accessory keypad paired with this lock has a low or critically low battery. Replace its batteries so guests can keep entering their access codes.
|
|
804
|
+
class AccessoryKeypadLowBattery < Warnings
|
|
805
|
+
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
806
|
+
# @return [String]
|
|
807
|
+
attr_accessor :message
|
|
808
|
+
# Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
|
|
809
|
+
# @return [String]
|
|
810
|
+
# Known values:
|
|
811
|
+
# - `accessory_keypad_low_battery`
|
|
812
|
+
attr_accessor :warning_code
|
|
813
|
+
# Date and time at which Seam created the warning.
|
|
814
|
+
# @return [Time]
|
|
815
|
+
date_accessor :created_at
|
|
816
|
+
end
|
|
817
|
+
|
|
803
818
|
# Indicates that the device may optimistically be reported as online because the provider does not reliably report its online status.
|
|
804
819
|
class UnreliableOnlineStatus < Warnings
|
|
805
820
|
# Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
|
|
@@ -867,6 +882,7 @@ module Seam
|
|
|
867
882
|
# - `provider_issue`
|
|
868
883
|
# - `keynest_unsupported_locker`
|
|
869
884
|
# - `accessory_keypad_setup_required`
|
|
885
|
+
# - `accessory_keypad_low_battery`
|
|
870
886
|
# - `unreliable_online_status`
|
|
871
887
|
# - `max_access_codes_reached`
|
|
872
888
|
attr_accessor :warning_code
|
|
@@ -900,6 +916,7 @@ module Seam
|
|
|
900
916
|
"provider_issue" => ProviderIssue,
|
|
901
917
|
"keynest_unsupported_locker" => KeynestUnsupportedLocker,
|
|
902
918
|
"accessory_keypad_setup_required" => AccessoryKeypadSetupRequired,
|
|
919
|
+
"accessory_keypad_low_battery" => AccessoryKeypadLowBattery,
|
|
903
920
|
"unreliable_online_status" => UnreliableOnlineStatus,
|
|
904
921
|
"max_access_codes_reached" => MaxAccessCodesReached
|
|
905
922
|
}.freeze
|
|
@@ -1043,6 +1060,9 @@ module Seam
|
|
|
1043
1060
|
# - `android_phone`
|
|
1044
1061
|
# - `ring_camera`
|
|
1045
1062
|
attr_accessor :device_type
|
|
1063
|
+
# Display name of the device, defaults to nickname (if it is set) or `properties.appearance.name`, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.
|
|
1064
|
+
# @return [String]
|
|
1065
|
+
attr_accessor :display_name
|
|
1046
1066
|
# Indicates that Seam does not manage the device.
|
|
1047
1067
|
# @return [FalseClass]
|
|
1048
1068
|
attr_accessor :is_managed
|
|
@@ -29,9 +29,10 @@ module Seam
|
|
|
29
29
|
resource_accessor :connect_webview_customization, ConnectWebviewCustomization
|
|
30
30
|
# Company name associated with the [workspace](https://docs.seam.co/core-concepts/workspaces).
|
|
31
31
|
# @return [String]
|
|
32
|
+
# @deprecated Use `connect_partner_name` instead.
|
|
32
33
|
attr_accessor :company_name
|
|
34
|
+
# Seam Connect partner name associated with the [workspace](https://docs.seam.co/core-concepts/workspaces).
|
|
33
35
|
# @return [String, nil]
|
|
34
|
-
# @deprecated Use `company_name` instead.
|
|
35
36
|
attr_accessor :connect_partner_name
|
|
36
37
|
# Indicates whether publishable key authentication is enabled for this workspace.
|
|
37
38
|
# @return [Boolean]
|
|
@@ -196,7 +196,7 @@ module Seam
|
|
|
196
196
|
# @param type [String, nil] Type to which you want to convert the access code. To convert a time-bound access code to an ongoing access code, set `type` to `ongoing`. See also [Changing a time-bound access code to permanent access](https://docs.seam.co/low-level-apis/smart-locks/access-codes/modifying-access-codes#special-case-2-changing-a-time-bound-access-code-to-permanent-access).
|
|
197
197
|
# @return [nil] OK
|
|
198
198
|
def update(access_code_id:, allow_external_modification: nil, attempt_for_offline_device: nil, code: nil, device_id: nil, ends_at: nil, is_external_modification_allowed: nil, is_managed: nil, name: nil, starts_at: nil, type: nil)
|
|
199
|
-
@client.
|
|
199
|
+
@client.patch("/access_codes/update", {access_code_id: access_code_id, allow_external_modification: allow_external_modification, attempt_for_offline_device: attempt_for_offline_device, code: code, device_id: device_id, ends_at: ends_at, is_external_modification_allowed: is_external_modification_allowed, is_managed: is_managed, name: name, starts_at: starts_at, type: type}.compact)
|
|
200
200
|
|
|
201
201
|
nil
|
|
202
202
|
end
|
|
@@ -14,8 +14,6 @@ module Seam
|
|
|
14
14
|
|
|
15
15
|
# Creates a new [Access Grant](https://docs.seam.co/use-cases/granting-access/access-grants). Access Grants are the default and recommended way to grant a user access to any physical space, irrespective of the locking hardware. They work with both standalone smart locks (using `device_ids`) and access control systems (using `acs_entrance_ids` or `space_ids`), and can issue PIN codes, key cards, and mobile keys through a single request.
|
|
16
16
|
# @param requested_access_methods [Array<Hash>]
|
|
17
|
-
# @param user_identity_id [String, nil] ID of user identity for whom access is being granted.
|
|
18
|
-
# @param user_identity [Hash, nil] When used, creates a new user identity with the given details, and grants them access.
|
|
19
17
|
# @param access_grant_key [String, nil] Unique key for the access grant within the workspace.
|
|
20
18
|
# @param acs_entrance_ids [Array<String>, nil] Set of IDs of the [entrances](https://docs.seam.co/api/acs/systems/list) to which access is being granted.
|
|
21
19
|
# @param customization_profile_id [String, nil] ID of the customization profile to apply to the Access Grant and its access methods.
|
|
@@ -30,9 +28,11 @@ module Seam
|
|
|
30
28
|
# @param space_ids [Array<String>, nil] Set of IDs of existing spaces to which access is being granted.
|
|
31
29
|
# @param space_keys [Array<String>, nil] Set of keys of existing spaces to which access is being granted.
|
|
32
30
|
# @param starts_at [String, nil] Date and time at which the validity of the new grant starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
|
|
31
|
+
# @param user_identity [Hash, nil] When used, creates a new user identity with the given details, and grants them access.
|
|
32
|
+
# @param user_identity_id [String, nil] ID of user identity for whom access is being granted.
|
|
33
33
|
# @return [Seam::Resources::AccessGrant] OK
|
|
34
|
-
def create(requested_access_methods:,
|
|
35
|
-
res = @client.post("/access_grants/create", {requested_access_methods: requested_access_methods,
|
|
34
|
+
def create(requested_access_methods:, access_grant_key: nil, acs_entrance_ids: nil, customization_profile_id: nil, device_ids: nil, ends_at: nil, location: nil, location_ids: nil, name: nil, reservation_key: nil, space_ids: nil, space_keys: nil, starts_at: nil, user_identity: nil, user_identity_id: nil)
|
|
35
|
+
res = @client.post("/access_grants/create", {requested_access_methods: requested_access_methods, access_grant_key: access_grant_key, acs_entrance_ids: acs_entrance_ids, customization_profile_id: customization_profile_id, device_ids: device_ids, ends_at: ends_at, location: location, location_ids: location_ids, name: name, reservation_key: reservation_key, space_ids: space_ids, space_keys: space_keys, starts_at: starts_at, user_identity: user_identity, user_identity_id: user_identity_id}.compact)
|
|
36
36
|
|
|
37
37
|
Seam::Resources::AccessGrant.load_from_response(res.body["access_grant"])
|
|
38
38
|
end
|
|
@@ -27,16 +27,16 @@ module Seam
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
# Deletes an access method.
|
|
30
|
-
# @param access_method_id [String, nil] ID of access method to delete.
|
|
31
30
|
# @param access_grant_id [String, nil] ID of access grant whose access methods should be deleted.
|
|
31
|
+
# @param access_method_id [String, nil] ID of access method to delete.
|
|
32
32
|
# @param reservation_key [String, nil] Reservation key of the access grant whose access methods should be deleted.
|
|
33
33
|
# @return [nil] OK
|
|
34
|
-
def delete(
|
|
35
|
-
if
|
|
34
|
+
def delete(access_grant_id: nil, access_method_id: nil, reservation_key: nil)
|
|
35
|
+
if access_grant_id.nil? && access_method_id.nil? && reservation_key.nil?
|
|
36
36
|
raise TypeError, "At least one parameter is required for /access_methods/delete"
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
@client.delete("/access_methods/delete", {
|
|
39
|
+
@client.delete("/access_methods/delete", {access_grant_id: access_grant_id, access_method_id: access_method_id, reservation_key: reservation_key}.compact)
|
|
40
40
|
|
|
41
41
|
nil
|
|
42
42
|
end
|
|
@@ -10,11 +10,11 @@ module Seam
|
|
|
10
10
|
|
|
11
11
|
# Simulates that the next attempt to encode a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) will fail. You can only perform this action within a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces).
|
|
12
12
|
# @param acs_encoder_id [String] ID of the `acs_encoder` that will be used in the next request to encode the `acs_credential`.
|
|
13
|
-
# @param error_code [String, nil] Code of the error to simulate.
|
|
14
13
|
# @param acs_credential_id [String, nil] ID of the `acs_credential` that will fail to be encoded onto a card in the next request.
|
|
14
|
+
# @param error_code [String, nil] Code of the error to simulate.
|
|
15
15
|
# @return [nil] OK
|
|
16
|
-
def next_credential_encode_will_fail(acs_encoder_id:,
|
|
17
|
-
@client.post("/acs/encoders/simulate/next_credential_encode_will_fail", {acs_encoder_id: acs_encoder_id,
|
|
16
|
+
def next_credential_encode_will_fail(acs_encoder_id:, acs_credential_id: nil, error_code: nil)
|
|
17
|
+
@client.post("/acs/encoders/simulate/next_credential_encode_will_fail", {acs_encoder_id: acs_encoder_id, acs_credential_id: acs_credential_id, error_code: error_code}.compact)
|
|
18
18
|
|
|
19
19
|
nil
|
|
20
20
|
end
|
|
@@ -31,11 +31,11 @@ module Seam
|
|
|
31
31
|
|
|
32
32
|
# Simulates that the next attempt to scan a [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners) will fail. You can only perform this action within a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces).
|
|
33
33
|
# @param acs_encoder_id [String] ID of the `acs_encoder` that will fail to scan the `acs_credential` in the next request.
|
|
34
|
-
# @param error_code [String, nil]
|
|
35
34
|
# @param acs_credential_id_on_seam [String, nil]
|
|
35
|
+
# @param error_code [String, nil]
|
|
36
36
|
# @return [nil] OK
|
|
37
|
-
def next_credential_scan_will_fail(acs_encoder_id:,
|
|
38
|
-
@client.post("/acs/encoders/simulate/next_credential_scan_will_fail", {acs_encoder_id: acs_encoder_id,
|
|
37
|
+
def next_credential_scan_will_fail(acs_encoder_id:, acs_credential_id_on_seam: nil, error_code: nil)
|
|
38
|
+
@client.post("/acs/encoders/simulate/next_credential_scan_will_fail", {acs_encoder_id: acs_encoder_id, acs_credential_id_on_seam: acs_credential_id_on_seam, error_code: error_code}.compact)
|
|
39
39
|
|
|
40
40
|
nil
|
|
41
41
|
end
|
|
@@ -71,9 +71,9 @@ module Seam
|
|
|
71
71
|
# @param limit [Integer, nil] Maximum number of records to return per page.
|
|
72
72
|
# @param page_cursor [String, Seam::Null, nil] Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
|
|
73
73
|
# @param search [String, nil] String for which to search. Filters returned access system users to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address`, `acs_user_id`, `user_identity_id`, `user_identity_full_name` or `user_identity_phone_number`.
|
|
74
|
-
# @param user_identity_email_address [String, nil] Email address of the user identity for which you want to retrieve all access system users.
|
|
74
|
+
# @param user_identity_email_address [String, Seam::Null, nil] Email address of the user identity for which you want to retrieve all access system users. Specify `null` to retrieve access system users whose user identity has no email address.
|
|
75
75
|
# @param user_identity_id [String, nil] ID of the user identity for which you want to retrieve all access system users.
|
|
76
|
-
# @param user_identity_phone_number [String, nil] Phone number of the user identity for which you want to retrieve all access system users, in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, `+15555550100`).
|
|
76
|
+
# @param user_identity_phone_number [String, Seam::Null, nil] Phone number of the user identity for which you want to retrieve all access system users, in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, `+15555550100`). Specify `null` to retrieve access system users whose user identity has no phone number.
|
|
77
77
|
# @return [Seam::Resources::AcsUser] OK
|
|
78
78
|
def list(acs_system_id: nil, created_before: nil, limit: nil, page_cursor: nil, search: nil, user_identity_email_address: nil, user_identity_id: nil, user_identity_phone_number: nil)
|
|
79
79
|
res = @client.get("/acs/users/list", {acs_system_id: acs_system_id, created_before: created_before, limit: limit, page_cursor: page_cursor, search: search, user_identity_email_address: user_identity_email_address, user_identity_id: user_identity_id, user_identity_phone_number: user_identity_phone_number}.compact)
|
|
@@ -80,9 +80,9 @@ module Seam
|
|
|
80
80
|
|
|
81
81
|
# Returns a list of all [client sessions](https://docs.seam.co/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, nil] ID of the [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews) for which you want to retrieve client sessions.
|
|
83
|
+
# @param connect_webview_id [String, Seam::Null, nil] ID of the [Connect Webview](https://docs.seam.co/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, nil] ID of the [user identity](https://docs.seam.co/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.
|
|
85
|
+
# @param user_identity_id [String, Seam::Null, nil] ID of the [user identity](https://docs.seam.co/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)
|
|
@@ -55,7 +55,7 @@ module Seam
|
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
# Returns a list of all [Connect Webviews](https://docs.seam.co/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://docs.seam.co/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
|
|
58
|
+
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Custom metadata pairs by which you want to [filter Connect Webviews](https://docs.seam.co/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`.
|
|
@@ -40,7 +40,7 @@ module Seam
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
# Returns a list of all [connected accounts](https://docs.seam.co/core-concepts/connected-accounts).
|
|
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
|
|
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.
|
|
46
46
|
# @param page_cursor [String, Seam::Null, nil] Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
|
|
@@ -9,6 +9,7 @@ module Seam
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
# Creates a new customer portal magic link with configurable features.
|
|
12
|
+
# @param customer_data [Hash, nil]
|
|
12
13
|
# @param customer_resources_filters [Array<Hash>, nil] Filter configuration for resources based on their custom_metadata. Each filter specifies a field, operation, and value to match against resource custom_metadata.
|
|
13
14
|
# @param customization_profile_id [String, nil] The ID of the customization profile to use for the portal.
|
|
14
15
|
# @param deep_link [Hash, nil] Deep link target resource for initial redirect. When set, the portal will navigate directly to the specified resource.
|
|
@@ -19,10 +20,9 @@ module Seam
|
|
|
19
20
|
# @param locale [String, nil] The locale to use for the portal.
|
|
20
21
|
# @param navigation_mode [String, nil] Navigation mode for the portal. 'restricted' tells frontend to hide navigation UI, typically used for embedded deep links.
|
|
21
22
|
# @param read_only [Boolean, nil] Whether the portal is read-only. When true, the customer can browse the portal but cannot perform any mutating action; write requests made with the portal's client session are rejected.
|
|
22
|
-
# @param customer_data [Hash, nil]
|
|
23
23
|
# @return [Seam::Resources::CustomerPortal] OK
|
|
24
|
-
def create_portal(customer_resources_filters: nil, customization_profile_id: nil, deep_link: nil, exclude_locale_picker: nil, features: nil, is_embedded: nil, landing_page: nil, locale: nil, navigation_mode: nil, read_only: nil
|
|
25
|
-
res = @client.post("/customers/create_portal", {customer_resources_filters: customer_resources_filters, customization_profile_id: customization_profile_id, deep_link: deep_link, exclude_locale_picker: exclude_locale_picker, features: features, is_embedded: is_embedded, landing_page: landing_page, locale: locale, navigation_mode: navigation_mode, read_only: read_only
|
|
24
|
+
def create_portal(customer_data: nil, customer_resources_filters: nil, customization_profile_id: nil, deep_link: nil, exclude_locale_picker: nil, features: nil, is_embedded: nil, landing_page: nil, locale: nil, navigation_mode: nil, read_only: nil)
|
|
25
|
+
res = @client.post("/customers/create_portal", {customer_data: customer_data, customer_resources_filters: customer_resources_filters, customization_profile_id: customization_profile_id, deep_link: deep_link, exclude_locale_picker: exclude_locale_picker, features: features, is_embedded: is_embedded, landing_page: landing_page, locale: locale, navigation_mode: navigation_mode, read_only: read_only}.compact)
|
|
26
26
|
|
|
27
27
|
Seam::Resources::CustomerPortal.load_from_response(res.body["customer_portal"])
|
|
28
28
|
end
|
data/lib/seam/routes/devices.rb
CHANGED
|
@@ -37,7 +37,7 @@ module Seam
|
|
|
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://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device) pairs for which you want to list devices. Key names cannot contain a period (.). Specify
|
|
40
|
+
# @param custom_metadata_has [Hash{String => String, Boolean}, nil] Set of key:value [custom metadata](https://docs.seam.co/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.
|
|
@@ -60,7 +60,7 @@ module Seam
|
|
|
60
60
|
# @param starts_daily_at [String, nil] Time at which the noise threshold should become active daily.
|
|
61
61
|
# @return [nil] OK
|
|
62
62
|
def update(device_id:, noise_threshold_id:, ends_daily_at: nil, name: nil, noise_threshold_decibels: nil, noise_threshold_nrs: nil, starts_daily_at: nil)
|
|
63
|
-
@client.
|
|
63
|
+
@client.patch("/noise_sensors/noise_thresholds/update", {device_id: device_id, noise_threshold_id: noise_threshold_id, ends_daily_at: ends_daily_at, name: name, noise_threshold_decibels: noise_threshold_decibels, noise_threshold_nrs: noise_threshold_nrs, starts_daily_at: starts_daily_at}.compact)
|
|
64
64
|
|
|
65
65
|
nil
|
|
66
66
|
end
|
|
@@ -142,16 +142,16 @@ module Seam
|
|
|
142
142
|
#
|
|
143
143
|
# Identify the user identities either by ID or by key, but not both in the same request. Repeating a merge that has already been applied makes no further changes.
|
|
144
144
|
# @param merged_user_identity_ids [Array<String>, nil] IDs of the user identities to merge into the primary user identity. These user identities are deleted.
|
|
145
|
-
# @param user_identity_id [String, nil] ID of the primary user identity to keep.
|
|
146
145
|
# @param merged_user_identity_keys [Array<String>, nil] Keys of the user identities to merge into the primary user identity. These user identities are deleted.
|
|
146
|
+
# @param user_identity_id [String, nil] ID of the primary user identity to keep.
|
|
147
147
|
# @param user_identity_key [String, nil] Key of the primary user identity to keep.
|
|
148
148
|
# @return [nil] OK
|
|
149
|
-
def merge(merged_user_identity_ids: nil,
|
|
150
|
-
if merged_user_identity_ids.nil? &&
|
|
149
|
+
def merge(merged_user_identity_ids: nil, merged_user_identity_keys: nil, user_identity_id: nil, user_identity_key: nil)
|
|
150
|
+
if merged_user_identity_ids.nil? && merged_user_identity_keys.nil? && user_identity_id.nil? && user_identity_key.nil?
|
|
151
151
|
raise TypeError, "At least one parameter is required for /user_identities/merge"
|
|
152
152
|
end
|
|
153
153
|
|
|
154
|
-
@client.post("/user_identities/merge", {merged_user_identity_ids: merged_user_identity_ids,
|
|
154
|
+
@client.post("/user_identities/merge", {merged_user_identity_ids: merged_user_identity_ids, merged_user_identity_keys: merged_user_identity_keys, user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
|
|
155
155
|
|
|
156
156
|
nil
|
|
157
157
|
end
|
|
@@ -13,11 +13,11 @@ module Seam
|
|
|
13
13
|
# Creates a new [workspace](https://docs.seam.co/core-concepts/workspaces).
|
|
14
14
|
# @param name [String] Name of the new workspace.
|
|
15
15
|
# @param company_name [String, nil] Company name for the new workspace.
|
|
16
|
+
# @deprecated company_name: Use `connect_partner_name` instead.
|
|
16
17
|
# @param connect_partner_name [String, Seam::Null, nil] Connect partner name for the new workspace.
|
|
17
|
-
# @deprecated connect_partner_name: Use `company_name` instead.
|
|
18
18
|
# @param connect_webview_customization [Hash, nil] [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews) customizations for the new workspace. See also [Customize the Look and Feel of Your Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-look-and-feel-of-your-connect-webviews).
|
|
19
19
|
# @param is_sandbox [Boolean, nil] Indicates whether the new workspace is a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces).
|
|
20
|
-
# @param organization_id [String, nil] ID of the organization to associate with the new workspace.
|
|
20
|
+
# @param organization_id [String, nil] ID of the organization to associate with the new workspace. If omitted, the new workspace is associated with the organization that you administer, if you administer exactly one.
|
|
21
21
|
# @param webview_logo_shape [String, nil]
|
|
22
22
|
# @deprecated webview_logo_shape: Use `connect_webview_customization.webview_logo_shape` instead.
|
|
23
23
|
# @param webview_primary_button_color [String, nil]
|
data/lib/seam/version.rb
CHANGED