Skip to content

Other platforms via API

BotCity Insights also offers the possibility to integrate Orchestrator data with other platforms via API.

The data that can be consumed via API is the data available in the Reports section of BotCity Insights.

API Reference

In many cases, your RPA initiative may involve other data platforms, whether custom applications developed by your company or provided by third parties.

By using the BotCity Insights API, you will be able to consume the data and information reported by automation processes, allowing you to integrate and display operation data in any dashboard visualization tool.

Getting started?

Take a look at the full API reference.

Looking for more examples?

Check out the section with practical examples using Power BI.

BASE URL
https://developers.botcity.dev

Authentication

The first step to using the BotCity Insights API is authentication.

The BotCity Insights API uses an authentication token that is sent in the header of all requests.

To obtain the authentication token, simply make a request to the login route, passing the login and key information in the request body.

Tip

The login and key information can be obtained on the Developer Environment page of your workspace in the Orchestrator.

Example

POST /api/v2/workspace/login

curl --location 'https://developers.botcity.dev/api/v2/workspace/login' \
--header 'Content-Type: application/json' \
--data '{
    "login": "<WORKSPACE_LOGIN>",
    "key": "<WORKSPACE_KEY>"
}'
Response
{
    "accessToken": "<YOUR_ACCESS_TOKEN>",
    "organizationLabel": "<YOUR_ORGANIZATION_LABEL>"
}

After completing the authentication step to obtain the access token, you can now use it in subsequent requests to consume the API data.

Below are some practical examples of how to use the BotCity Insights API to consume report data.

Tasks

The BotCity Insights API has a route to consume data related to tasks that have been executed in the Orchestrator.

Simply make a request to the tasks route, passing the token and organization information in the header, obtained earlier.

Parameters:

Name Description
page integer (optional)
Page number to search. Default value: 0
days integer (optional)
Days filter to search. Default value: 30

Example

GET /api/v1/insights/tasks

curl --location 'https://developers.botcity.dev/api/v1/insights/tasks?page=0&days=30' \
--header 'token: <YOUR_ACCESS_TOKEN>' \
--header 'organization: <YOUR_ORGANIZATION_LABEL>'
Response
{
    "content": [
        {
            "id": 17296058,
            "state": "START",
            "finishStatus": null,
            "activityLabel": "supplierHomologation",
            "repositoryLabel": "DEFAULT",
            "machineId": null,
            "dateLastModified": null,
            "dateCreation": "2024-02-09T20:02:40.032+00:00",
            "dateStartRunning": null,
            "processedItems": 0,
            "failedItems": 0,
            "totalItems": 0
        },
        ...
    ],
    "number": 0,
    "size": 20,
    "totalElements": 1,
    "pageable": {
        "pageNumber": 0,
        "pageSize": 20,
        "sort": {
            "sorted": false,
            "empty": true,
            "unsorted": true
        },
        "offset": 0,
        "paged": true,
        "unpaged": false
    },
    "last": false,
    "totalPages": 1,
    "sort": {
        "sorted": false,
        "empty": true,
        "unsorted": true
    },
    "first": true,
    "numberOfElements": 20,
    "empty": false
}

Automations

The BotCity Insights API has a route to consume data related to existing automations in the Orchestrator.

Simply make a request to the automations route, passing the token and organization information in the header, obtained earlier.

Parameters:

Name Description
page integer (optional)
Page number to search. Default value: 0
sort string,string (optional)
Sorting of results. Default value: label,asc.
Field options: label, date, repositoryLabel, taskCount, sumItems, sumItemsError.
Order options: asc, desc.
automation string (optional)
Automation label to search
filterBy integer (optional)
Days filter to search. Default value: 30

Example

GET /api/v1/insights/automation

curl --location 'https://developers.botcity.dev/api/v1/insights/automation?page=0&sort=label,asc&filterBy=30' \
--header 'token: <YOUR_ACCESS_TOKEN>' \
--header 'organization: <YOUR_ORGANIZATION_LABEL>'
Response
{
    "content": [
        {
            "label": "supplierHomologation",
            "name": "Supplier Homologation",
            "machineId": null,
            "description": "Supplier Homologation Automation for SAP",
            "organizationLabel": "demo",
            "repositoryLabel": "DEFAULT",
            "date": "2024-02-23T23:00:02.513",
            "taskCount": 0,
            "sumItems": 0.0,
            "sumItemsError": 0.0,
            "sumItemsProcessed": 0.0,
            "uptimeRate": 0.0,
            "downtimeRate": 0.0,
            "successRate": 0.0,
            "roi": 0.0,
            "fte": 0.0,
            "savings": 0.0
        },
        ...
    ],
    "pageable": {
        "pageNumber": 0,
        "pageSize": 20,
        "sort": {
            "sorted": false,
            "empty": true,
            "unsorted": true
        },
        "offset": 0,
        "paged": true,
        "unpaged": false
    },
    "totalPages": 1,
    "totalElements": 1,
    "last": true,
    "size": 20,
    "number": 0,
    "sort": {
        "sorted": false,
        "empty": true,
        "unsorted": true
    },
    "numberOfElements": 20,
    "first": true,
    "empty": false
}

Runners

The BotCity Insights API has a route to consume data related to existing Runners in the Orchestrator.

Simply make a request to the runners route, passing the token and organization information in the header, obtained earlier.

Parameters:

Name Description
sort string,string (optional)
Sorting of results. Default value: tasks,desc.
Field options: _id, tasks, items, itemsErrorCount, utilizationRate.
Order options: asc, desc.
runner string (optional)
Runner identifier to search
filterBy integer (optional)
Days filter to search. Default value: 30

Example

GET /api/v1/insights/runners

curl --location 'https://developers.botcity.dev/api/v1/insights/runners?sort=tasks,desc&filterBy=30' \
--header 'token: <YOUR_ACCESS_TOKEN>' \
--header 'organization: <YOUR_ORGANIZATION_LABEL>'
Response
[
    {
        "id": "vm01",
        "idMachine": "vm01",
        "log": "teste",
        "remoteAccess": "",
        "status": "created",
        "name": "vm01",
        "organization": "demo",
        "automations": [
            "supplierHomologation",
            ...
        ],
        "tasks": 0,
        "items": 0,
        "itemsErrorCount": 0,
        "utilizationRate": 0
    },
    ...
]