Web Service
GenControlRoom Web Service API bölümü, GenRPA sisteminde Swagger arayüzü üzerinden süreçlerin tetiklenmesi, planlanması ve yönetilmesi için kullanılan web servis uç noktalarını (API Endpoints) açıklar. Bu arayüz, geliştiricilere ve yöneticilere süreçlerin uzaktan yönetilmesini, planlamaların yapılmasını ve sistemdeki makinelerin durumlarının izlenmesini sağlar.
Ana servis adresi (Base URL):
http://localhost/GenControlRoom

Kullanıcı ve Rol Bilgilendirmesi
Web Service kullanıcıları, ControlRoom üzerinden varsayılan olarak aşağıdaki yetkilere sahiptir:
Schedule Add
Schedule Update
Ek olarak, kullanıcının süreç ve makine listelerini görüntüleyebilmesi için ControlRoom’da Web Service rolüne AllowViewMachinesAPI izni verilmelidir.
GenControlRoom Web Service API bölümü, varsayılan olarak bir Web Service kullanıcısı tanımlar. Bu kullanıcı, web servis işlemlerini gerçekleştirmek için gerekli temel yetkilere sahiptir. Talep edilmesi durumunda, bu kullanıcıya ait giriş bilgileri tarafımızca paylaşılabilir. Ayrıca, dilerseniz kendi kullanıcılarınızı da oluşturabilirsiniz. Bunun için aşağıdaki adımları izleyebilirsiniz.
UsersRolesGenel Bilgilendirme
API Uç Noktaları
Token Alma (Login)
Endpoint: POST http://localhost/GenControlRoom/api/auth/login
{
"username": "kullaniciAdi",
"password": "sifre"
}
Örnek Yanıt (Başarılı):
{
"Result": true,
"ErrorCode": null,
"ErrorMessage": null,
"Data": {
"AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9....",
"TokenType": "Bearer",
"ExpiresIn": "2025-10-10T12:00:32.8370179+03:00",
"User": {
"Name": "ApiClient",
"Surname": "ApiClient",
"Email": "[email protected]",
"Username": "[email protected]"
}
}
}
Süreç Listesini Getirme
Endpoint: GET http://localhost/GenControlRoom/api/process
Kullanıcının erişimine açık olan mevcut süreçleri listeler.
Örnek Yanıt:
[
{
"ProcessId": 833,
"Name": "debugTest"
}
]
Süreç Değişkenlerini Getirme
Endpoint: GET http://localhost/GenControlRoom/api/process/{processId}/variables
Belirli bir sürece ait değişkenleri döner. Yalnızca “Allow Web Service Input” seçeneği stüdyoda işaretlenmiş değişkenler listelenir. Bu değişkenler arasından yalnızca value alanı değiştirilebilir.

Örnek Yanıt:
{
"variables": [
{
"name": "Variable 1",
"value": "testlog",
"type": "string"
}
]
}
Süreç Planlama (Ekleme)
Endpoint: POST http://localhost/GenControlRoom/api/process/schedules
Yeni bir süreç planı oluşturur.
Notlar:
Cron değeri gönderilmezse süreç 1 dakika sonra otomatik başlar.
usernamevevariablesalanları isteğe bağlıdır.isEnabledvarsayılan olarak true,workInQueuevebackgroundProcessvarsayılan olarak false değerini alır.machineIddeğeri 0 gönderilirse süreç tüm makinelerde çalışır; aksi halde belirli bir makine ID’si belirtilmelidir.
Örnek İstek:
{
"name": "string",
"processId": 0,
"machineId": 0,
"username": "string",
"scheduleStart": "05-10-2025 15:19",
"scheduleEnd": "06-10-2026 15:19",
"cronExpression": "string",
"priority": 1,
"isEnabled": true,
"workInQueue": false,
"backgroundProcess": false,
"variables": [
{
"name": "string",
"value": "string",
"type": "string"
}
]
}
Başarılı Yanıt:
{
"Result": true,
"ErrorCode": null,
"ErrorMessage": null,
"Data": 43649
}
Başarısız Yanıt:
{
"Result": false,
"ErrorCode": "error code",
"ErrorMessage": "error message",
"Data": null
}
Süreç Güncelleme (Update)
Endpoint: PUT http://localhost/GenControlRoom/api/process/schedules/{scheduleId}
Var olan bir planı günceller. Yalnızca değiştirilecek alanların gönderilmesi yeterlidir.
Örnek İstek:
{
"name": "string",
"processId": 0,
"machineId": 0,
"username": "string",
"scheduleStart": "2025-10-09T11:09:22.262Z",
"scheduleEnd": "2025-10-09T11:09:22.262Z",
"cronExpression": "string",
"priority": 0,
"isEnabled": true,
"workInQueue": true,
"backgroundProcess": true,
"variables": [
{
"name": "string",
"value": "string",
"type": "string"
}
]
}
Başarılı Yanıt:
{
"Result": true,
"ErrorCode": null,
"ErrorMessage": null,
"Data": 43648
}
Hata Yanıtı:
{
"Result": false,
"ErrorCode": "WS-013",
"ErrorMessage": "Error updating schedule: String '2025-10-10T08:03:32.35Z' was not recognized as a valid DateTime.",
"Data": null
}
Makine Listesini Getirme
Endpoint: GET http://localhost/GenControlRoom/api/process/machines
Tüm kayıtlı makineleri listeler.
Planlanmış Süreçleri Getirme
Endpoint: GET http://localhost/GenControlRoom/api/process/schedules
Tüm planlanmış süreçleri listeler.
Örnek Yanıt:
[
{
"ScheduleId": 43547,
"ProcessId": 833,
"ProcessName": "debugTest",
"MachineId": 0,
"StatusId": 3,
"StatusName": "Completed",
"Name": "debugTest",
"StartTime": "19-08-2025 01:22",
"EndTime": "19-09-2025 01:22",
"IsEnabled": true,
"WorkInQueue": true,
"BackgroundProcess": false,
"CronExpression": "24 01 * * *",
"NextOccurence": "07-10-2025 01:24"
}
]
Önemli Notlar
Değişkenlerin value alanları yalnızca stüdyo üzerinde “Allow Web Service Input” seçeneği işaretlenmişse değiştirilebilir.
Tüm istekler JWT token ile yetkilendirilmelidir.
Token almak için
/api/auth/loginendpoint’i kullanılmalıdır.Swagger arayüzünde “Authorize” butonuna tıklandığında yalnızca token değeri girilmelidir, "Bearer" yazılmamalıdır.
Tarih formatı “dd-MM-yyyy HH:mm” biçiminde olmalıdır.
Web servis isteklerinin çalışabilmesi için GenControlRoom servisinin kurulu olduğu sunucunun dış erişime açık olması gerekmektedir.
Last updated