Systm.AppServices
5.8.25314.12103
Prefix Reserved
dotnet add package Systm.AppServices --version 5.8.25314.12103
NuGet\Install-Package Systm.AppServices -Version 5.8.25314.12103
<PackageReference Include="Systm.AppServices" Version="5.8.25314.12103" />
<PackageVersion Include="Systm.AppServices" Version="5.8.25314.12103" />
<PackageReference Include="Systm.AppServices" />
paket add Systm.AppServices --version 5.8.25314.12103
#r "nuget: Systm.AppServices, 5.8.25314.12103"
#:package Systm.AppServices@5.8.25314.12103
#addin nuget:?package=Systm.AppServices&version=5.8.25314.12103
#tool nuget:?package=Systm.AppServices&version=5.8.25314.12103
Systm.AppServices
The Systm.AppServices library provides a robust framework for managing sessions, tokens, and various system-level operations in applications. It is designed to work with .NET Standard 2.0 and .NET Framework 4.7.2, ensuring compatibility across a wide range of platforms.
Features
- Session Management: Create, retrieve, and manage sessions with support for multiple organizations.
- Token Management: Refresh and manage authentication tokens seamlessly.
- API Calls: You can make any of the Sys.tm® API calls by using the SystmManager.MakeApiCall() method.
Installation
Install the package via NuGet Package Manager:
Install-Package Systm.AppServices
Or via the .NET CLI:
dotnet add package Systm.AppServices
Usage
1. Initialize SystmManager
The SystmManager class is the entry point for managing sessions, tokens, and making API calls.
Note: Before utilizing the Sys.tm API, you will need to be issued an API key by contacting support@sys.tm.
using SYSTM.AppServices;
using SYSTM.AppServices.Models;
var sysConfig = new SysConfig
{
ApiKey = "My_Systm_API_Key"
};
SystmManager systmManager = new SystmManager(sysConfig, null);
2. Authorize a Device
//This ID is for the Sys.tm External API App Client and cannot be changed
string clientId = "10j898a433qi77projmk4bc7r7";
string deviceName = "YourDeviceName";
var sysConfig = await SystmManager.GetDefaultSysConfig();
sysConfig.ApiKey = "My_Systm_API_Key";
SystmManager systmManager = new SystmManager(sysConfig, null);
var initialResponse = await systmManager.TokenService.DeviceAuth_Start(clientId, deviceName);
if (!initialResponse.IsSuccess)
{
throw new Exception(initialResponse.Error);
}
//Use the default browser to show the Sys.tm authentication page
System.Diagnostics.Process.Start(initialResponse.verification_uri_complete);
CancellationTokenSource source = new CancellationTokenSource();
systmManager.SystmCredentials = await systmManager.TokenService.WaitForDeviceAuth(clientId, initialResponse, source.Token);
3. Retrieve Organizations
var organizationsResult = await systmManager.GetOrganizations();
if (organizationsResult.IsSuccess)
{
foreach (var org in organizationsResult.Organizations)
{
Console.WriteLine($"Organization: {org.Name} (ID: {org.Id})");
}
}
else
{
Console.WriteLine($"Failed to retrieve organizations: {organizationsResult.Message}");
}
4. Manage Sessions
Initialize a New Session
var initResult = await systmManager.InitSession("organizationId123");
if (initResult.CreatedSession)
{
Console.WriteLine("Session created successfully.");
}
else
{
Console.WriteLine($"Failed to create session: {initResult.Message}");
}
Get an Existing Session
var session = await systmManager.GetSession("entityId123");
Console.WriteLine($"Session ID: {session.Id}");
5. Refresh Credentials
await systmManager.RefreshSystmCredentials();
Console.WriteLine("Credentials refreshed successfully.");
6. Make API Calls
Make a call with query string parameters
var accessToken = @"Access_Token_From_Systm_Device_Authorization";
var refreshToken = @"Refresh_Token_From_Systm_Device_Authorization";
string orgId = "Organization_ID_From_GetOrganizations_Call";
string fileId = "My_File_ID";
var sysConfig = await SystmManager.GetDefaultSysConfig();
sysConfig.ApiKey = "My_Systm_API_Key";
SystmManager systmManager = new SystmManager(sysConfig, null);
systmManager.SystmCredentials = await systmManager.TokenService.GetCredentialsFromJwtAuth(accessToken, refreshToken);
await systmManager.InitSession(orgId);
NameValueCollection queryStringParams = new NameValueCollection() { { "Id", fileId } };
ApiResponse response = await systmManager.MakeApiCall("files", Method.GET, queryStringParams, string.Empty);
string s3Key = response.JsonResult.GetProperty("S3Key").GetString();
Make a call with JSON body
var accessToken = @"Access_Token_From_Systm_Device_Authorization";
var refreshToken = @"Refresh_Token_From_Systm_Device_Authorization";
string body = "{\"ContentModified\":\"1997-07-25T14:07:49.0156138-06:00\", \"PageSizeLimit\":100}";
var sysConfig = await SystmManager.GetDefaultSysConfig();
sysConfig.ApiKey = "My_Systm_API_Key";
SystmManager systmManager = new SystmManager(sysConfig, null);
systmManager.SystmCredentials = await systmManager.TokenService.GetCredentialsFromJwtAuth(accessToken, refreshToken);
await systmManager.InitSession(orgId);
ApiResponse response = await systmManager.MakeApiCall("folders/contents/modified", Method.POST, null, body);
var folders = response.JsonResult.GetProperty("Folders");
var firstFolder = folders[0];
string firstModifiedFolderName = firstFolder.GetProperty("Name").GetString();
Dependencies
This library depends on the following NuGet packages:
System.Text.JsonMicrosoft.AspNetCore.StaticFilesAWSSDK.CoreAWSSDK.CognitoIdentityAWSSDK.CognitoIdentityProviderAWSSDK.S3
Target Frameworks
.NET Standard 2.0.NET Framework 4.7.2
License
This library is licensed under the Digitech Systems, LLC end user license agreement.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- Amazon.Extensions.CognitoAuthentication (>= 2.5.6)
- AWSSDK.CognitoIdentity (>= 3.7.402.57)
- AWSSDK.CognitoIdentityProvider (>= 3.7.407.32)
- AWSSDK.Core (>= 3.7.402.43)
- AWSSDK.S3 (>= 3.7.416.13)
- AWSSDK.SecurityToken (>= 3.7.401.86)
- Flurl.Http.Signed (>= 4.0.2)
- Flurl.Signed (>= 4.0.0)
- Microsoft.AspNetCore.StaticFiles (>= 2.3.0)
- Microsoft.CSharp (>= 4.7.0)
- System.Data.DataSetExtensions (>= 4.5.0)
- System.IdentityModel.Tokens.Jwt (>= 8.8.0)
-
.NETStandard 2.0
- Amazon.Extensions.CognitoAuthentication (>= 2.5.6)
- AWSSDK.CognitoIdentity (>= 3.7.402.57)
- AWSSDK.CognitoIdentityProvider (>= 3.7.407.32)
- AWSSDK.Core (>= 3.7.402.43)
- AWSSDK.S3 (>= 3.7.416.13)
- AWSSDK.SecurityToken (>= 3.7.401.86)
- Flurl.Http.Signed (>= 4.0.2)
- Flurl.Signed (>= 4.0.0)
- Microsoft.AspNetCore.StaticFiles (>= 2.3.0)
- Microsoft.CSharp (>= 4.7.0)
- System.Data.DataSetExtensions (>= 4.5.0)
- System.IdentityModel.Tokens.Jwt (>= 8.8.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.8.25314.12103 | 102 | 1/30/2026 |
| 5.5.25252.12332 | 191 | 10/13/2025 |
| 5.3.25204.11907 | 194 | 9/25/2025 |
| 5.1.25142.10423 | 160 | 5/23/2025 |
| 5.0.25118.2041 | 214 | 4/28/2025 |