Programming Salto Space Mobile Credentials
Learn how to create mobile credentials in the Salto Space access system.
You can create mobile credentials that enable your mobile app users to unlock entrances in your Salto Space access system. For each Salto Space user, you can create a maximum of one key card credential and one mobile key credential. For more information about Seam mobile keys, see Mobile Access.
To use the Seam API to create mobile credentials for mobile app users in a Salto Space access system:
Create a user identity.
Seam user identities enable you to match your own mobile app users to access system users that you create using the Seam API.
Create an access system user on the Salto Space access system or assign an existing access system user to the user identity. The resources that you create for the access system user are available under the associated user identity.
Assign the access system user to one or more access groups.
Each access group is preconfigured with the allowed entrances.
Create a credential to represent the mobile key.
Specify the ID of the access system user.
Set
is_multi_phone_sync_credentialtotrue.Set the
access_methodtomobile_key.
The following example walks you through this process:
Code:
# Get the access system.
building_a = seam.acs.systems.get(
acs_system_id = "11111111-1111-1111-1111-111111111111"
)
# Step 1:
# Create a user identity that corresponds to your user's mobile app account.
jane_user = seam.user_identities.create(
full_name = "Jane Doe"
)
# Step 2:
# Create an access system user on the Salto Space access system.
access_system_user = seam.acs.users.create(
user_identity_id = jane_user.user_identity_id,
acs_system_id = building_a.acs_system_id,
full_name = jane_user.full_name,
phone_number = "+15555550100"
)
# Step 3:
# Add the access system user to all desired access groups.
access_group_ids = [
"44444444-4444-4444-4444-333333333333",
"44444444-4444-4444-4444-444444444444"
]
for access_group_id in seam_access_group_ids:
seam.acs.users.add_to_access_group(
acs_user_id = access_system_user.acs_user_id,
acs_access_group_id = access_group_id
)
# Step 4:
# Create a mobile key for the access system user.
mobile_key = seam.acs.credentials.create(
acs_user_id = access_system_user.acs_user_id,
is_multi_phone_sync_credential = True,
access_method = "mobile_key"
)Output:
AcsCredential(
acs_credential_id='66666666-6666-6666-6666-666666666666',
acs_user_id='33333333-3333-3333-3333-333333333333',
access_method='mobile_key',
...
)Code:
# Get the access system.
building_a=$(curl -X 'POST' \
'https://connect.getseam.com/acs/systems/get' \
-H 'accept: application/json' \
-H "Authorization: Bearer ${SEAM_API_KEY}" \
-H 'Content-Type: application/json' \
-d "{
\"acs_system_id\": \"11111111-1111-1111-1111-111111111111\"
}")
# Step 1:
# Create a user identity that corresponds to your user's app account.
jane_user=$(curl -X 'POST' \
'https://connect.getseam.com/user_identities/create' \
-H 'accept: application/json' \
-H "Authorization: Bearer ${SEAM_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"full_name": "Jane Doe"
}')
# Step 2:
# Create an access system user on the Salto Space access system.
access_system_user=$(curl -X 'POST' \
'https://connect.getseam.com/acs/users/create' \
-H 'accept: application/json' \
-H "Authorization: Bearer ${SEAM_API_KEY}" \
-H 'Content-Type: application/json' \
-d "{
\"user_identity_id\": \"$(jq -r '.user_identity.user_identity_id' <<< ${jane_user})\",
\"acs_system_id\": \"$(jq -r '.acs_system.acs_system_id' <<< ${building_a})\",
\"full_name\": \"$(jq -r '.user_identity.full_name' <<< ${jane_user})\",
\"phone_number\": \"+15555550100\"
}")
# Step 3:
# Add the access system user to all desired access groups.
declare -a access_group_ids=("44444444-4444-4444-4444-333333333333" "44444444-4444-4444-4444-444444444444")
for access_group_id in ${access_group_ids[@]};
do
curl -X 'POST' \
'https://connect.getseam.com/acs/users/add_to_access_group' \
-H 'accept: application/json' \
-H "Authorization: Bearer ${SEAM_API_KEY}" \
-H 'Content-Type: application/json' \
-d "{
\"acs_user_id\": \"$(jq -r '.acs_user.acs_user_id' <<< ${access_system_user})\",
\"acs_access_group_id\": \"$access_group_id\"
}";
done
# Step 4:
# Create a mobile key for the access system user.
mobile_key=$(curl -X 'POST' \
'https://connect.getseam.com/acs/credentials/create' \
-H 'accept: application/json' \
-H "Authorization: Bearer ${SEAM_API_KEY}" \
-H 'Content-Type: application/json' \
-d "{
\"acs_user_id\": \"$(jq -r '.acs_user.acs_user_id' <<< ${access_system_user})\",
\"is_multi_phone_sync_credential\": true,
\"access_method\": \"mobile_key\"
}")Output:
{
"acs_credential":{
"acs_credential_id": "66666666-6666-6666-6666-666666666666",
"acs_user_id": "33333333-3333-3333-3333-333333333333",
"access_method": "mobile_key",
...
}
}Code:
// Get the access system.
const buildingA = await seam.acs.systems.get({
acs_system_id: "11111111-1111-1111-1111-111111111111"
});
// Step 1:
// Create a user identity that corresponds to your user's app account.
const janeUser = await seam.userIdentities.create({
full_name: "Jane Doe"
});
// Step 2:
// Create an access system user on the Salto Space access system.
const accessSystemUser = await seam.acs.users.create({
user_identity_id: janeUser.user_identity_id,
acs_system_id: buildingA.acs_system_id,
full_name: janeUser.full_name,
phone_number: "+15555550100"
});
// Step 3:
// Add the access system user to all desired access groups.
const accessGroupIds = [
"44444444-4444-4444-4444-333333333333",
"44444444-4444-4444-4444-444444444444"
];
for (const accessGroupId of accessGroupIds) {
await seam.acs.users.addToAccessGroup({
acs_user_id: accessSystemUser.acs_user_id,
acs_access_group_id: accessGroupId
});
}
// Step 4:
// Create a mobile key for the access system user.
const mobileKey = await seam.acs.credentials.create({
acs_user_id: accessSystemUser.acs_user_id,
access_method: "mobile_key",
is_multi_phone_sync_credential: true
});Output:
{
acs_credential_id: '66666666-6666-6666-6666-666666666666',
acs_user_id: '33333333-3333-3333-3333-333333333333',
access_method: 'mobile_key',
...
}Code:
# Get the access system.
building_a = seam.acs.systems.get(
acs_system_id: "11111111-1111-1111-1111-111111111111"
)
# Step 1:
# Create a user identity that corresponds to your user's app account.
jane_user = seam.user_identities.create(
full_name: "Jane Doe"
)
# Step 2:
# Create an access system user on the Salto Space access system.
access_system_user = seam.acs.users.create(
user_identity_id: jane_user.user_identity_id,
acs_system_id: building_a.acs_system_id,
full_name: jane_user.full_name,
phone_number: "+15555550100"
)
# Step 3:
# Add the access system user to all desired access groups.
access_group_ids = [
"44444444-4444-4444-4444-333333333333",
"44444444-4444-4444-4444-444444444444"
]
access_group_ids.each do |access_group_id|
seam.acs.users.add_to_access_group(
acs_user_id: access_system_user.acs_user_id,
acs_access_group_id: access_group_id
)
end
# Step 4:
# Create a mobile key for the access system user.
mobile_key = seam.acs.credentials.create(
acs_user_id: access_system_user.acs_user_id,
access_method: "mobile_key",
is_multi_phone_sync_credential: true
)Output:
<Seam::Resources::AcsCredential:0x00618
acs_credential_id="66666666-6666-6666-6666-666666666666"
acs_user_id="33333333-3333-3333-3333-333333333333"
access_method="mobile_key"
...
>Code:
// Get the access system.
$building_a = $seam->acs->systems->get(
acs_system_id: "11111111-1111-1111-1111-111111111111"
);
// Step 1:
// Create a user identity that corresponds to your user's app account.
$jane_user = $seam->user_identities->create(
full_name: "Jane Doe"
);
// Step 2:
// Create an access system user on the Salto Space access system.
$access_system_user = $seam->acs->users->create(
user_identity_id: $jane_user->user_identity_id,
acs_system_id: $building_a->acs_system_id,
full_name: $jane_user->full_name,
phone_number: "+15555550100"
);
// Step 3:
// Add the access system user to all desired access groups.
$access_group_ids = array(
"44444444-4444-4444-4444-333333333333",
"44444444-4444-4444-4444-444444444444"
);
foreach ($access_group_ids as $access_group_id) {
$seam->acs->users->add_to_access_group(
acs_user_id: $access_system_user->acs_user_id,
acs_access_group_id: $access_group_id
);
};
// Step 4:
// Create a mobile key for the access system user.
$mobile_key = $seam->acs->credentials->create(
acs_user_id: $access_system_user->acs_user_id,
is_multi_phone_sync_credential: true,
access_method: "mobile_key"
);Output:
{
"acs_credential_id": "66666666-6666-6666-6666-666666666666",
"acs_user_id": "33333333-3333-3333-3333-333333333333",
"access_method": "mobile_key",
...
}Code:
// Coming soon!Output:
// Coming soon!Learn More
To find out more about using the Seam API with your Salto Space access system, see the following topics:
Access Systems in the Seam API reference
User Identities in the Seam API reference
Last updated
Was this helpful?

