QPR ProcessAnalyzer API: Difference between revisions
No edit summary |
|||
Line 63: | Line 63: | ||
This Python script starts a QPR ProcessAnalyzer script using the REST API. There is a function that login to QPR ProcessAnalyzer, start the script, and log out. | This Python script starts a QPR ProcessAnalyzer script using the REST API. There is a function that login to QPR ProcessAnalyzer, start the script, and log out. | ||
<pre lang=" | <pre lang="python" line> | ||
def startQPRProcessAnalyzerScript(serverUrl: str, username: str, password: str, scriptId: int): | def startQPRProcessAnalyzerScript(serverUrl: str, username: str, password: str, scriptId: int): | ||
loginData = { | loginData = { | ||
Line 94: | Line 94: | ||
The function can be called as follows: | The function can be called as follows: | ||
<pre lang=" | <pre lang="python" line> | ||
startQPRProcessAnalyzerScript( | startQPRProcessAnalyzerScript( | ||
serverUrl = "https://server.onqpr.com/qprpa", | serverUrl = "https://server.onqpr.com/qprpa", |
Revision as of 17:20, 14 December 2023
QPR ProcessAnalyzer API can be used to build integrations with other applications and automate operations in the process mining system.
QPR ProcessAnalyzer API is a JSON based API following the REST design principles. All methods (except the token and serverinfo) require a prior login to establish a session. The session is initialized with the token call with username and password, and the access token is returned as a response for a successful login. The methods requiring prior authenticated session, need to have a HTTP request header Authorization with value Bearer <access token> to identify the session.
Url for calling the API has the following form (replace the server hostname with a correct one):
https://customer.onqpr.com/qprpa/api/<methodName>
Following methods are available:
Method | Description |
---|---|
token | Login user using username and password and get a session token as a response. |
api/signout | Logs out a user session. |
api/expression | Runs an expression. |
api/expression/query | Runs query written using the expression language and returns result data as response. |
api/filters | Get filters for all models or filters for a single model. |
api/serverinfo | Returns common system information needed by UI, such as the default UI language and in whether SSO has been configured. |
api/importfile | Import data into datatable from .csv, .xes or .pacm file. |
api/usersettings | Save user specific settings to the server. |
api/operations/terminate | Stops the defined tasks (by the task id) to save computing resources. |
api/analysis/cancel | Stops currently running tasks (by the task identifier) to save computing resources. |
api/saml2/acs | Identity provider (IdP) will send the SAML 2.0 assertion to this endpoint, which responses with 302 to redirect to QPR ProcessAnalyzer UI. |
api/saml2 | Returns the SAML 2.0 service provider (SP) metadata, if SAML 2.0 authentication has been configured. |
In addition, there are methods for
- moving and deleting workspace elements
- projects
- dashboards
- models
- datatables
- scripts
- users, groups and roles
Examples
This Python script starts a QPR ProcessAnalyzer script using the REST API. There is a function that login to QPR ProcessAnalyzer, start the script, and log out.
def startQPRProcessAnalyzerScript(serverUrl: str, username: str, password: str, scriptId: int):
loginData = {
"grant_type": "password",
"username": username,
"password": password
}
loginResponse = requests.post(url = serverUrl + "/token", data = loginData)
loginResponse.raise_for_status()
sessionToken = loginResponse.json().get("access_token")
startScriptResponse = requests.post(
url = serverUrl + "/api/scripts/run/" + str(scriptId),
headers = {
"Authorization": "Bearer " + sessionToken,
"Content-type": "application/json"
}
)
startScriptResponse.raise_for_status()
logOutResponse = requests.post(
url = serverUrl + "/api/signout",
headers = {
"Authorization": "Bearer " + sessionToken,
"Content-type": "application/json"
}
)
logOutResponse.raise_for_status()
The function can be called as follows:
startQPRProcessAnalyzerScript(
serverUrl = "https://server.onqpr.com/qprpa",
username = "qpr",
password = "demo",
scriptId = 1
)