Chilkat Online Tools

Foxpro / Orchestrator / Robot Service - Get Robot Mappings

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loQueryParams
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJarrResp
LOCAL lnRespStatusCode
LOCAL loJson
LOCAL lcRobotKey
LOCAL lcUser
LOCAL lcMachineName
LOCAL lnMachineId
LOCAL lcRobotName
LOCAL lnRobotType
LOCAL lnHasLicense
LOCAL lnTenantId
LOCAL lnOrganizationUnitId
LOCAL lcExecutionSettings
LOCAL lnId
LOCAL i
LOCAL lnCount_i

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat.Http')

loQueryParams = CreateObject('Chilkat.JsonObject')
loQueryParams.UpdateString("licenseKey","86753095683")
loQueryParams.UpdateString("machineName","TESTLAPTOP")

loHttp.SetRequestHeader("Content-Type","application/json")
* Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"
loHttp.SetRequestHeader("X-UIPATH-OrganizationUnitId","{{folderId}}")
loHttp.SetRequestHeader("X-UIPATH-TenantName","{{tenantName}}")

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpParams("GET","https://domain.com/api/RobotsService/GetRobotMappings",loQueryParams,loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loQueryParams
    RELEASE loResp
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

loJarrResp = CreateObject('Chilkat.JsonArray')
loJarrResp.LoadSb(loSbResponseBody)
loJarrResp.EmitCompact = 0

? "Response Body:"
? loJarrResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loHttp
    RELEASE loQueryParams
    RELEASE loResp
    RELEASE loSbResponseBody
    RELEASE loJarrResp
    CANCEL
ENDIF

* Sample JSON response:
* (Sample code for parsing the JSON response is shown below)

* [
*   {
*     "robotKey": "1234567-abcd-890p-a67b-6d5b987dj",
*     "user": "dean",
*     "machineName": "TESTLAPTOP",
*     "machineId": 20000,
*     "robotName": "joe",
*     "robotType": 3,
*     "hasLicense": false,
*     "tenantId": 1234,
*     "organizationUnitId": 5678,
*     "executionSettings": null,
*     "id": 33445
*   }
* ]

* Sample code for parsing the JSON response...
* Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

loJson = CreateObject('Chilkat.JsonObject')

i = 0
lnCount_i = loJarrResp.Size
DO WHILE i < lnCount_i
    loJarrResp.ObjectAt2(i,loJson)
    lcRobotKey = loJson.StringOf("robotKey")
    lcUser = loJson.StringOf("user")
    lcMachineName = loJson.StringOf("machineName")
    lnMachineId = loJson.IntOf("machineId")
    lcRobotName = loJson.StringOf("robotName")
    lnRobotType = loJson.IntOf("robotType")
    lnHasLicense = loJson.BoolOf("hasLicense")
    lnTenantId = loJson.IntOf("tenantId")
    lnOrganizationUnitId = loJson.IntOf("organizationUnitId")
    lcExecutionSettings = loJson.StringOf("executionSettings")
    lnId = loJson.IntOf("id")
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loQueryParams
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJarrResp
RELEASE loJson

Curl Command

curl -G -d "licenseKey=86753095683"
	-d "machineName=TESTLAPTOP"
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-H "X-UIPATH-TenantName: {{tenantName}}"
	-H "X-UIPATH-OrganizationUnitId: {{folderId}}"
https://domain.com/api/RobotsService/GetRobotMappings

Postman Collection Item JSON

{
  "name": "Robot Service - Get Robot Mappings",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json",
        "type": "text"
      },
      {
        "key": "X-UIPATH-TenantName",
        "value": "{{tenantName}}",
        "type": "text"
      },
      {
        "key": "X-UIPATH-OrganizationUnitId",
        "value": "{{folderId}}",
        "type": "text"
      }
    ],
    "url": {
      "raw": "{{url}}/api/RobotsService/GetRobotMappings?licenseKey=86753095683&machineName=TESTLAPTOP",
      "host": [
        "{{url}}"
      ],
      "path": [
        "api",
        "RobotsService",
        "GetRobotMappings"
      ],
      "query": [
        {
          "key": "licenseKey",
          "value": "86753095683"
        },
        {
          "key": "machineName",
          "value": "TESTLAPTOP"
        }
      ]
    }
  },
  "response": [
    {
      "name": "Robot Service - Get Robot Service Mappings",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{url}}/api/RobotsService/GetRobotMappings?licenseKey=86753095683&machineName=TESTLAPTOP",
          "host": [
            "{{url}}"
          ],
          "path": [
            "api",
            "RobotsService",
            "GetRobotMappings"
          ],
          "query": [
            {
              "key": "licenseKey",
              "value": "86753095683"
            },
            {
              "key": "machineName",
              "value": "TESTLAPTOP"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Mon, 28 Jan 2019 23:05:37 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Content-Length",
          "value": "122"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Cache-Control",
          "value": "no-store, must-revalidate, no-cache, max-age=0"
        },
        {
          "key": "Content-Encoding",
          "value": "gzip"
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        },
        {
          "key": "Set-Cookie",
          "value": "; SameSite=lax"
        },
        {
          "key": "api-supported-versions",
          "value": "7.0"
        },
        {
          "key": "Request-Context",
          "value": "appId=cid-v1:d00ce63d-0891-41e4-a17c-25b2c5382e49"
        },
        {
          "key": "Access-Control-Expose-Headers",
          "value": "Request-Context"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "X-Frame-Options",
          "value": "DENY"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=31536000; includeSubDomains"
        },
        {
          "key": "Expect-CT",
          "value": "max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""
        },
        {
          "key": "Server",
          "value": "cloudflare"
        },
        {
          "key": "CF-RAY",
          "value": "4a071ad5fc4a247a-IAD"
        }
      ],
      "cookie": [
      ],
      "body": "[\n    {\n        \"robotKey\": \"1234567-abcd-890p-a67b-6d5b987dj\",\n        \"user\": \"dean\",\n        \"machineName\": \"TESTLAPTOP\",\n        \"machineId\": 20000,\n        \"robotName\": \"joe\",\n        \"robotType\": 3,\n        \"hasLicense\": false,\n        \"tenantId\": 1234,\n        \"organizationUnitId\": 5678,\n        \"executionSettings\": null,\n        \"id\": 33445\n    }\n]"
    }
  ]
}