In this quick start, create an ACS user for a virtual access control system. Then, grant the user access to an entrance using a PIN code credential.
This quick start walks you through the process that applies specifically to the Salto KS ACS. There are often differences between access control systems. Once you've completed this quick start, learn how to work with your ACS using Seam, by reading the for your ACS.
Overview
This quick start walks you through the following basic steps:
an access control system to Seam.
To get started quickly, use a virtual ACS in a .
Install a Seam SDK and create an API key.
Create an .
Also, specify the access schedule for this user.
Assign the ACS user to an .
Access groups are preconfigured to grant access to specific entrances.
While some access control systems use access groups, others specify allowed entrances directly within the credential. For more details, see .
Create a PIN code for the ACS user.
View the following information about your successfully-created credential:
The PIN code for the credential.
The access schedule for the ACS user.
The list of entrances to which the ACS user now has access.
Step 1: Connect a Virtual ACS
In the top navigation pane, click ACS Systems.
On the Access Systems page, click New Access System.
Seam Console displays a Connect Webview that enables you to connect a virtual ACS to Seam.
In the Connect Webview, authorize the connection.
Click Continue.
In the device brand list, click Salto KS.
On the Salto KS authorization page:
In the Email field, type jane@example.com.
In the Password field, type 1234.
Click Log In.
When prompted to allow application access, click Yes, Allow.
In the sites list, select Main Site and then click Continue.
Click Close.
The Access Systems page now displays the newly-connected virtual Salto KS access control system.
Step 2: Install a Seam SDK and Create an API Key
Download and install a Seam SDK in your favorite programming language.
npm i seam
pip install seam
# For some development environments, use pip3 in this command instead of pip.
import { Seam } from "seam";
const seam = new Seam(); // Seam automatically uses your exported SEAM_API_KEY.
const acsUser = await seam.acs.users.create({
full_name: "June Doe",
// Use the ACS system ID that you copied earlier from Seam Console.
acs_system_id: acsSystemId,
access_schedule: {
"starts_at": "2025-02-10T15:00:00.000Z",
"ends_at": "2025-02-12T11:00:00.000Z"
}
});
<?php
require 'vendor/autoload.php';
$seam = new Seam\SeamClient(); // Seam automatically uses your exported SEAM_API_KEY.
$acs_user = $seam->acs->users->create(
full_name: "June Doe",
// Use the ACS system ID that you copied earlier from Seam Console.
acs_system_id: $acs_system_id,
access_schedule: array(
"starts_at" => "2025-02-10T15:00:00.000Z",
"ends_at" => "2025-02-12T11:00:00.000Z"
)
);
Add the ACS user to an access group. For Salto KS, access groups specify the entrances to which users have access.
Find the access group ID.
On the Access Systems page, click the Salto KS Main Site ACS.
On the Main Site page, click the Access Groups tab.
Locate the Main Group, click ..., and click Copy Id.
Store this access group ID for future use.
Assign the ACS user to the Main Group, as follows:
Code:
seam.acs.users.add_to_access_group(
acs_user_id = acs_user.acs_user_id,
# Use the access group ID that you copied earlier from Seam Console.
acs_access_group_id = access_group_id
)
Output:
None
Code:
# Use the access group ID that you copied earlier from Seam Console.
curl -X 'POST' \
'https://connect.getseam.com/acs/users/add_to_access_group' \
-H "Authorization: Bearer ${SEAM_API_KEY}" \
-H 'Content-Type: application/json' \
-d "{
\"acs_user_id\": \"$(jq -r '.acs_user.acs_user_id' <<< ${acs_user})\",
\"acs_access_group_id\": \"${access_group_id}\"
}"
Output:
{
"ok": true
}
Code:
await seam.acs.users.addToAccessGroup({
acs_user_id: acsUser.acs_user_id,
// Use the access group ID that you copied earlier from Seam Console.
acs_access_group_id: accessGroupId
});
Output:
void
Code:
seam.acs.users.add_to_access_group(
acs_user_id: acs_user.acs_user_id,
# Use the access group ID that you copied earlier from Seam Console.
acs_access_group_id: access_group_id
)
Output:
nil
Code:
$seam->acs->users->add_to_access_group(
acs_user_id: $acs_user->acs_user_id,
// Use the access group ID that you copied earlier from Seam Console.
acs_access_group_id: $access_group_id
);
Output:
void
Code:
// Coming soon!
Output:
// Coming soon!
Code:
// Coming soon!
Output:
// Coming soon!
Code:
_, err := client.Acs.Users.AddToAccessGroup(
context.Background(), &acs.UsersAddToAccessGroupRequest{
AcsUserId: acsUser.AcsUserId,
// Use the access group ID that you copied earlier from Seam Console.
AcsAccessGroupId: accessGroupId,
},
)
Output:
void
Step 5: Create a PIN Code Credential
Create a PIN code credential for the ACS user. After you create the credential, Salto KS generates the corresponding PIN code.
The list of entrances to which the ACS user now has access.
To use Seam Console to view information about your new PIN code credential:
On the Access Systems page, click the Salto KS Main Site ACS.
In the Users table, click June Doe, the ACS user that you created.
In the Credentials tab for the ACS user, view the Code for the PIN code credential that you created.
In the Properties area for the ACS user, view the user's access schedule.
Note that Seam Console displays times adjusted to your local computer settings. That is, the times that you see in Seam Console are the times that you specified when creating the credential, adjusted to match your computer's time settings.
Click the Access Groups tab for the ACS user.
Click the Main Group access group.
On the Main Group page click the Entrances tab and then view the entrances to which this access group grants the ACS user access.
Next Steps
Now that you've created a PIN code credential, try out the other ACS quick starts.
Learn More
For a deeper dive into ACS concepts and instructions, see the following topics:
Learn about ACS concepts.
Create ACS users.
For relevant access control systems, assign ACS users to access groups.
Learn about available entrances.
Create credentials for ACS users.
Let's get started!
In this quick start, use Seam Console to connect a virtual ACS to your sandbox workspace. Alternately, you can use the Seam API to create a and then use it to connect an ACS to Seam.
Log in to .
In the upper-left corner, click the workspace switcher and select or .
Install using .
In the top navigation pane of , click Developer.
In the top navigation pane of , click ACS Systems.
Some other access control systems do not use access groups and, instead, specify allowed entrances directly within the credential. For more details, see .
In the top navigation pane of , click ACS Systems.
You can use Seam Console, the Seam API, or the to view the following information about your successfully-created credential:
In the top navigation pane of , click ACS Systems.