Integrate Third-Party Solutions with Rampiva Automate
The material in this document is for informational purposes only. The products it describes are subject to change without prior notice, due to the manufacturer’s continuous development program. Rampiva makes no representations or warranties with respect to this document or with respect to the products described herein. Rampiva shall not be liable for any damages, losses, costs or expenses, direct, indirect or incidental, consequential or special, arising out of, or related to the use of this material or the products described herein.
Introduction
This article describes the high-level steps to take when integrating a third-party solution with Rampiva Automate and provides concrete examples of HTTP requests and responses for typical operations.
Rampiva Automate has a REST API, and the majority of endpoints require authentication. The preferred authentication method for consuming the REST API is an API Key. See Authenticate to Rampiva Automate with an API Keyarchived for instructions on how to create an API Key.
In general, consuming the Automate API involves three types of actions:
Querying objects, for example to find a Library by name, or to monitor the status of a Job
Creating objects, for example queueing up a new Job, or submitting a new Execution Profile
Updating objects, for example stopping a Job, or changing the Engines which are members of a Resource Pool
The Rampiva Automate web interface is built on top of the API. Because of this, it can be useful to manually perform actions in the web interface and to monitor the endpoints called and the responses received in the browser network tab. Additionally, the API documentation is available at http://localhost/openapi, where localhost is the server where Automate is installed.
PrerequisitesÂ
Rampiva Automate 5.5 or later
Rampiva API Key (see Authenticate to Rampiva Automate with an API Keyarchived)
Instructions
A. Query Objects
1 | Query all Jobs including their details. | Example request: GET http://localhost/api/v1/users/jobs
Authorization: Bearer 265fa20a-ba69-47a0-aab5-034fba50e062:fzMQKFhuOb63ydsOFmJJtExe6mttWFSr Example response: [
{
"bootstrap": false,
"clientId": "124ac055-0185-4d08-b1d2-ac402624d0b9",
"clientName": "Citrus Foods",
"clientReference": null,
"confidential": false,
"dataSetsMetadata": {},
"engineHasWarnings": false,
"engineId": "60a4deb0-59bb-4278-a10c-cb466116dd85",
"engineName": "E1",
"error": null,
"excludeUtilization": false,
"executionProfileId": "c0261c37-5dc6-4ba6-81e0-78b009f41bf5",
"executionProfileName": "Default Profile",
"executionState": "RUNNING",
"finishedDate": null,
"hasWarnings": false,
"id": "31efb10d-92b0-4d8b-ab97-95e6853c8473",
"infos": [],
"lastStateChangedDate": 1624271398730,
"libraryId": "e7d9f2a1-a39a-40c4-91e1-8f3016fd2d29",
"libraryWorkflowId": "aa41b670-215e-442b-9388-38afee6ee89a",
"locked": false,
"matterId": "cdab5497-574f-4e92-85a1-8f2c3bec47e8",
"matterLock": false,
"matterName": "Project Grapefruit",
"matterReference": null,
"modifiedBy": null,
"name": "Project Grapefruit - Process Microsoft 365",
"notes": "",
"parameterLock": false,
"percentageComplete": 12.5,
"priority": "MEDIUM",
"remoteWorkersSpec": {
"workerBrokerIp": "192.168.15.254",
"workerBrokerPort": 20871
},
"resourcePoolId": "ae812386-2466-4848-b0ae-ac00375ff4fd",
"resourcePoolName": "Pool A",
"resubmittedDate": 1624271398521,
"runningOperationId": 0,
"savedState": null,
"scheduleId": null,
"serverId": "665bda34-e34a-4fc8-8fb8-2a8bf6e4277c",
"serverName": "S1",
"sessionParameters": [
{
"description": "",
"friendlyName": "Ms Graph Tenant ID",
"max": null,
"min": null,
"name": "{ms_graph_tenant_id}",
"regex": "",
"sensitive": false,
"type": "TEXT",
"value": "ff8e7829-9b41-418d-9018-dd7e864507b2"
},
{
"description": "",
"friendlyName": "Ms Graph Client ID",
"max": null,
"min": null,
"name": "{ms_graph_client_id}",
"regex": "",
"sensitive": false,
"type": "TEXT",
"value": "35eded2a-17f1-4550-ac9d-e15be7de9229"
},
{
"description": "",
"friendlyName": "Ms Graph Start Date",
"max": null,
"min": null,
"name": "{ms_graph_start_datetime}",
"regex": "",
"sensitive": false,
"type": "DATE_TIME",
"value": "20210101T000000"
},
{
"description": "",
"friendlyName": "Ms Graph End Date",
"max": null,
"min": null,
"name": "{ms_graph_end_datetime}",
"regex": "",
"sensitive": false,
"type": "DATE_TIME",
"value": "20211231T235959"
},
{
"description": "",
"friendlyName": "Ms Graph Retrievals",
"max": null,
"min": null,
"name": "{ms_graph_retrievals}",
"regex": "TEAMS_CHANNELS, USERS_CHATS|USERS_EMAILS|SHAREPOINT|TEAMS_CHANNELS, TEAMS_CALENDARS, USERS_CHATS, USERS_CONTACTS, USERS_CALENDARS, USERS_EMAILS, ORG_CONTACTS, SHAREPOINT ",
"sensitive": false,
"type": "TEXT",
"value": "USERS_EMAILS"
},
{
"description": "",
"friendlyName": "Ms Graph Mailbox Retrievals",
"max": null,
"min": null,
"name": "{ms_graph_mailbox_retrievals}",
"regex": "MAILBOX|MAILBOX,ARCHIVE|MAILBOX,ARCHIVE,RECOVERABLE_ITEMS,ARCHIVE_RECOVERABLE_ITEMS|MAILBOX,ARCHIVE,PURGES,DELETIONS,RECOVERABLE_ITEMS,ARCHIVE_PURGES,ARCHIVE_DELETIONS,ARCHIVE_RECOVERABLE_ITEMS,PUBLIC_FOLDERS",
"sensitive": false,
"type": "TEXT",
"value": "MAILBOX"
},
{
"description": "",
"friendlyName": "Ms Graph User Principal Names (optional)",
"max": null,
"min": null,
"name": "{ms_graph_user_principal_names}",
"regex": "",
"sensitive": false,
"type": "TEXT",
"value": ""
}
],
"sessionParametersKeyId": null,
"startedDate": 1624271398735,
"submittedBy": "jsmith",
"submittedDate": 1624271398521,
"userPermissions": [
"MODIFY",
"SUBMIT_JOB",
"DOWNLOAD_LOGS",
"VIEW_NON_RECURSIVE",
"EXCLUDE_METRICS",
"CREATE",
"VIEW_CONFIDENTIAL",
"MODIFY_CHILDREN",
"VIEW"
],
"warnings": [],
"workerAgentIds": [],
"workflowName": null,
"workflowXml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><workflow>....</workflow>\r\n"
}
] |
2 | Query Jobs settings using filter by first setting the filter and then retrieving the results. Â Â | Example request to set the filter: POST http://localhost/api/v1/scheduler/jobs/filter
Authorization: Bearer 265fa20a-ba69-47a0-aab5-034fba50e062:fzMQKFhuOb63ydsOFmJJtExe6mttWFSr
Content-Type: application/json
{"submitters":["jsmith"],"clientIds":[],"matterIds":[],"engineIds":[],"resourcePoolIds":[]} Â Example request to get the result with the set filter
|
3 | Query all Clients. | Example request: Â Example response: Â |
B. Create Objects
1 | Create a new Client. | Example request: Â Example response: |
2 | Submit a Job. Â Â | Example request: Â Example response: Â |
C. Update Objects
1 | Cancel a Job that did not start running. | Example request: Â Example response: |
2 | Stop a Job that is running. | Example request: Â Example response: |
3 | Update a Client. | Example request: Â Example response: |