Class: Seam::Clients::Devices
- Inherits:
-
Object
- Object
- Seam::Clients::Devices
- Defined in:
- lib/seam/routes/devices.rb
Instance Method Summary collapse
-
#get(device_id: nil, name: nil) ⇒ Seam::Resources::Device
Returns a specified device.
-
#initialize(client:, defaults:) ⇒ Devices
constructor
A new instance of Devices.
-
#list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil) ⇒ Seam::Resources::Device
deprecated
Deprecated.
unstable_location_id: Use
space_id. -
#list_device_providers(provider_category: nil) ⇒ Seam::Resources::DeviceProvider
Returns a list of all device providers.
-
#report_provider_metadata(devices:) ⇒ nil
Updates provider-specific metadata for devices.
- #simulate ⇒ Object
- #unmanaged ⇒ Object
-
#update(device_id:, backup_access_code_pool_enabled: nil, custom_metadata: nil, is_managed: nil, name: nil, properties: nil) ⇒ nil
Updates a specified device.
Constructor Details
#initialize(client:, defaults:) ⇒ Devices
Returns a new instance of Devices.
6 7 8 9 |
# File 'lib/seam/routes/devices.rb', line 6 def initialize(client:, defaults:) @client = client @defaults = defaults end |
Instance Method Details
#get(device_id: nil, name: nil) ⇒ Seam::Resources::Device
Returns a specified device.
You must specify either device_id or name.
25 26 27 28 29 |
# File 'lib/seam/routes/devices.rb', line 25 def get(device_id: nil, name: nil) res = @client.post("/devices/get", {device_id: device_id, name: name}.compact) Seam::Resources::Device.load_from_response(res.body["device"]) end |
#list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil) ⇒ Seam::Resources::Device
unstable_location_id: Use space_id.
Returns a list of all devices.
50 51 52 53 54 |
# File 'lib/seam/routes/devices.rb', line 50 def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil) res = @client.post("/devices/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: , customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact) Seam::Resources::Device.load_from_response(res.body["devices"]) end |
#list_device_providers(provider_category: nil) ⇒ Seam::Resources::DeviceProvider
Returns a list of all device providers.
The information that this endpoint returns for each provider includes a set of 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.
When you create a Connect Webview, 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.
63 64 65 66 67 |
# File 'lib/seam/routes/devices.rb', line 63 def list_device_providers(provider_category: nil) res = @client.post("/devices/list_device_providers", {provider_category: provider_category}.compact) Seam::Resources::DeviceProvider.load_from_response(res.body["device_providers"]) end |
#report_provider_metadata(devices:) ⇒ nil
Updates provider-specific metadata for devices.
72 73 74 75 76 |
# File 'lib/seam/routes/devices.rb', line 72 def (devices:) @client.post("/devices/report_provider_metadata", {devices: devices}.compact) nil end |
#simulate ⇒ Object
11 12 13 |
# File 'lib/seam/routes/devices.rb', line 11 def simulate @simulate ||= Seam::Clients::DevicesSimulate.new(client: @client, defaults: @defaults) end |
#unmanaged ⇒ Object
15 16 17 |
# File 'lib/seam/routes/devices.rb', line 15 def unmanaged @unmanaged ||= Seam::Clients::DevicesUnmanaged.new(client: @client, defaults: @defaults) end |
#update(device_id:, backup_access_code_pool_enabled: nil, custom_metadata: nil, is_managed: nil, name: nil, properties: nil) ⇒ nil
Updates a specified device.
You can add or change custom metadata for a device, change the device's name, or convert a managed device to unmanaged.
88 89 90 91 92 |
# File 'lib/seam/routes/devices.rb', line 88 def update(device_id:, backup_access_code_pool_enabled: nil, custom_metadata: nil, is_managed: nil, name: nil, properties: nil) @client.post("/devices/update", {device_id: device_id, backup_access_code_pool_enabled: backup_access_code_pool_enabled, custom_metadata: , is_managed: is_managed, name: name, properties: properties}.compact) nil end |