| noteId | tags |
|---|---|
e0013c30d6d911f0957e595c60a237cf |
This document describes how to interact with the CTRLPlayer API. The API uses JWT authentication and provides endpoints for authentication and user management
Endpoint:
POST /auth/login
Description:
Obtain a JWT token for subsequent requests.
Request Body:
{
"service": "serviceName",
"environment": "environmentType",
"phrase": "your_secret_phrase"
}Response:
-
Success:
200 OK{ "token": "Bearer <JWT_TOKEN>" } -
Error:
400/401/403/500{ "success": false, "error": "Error message" }
All user endpoints require the Authorization header:
Authorization: Bearer <JWT_TOKEN>
Endpoint:
POST /users/verify
Description:
Verify if a user exists in Active Directory and if the provided full name matches.
Request Body:
{
"username": "jdoe",
"fullname": "John Doe"
}Response:
-
Success:
200 OK{ "success": true, "message": "Success", "data": { "VerifyUserAD": { "fullname": "John Doe", "username": "jdoe", "EmployeeID": "12345" } } } -
Error:
400/401/500{ "success": false, "error": "the Entra name does not match with the provided ..." }
Endpoint:
POST /users/verify_fullname
Description:
Verify if a user exists in Active Directory by full name and username.
Request Body:
{
"fullname": "John Doe"
}Response:
-
Success:
200 OK{ "success": true, "message": "Success", "data": { "Employee": { "fullname": "John Doe", "username": "jdoe", "EmployeeID": "12345" } } } -
Error:
400/401/500{ "success": false, "error": "the Entra name does not match with the provided ..." }
Endpoint:
POST /users/assignEmployeeId
Description:
Assign a new Employee ID to a user.
Request Body:
{
"username": "jdoe",
"fullname": "John Doe",
"employeeId": "67890",
"updatedBy": "admin"
}Response:
-
Success:
200 OK{ "success": true, "message": "Success", "data": { "Assigned": true, "Employee": { "fullname": "John Doe", "username": "jdoe", "EmployeeID": "67890" } } } -
Error:
400/401/500{ "success": false, "error": "This EmployeeId 67890 is been used by other employee" }
Endpoint:
POST /users/assingSuppervisor
Description:
Assign a new supervisor to a user.
Request Body:
{
"guru_employeeID": "67890",
"sup_employeeID": "123",
"updatedBy":"admin"
}Response:
-
Success:
200 OK{ "success": true, "message": "Success", "data": { "Assigned": true, "Employee": { "fullname": "John Doe", "username": "jdoe", "EmployeeID": "67890", "Manager": "John Smith" } } } -
Error:
400/401/500{ "success": false, "error": "This supervisor badge number does not exists, is inactive or is out of context: " }
All endpoints return errors in the following format:
{
"success": false,
"error": "Error message"
}Details
import requests
# 1. Login
login_resp = requests.post(
"https://ctrlplayer.tog.solutions/auth/login",
json={"service": "serviceName", "environment": "environmentType", "phrase": "your_secret_phrase"}
)
token = login_resp.json()["token"]
headers = {"Authorization": token}
# 2. Verify user
verify_resp = requests.post(
"https://ctrlplayer.tog.solutions/users/verify",
json={"username": "jdoe", "fullname": "John Doe"},
headers=headers
)
print(verify_resp.json())Details
try
{
// 1. Login
var loginData = new
{
service = "serviceName",
environment = "environmentType",
phrase = "your_secret_phrase"
};
var loginJson = JsonConvert.SerializeObject(loginData);
var loginContent = new StringContent(loginJson, Encoding.UTF8, "application/json");
var loginResponse = await client.PostAsync(
"https://ctrlplayer.tog.solutions/auth/login",
loginContent
);
var loginResult = await loginResponse.Content.ReadAsStringAsync();
dynamic loginData = JsonConvert.DeserializeObject(loginResult);
string token = loginData.token;
client.DefaultRequestHeaders.Add("Authorization", token);
// 2. Verify user
var verifyData = new
{
username = "jdoe",
fullname = "John Doe"
};
var verifyJson = JsonConvert.SerializeObject(verifyData);
var verifyContent = new StringContent(verifyJson, Encoding.UTF8, "application/json");
var verifyResponse = await client.PostAsync(
"https://ctrlplayer.tog.solutions/users/verify",
verifyContent
);
var verifyResult = await verifyResponse.Content.ReadAsStringAsync();
Console.WriteLine(verifyResult);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}- All endpoints require a valid JWT token except
/auth/login. - Always use the correct parameter names and types as shown above.
- Error messages and codes may vary depending on the cause.
For further questions, contact the API administrators or A51
version2 - 3b7dff6