Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ The following process describes the configuration steps for your application to

Depending on the access method and specific ACS, your application can also configure additional credential properties. For more information about manufacturer-specific variations, see the [system integration guide](../../../device-and-system-integration-guides/overview.md#access-control-systems) for your ACS.

You can also perform other management actions, as needed, such as [adding ACS users to](../user-management/assigning-users-to-access-groups.md#add-an-acs-user-to-an-access-group) and [removing ACS users from access groups](../user-management/assigning-users-to-access-groups.md#remove-an-acs-user-from-an-access-group), [assigning](../assigning-credentials-to-users.md#assign-a-credential-to-a-user) and [unassigning](../assigning-credentials-to-users.md#unassign-a-credential-from-a-user) existing credentials, [suspending](../../../capability-guides/access-systems/suspending-and-unsuspending-users.md#suspend-an-acs-user) and [unsuspending](../../../capability-guides/access-systems/suspending-and-unsuspending-users.md#unsuspend-an-acs-user) ACS users, [updating ACS users](../../../capability-guides/access-systems/user-management.md#update-a-user) and [credentials](https://docs.seam.co/latest/api/acs/credentials/update), and [deleting ACS users](../../../capability-guides/access-systems/user-management.md#delete-a-user) and [credentials](../managing-credentials.md#delete-a-credential).
You can also perform other management actions, as needed, such as [adding ACS users to](../user-management/assigning-users-to-access-groups.md#add-an-acs-user-to-an-access-group) and [removing ACS users from access groups](../user-management/assigning-users-to-access-groups.md#remove-an-acs-user-from-an-access-group), [assigning](../assigning-credentials-to-users.md#assign-a-credential-to-a-user) and [unassigning](../assigning-credentials-to-users.md#unassign-a-credential-from-a-user) existing credentials, [suspending](../../../capability-guides/access-systems/user-management/suspending-and-unsuspending-users.md#suspend-an-acs-user) and [unsuspending](../../../capability-guides/access-systems/user-management/suspending-and-unsuspending-users.md#unsuspend-an-acs-user) ACS users, [updating ACS users](../../../capability-guides/access-systems/user-management.md#update-a-user) and [credentials](https://docs.seam.co/latest/api/acs/credentials/update), and [deleting ACS users](../../../capability-guides/access-systems/user-management.md#delete-a-user) and [credentials](../managing-credentials.md#delete-a-credential).

### Credential-Based Access Control Systems

Expand All @@ -83,7 +83,7 @@ The following process describes the configuration steps for your application to

Depending on the access method and specific ACS, your application can also configure additional credential properties. For more information about manufacturer-specific variations, see the [system integration guide](../../../device-and-system-integration-guides/overview.md#access-control-systems) for your ACS.

You can also perform other management actions, as needed, such as [assigning](../assigning-credentials-to-users.md#assign-a-credential-to-a-user) and [unassigning](../assigning-credentials-to-users.md#unassign-a-credential-from-a-user) existing credentials, [suspending](../../../capability-guides/access-systems/suspending-and-unsuspending-users.md#suspend-an-acs-user) and [unsuspending](../../../capability-guides/access-systems/suspending-and-unsuspending-users.md#unsuspend-an-acs-user) ACS users, [updating ACS users](../../../capability-guides/access-systems/user-management.md#update-a-user) and [credentials](https://docs.seam.co/latest/api/acs/credentials/update), and [deleting ACS users](../../../capability-guides/access-systems/user-management.md#delete-a-user) and [credentials](../managing-credentials.md#delete-a-credential).
You can also perform other management actions, as needed, such as [assigning](../assigning-credentials-to-users.md#assign-a-credential-to-a-user) and [unassigning](../assigning-credentials-to-users.md#unassign-a-credential-from-a-user) existing credentials, [suspending](../../../capability-guides/access-systems/user-management/suspending-and-unsuspending-users.md#suspend-an-acs-user) and [unsuspending](../../../capability-guides/access-systems/user-management/suspending-and-unsuspending-users.md#unsuspend-an-acs-user) ACS users, [updating ACS users](../../../capability-guides/access-systems/user-management.md#update-a-user) and [credentials](https://docs.seam.co/latest/api/acs/credentials/update), and [deleting ACS users](../../../capability-guides/access-systems/user-management.md#delete-a-user) and [credentials](../managing-credentials.md#delete-a-credential).

***

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A client session enables a client, such as a web browser or mobile phone, to acc

Once you create a client session on the backend, you can pass the resulting generated client session token from the backend to the frontend (that is, to the client). Using client session tokens on the frontend eliminates the need for your user's browser to communicate with your backend server. Instead, the client makes requests directly to the Seam API.

Client sessions make it easy to control your users' access to devices. When you create a client session, you can specify [your own internal user ID for a desired user](../../../ui-components/overview/get-started-with-client-side-components.md#id-3-select-a-user-identifier-key), along with the [connected accounts](https://docs.seam.co/latest/api/connected_accounts/) associated with this user. Then, you can [use client sessions on the backend to limit your users to only the devices that they own](implementing-client-sessions-for-device-management-in-the-backend.md).
Client sessions make it easy to control your users' access to devices. When you create a client session, you can specify [your own internal user ID for a desired user](../../../ui-components/overview/getting-started-with-seam-components/get-started-with-client-side-components.md#id-3-select-a-user-identifier-key), along with the [connected accounts](https://docs.seam.co/latest/api/connected_accounts/) associated with this user. Then, you can [use client sessions on the backend to limit your users to only the devices that they own](implementing-client-sessions-for-device-management-in-the-backend.md).

{% hint style="info" %}
If you are just getting started with Seam, see [Seam Components](../../../ui-components/overview/). In only a few minutes and with just a few lines of code, you can start controlling devices from your web application without interacting with the backend.
Expand All @@ -25,13 +25,13 @@ You can only use a client session token in a browser context through the Seam Ja
You can use client sessions in the following two ways:

* Create a client session on the backend and pass the resulting generated client session token to your frontend. You use this client session token in the frontend with the Seam JavaScript SDK or Seam Components.
* Manage client sessions entirely on the frontend by using a [publishable key with the JavaScript SDK or Seam Components](../../../ui-components/overview/get-started-with-client-side-components.md).
* Manage client sessions entirely on the frontend by using a [publishable key with the JavaScript SDK or Seam Components](../../../ui-components/overview/getting-started-with-seam-components/get-started-with-client-side-components.md).

***

## Create a Client Session for an Existing User and Retrieve the Session Token

To [create a client session](https://docs.seam.co/latest/api/client_sessions/create) for an existing user with connected accounts in your workspace, include the IDs of the user's connected accounts (`connected_account_ids`) and [provide your own unique internal user ID (`user_identifier_key`)](../../../ui-components/overview/get-started-with-client-side-components.md#id-3-select-a-user-identifier-key). Then, use the generated client session token to retrieve and manage the resources authorized through the connected accounts associated with this client session.
To [create a client session](https://docs.seam.co/latest/api/client_sessions/create) for an existing user with connected accounts in your workspace, include the IDs of the user's connected accounts (`connected_account_ids`) and [provide your own unique internal user ID (`user_identifier_key`)](../../../ui-components/overview/getting-started-with-seam-components/get-started-with-client-side-components.md#id-3-select-a-user-identifier-key). Then, use the generated client session token to retrieve and manage the resources authorized through the connected accounts associated with this client session.

{% tabs %}
{% tab title="JavaScript" %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ To avoid polling, use a Seam webhook to monitor for a `connected_account.connect

Note that the `connected_account.connected` event also includes a `connected_account_id` property.

For more information, see [Webhooks](../webhooks.md).
For more information, see [Webhooks](../../developer-tools/webhooks.md).

```json
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Online: True

## Get Device Status Using Connection-Related Events

When a device connection or disconnection occurs, Seam generates a [`device.connected`](https://docs.seam.co/latest/api/events/) or [`device.disconnected`](https://docs.seam.co/latest/api/events/) event, respectively. You can retrieve these events using a [List Events](https://docs.seam.co/latest/api/events/list) request or through [webhooks](../webhooks.md) and then display the corresponding status in your app.
When a device connection or disconnection occurs, Seam generates a [`device.connected`](https://docs.seam.co/latest/api/events/) or [`device.disconnected`](https://docs.seam.co/latest/api/events/) event, respectively. You can retrieve these events using a [List Events](https://docs.seam.co/latest/api/events/list) request or through [webhooks](../../developer-tools/webhooks.md) and then display the corresponding status in your app.

{% hint style="info" %}
To help you test your app against events—like device disconnection or removal—that are difficult to orchestrate in a QA environment using real devices, Seam provides a suite of `simulate` endpoints that you can use in a [sandbox workspace](../workspaces/#sandbox-workspaces). See [Testing Your App Against Device Disconnection and Removal](testing-your-app-against-device-disconnection-and-removal.md).
Expand Down Expand Up @@ -351,4 +351,4 @@ foreach (var device_connected_event in device_connected_events)

### Receive Connection-Related Events Using a Webhook

You can set up webhook endpoints to receive `device.connected` and `device.disconnected` events. Then, you can use the receipt of these events to display the corresponding device status in your app. For more information about configuring webhooks, see [Webhooks](../webhooks.md).
You can set up webhook endpoints to receive `device.connected` and `device.disconnected` events. Then, you can use the receipt of these events to display the corresponding device status in your app. For more information about configuring webhooks, see [Webhooks](../../developer-tools/webhooks.md).
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ Seam generates the following battery-related events:
* `device.low_battery`
* `device.battery_status_changed`

You can retrieve these events using a [List Events](https://docs.seam.co/latest/api/events/list) request or through [webhooks](../webhooks.md) and then display the corresponding status in your app.
You can retrieve these events using a [List Events](https://docs.seam.co/latest/api/events/list) request or through [webhooks](../../developer-tools/webhooks.md) and then display the corresponding status in your app.

### Get Battery-Related Events Using a List Events Request

Expand Down Expand Up @@ -365,4 +365,4 @@ foreach (var device_battery_status_changed_event in device_battery_status_change

### Retrieve Battery-Related Events Using a Webhook

You can set up webhook endpoints to receive `device.battery_status_changed` and `device.low_battery` events. Then, you can use the receipt of these events to display the corresponding device status in your app. For more information about configuring webhooks, see [Webhooks](../webhooks.md).
You can set up webhook endpoints to receive `device.battery_status_changed` and `device.low_battery` events. Then, you can use the receipt of these events to display the corresponding device status in your app. For more information about configuring webhooks, see [Webhooks](../../developer-tools/webhooks.md).
2 changes: 1 addition & 1 deletion docs/guides/core-concepts/seam-console/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Seam Console enables you to manage all resources associated with your Seam accou
* Add and manage [devices](../devices/).
* Add and manage [access control systems](../../capability-guides/access-systems/).
* Create, customize, and manage [Connect Webviews](../connect-webviews/).
* Add and manage [webhooks](../webhooks.md).
* Add and manage [webhooks](../../developer-tools/webhooks.md).
* Use the [Seam Online CLI](seam-online-cli.md).

## Create a Seam Account
Expand Down
Loading
Loading