Chilkat Online Tools

Foxpro / Creatio API / Get an object collection instance by Id of another object collection instance

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcOdata_context
LOCAL lcId
LOCAL lcName
LOCAL lcOwnerId
LOCAL lcCreatedOn
LOCAL lcCreatedById
LOCAL lcModifiedOn
LOCAL lcModifiedById
LOCAL lnProcessListeners
LOCAL lcOwnershipId
LOCAL lcPrimaryContactId
LOCAL lcParentId
LOCAL lcIndustryId
LOCAL lcCode
LOCAL lcTypeId
LOCAL lcPhone
LOCAL lcAdditionalPhone
LOCAL lcFax
LOCAL lcWeb
LOCAL lcAddressTypeId
LOCAL lcAddress
LOCAL lcCityId
LOCAL lcRegionId
LOCAL lcV_Zip
LOCAL lcCountryId
LOCAL lcAccountCategoryId
LOCAL lcEmployeesNumberId
LOCAL lcAnnualRevenueId
LOCAL lcNotes
LOCAL lcAlternativeName
LOCAL lcGPSN
LOCAL lcGPSE
LOCAL lnCompleteness
LOCAL lcPriceListId
LOCAL lcAccountLogoId

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

loHttp = CreateObject('Chilkat_9_5_0.Http')

loHttp.SetRequestHeader("ForceUseSession","true")
loHttp.SetRequestHeader("BPMCSRF","{{BPMCSRF}}")

loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loHttp.QuickGetSb("https://myserver.com/0/odata/Collection1(Id)/Collection2",loSbResponseBody)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loSbResponseBody
    CANCEL
ENDIF

loJResp = CreateObject('Chilkat_9_5_0.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

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

lnRespStatusCode = loHttp.LastStatus
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loHttp.LastHeader
    ? "Failed."
    RELEASE loHttp
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

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

* {
*   "@odata.context": "https://myserver.com/0/odata/$metadata#Account/$entity",
*   "Id": "a0bf3e92-f36b-1410-0499-00155d043204",
*   "Name": "XT Group",
*   "OwnerId": "cad50d15-f28d-49fc-aa79-21615ac35b86",
*   "CreatedOn": "2020-01-27T08:00:14Z",
*   "CreatedById": "76929f8c-7e15-4c64-bdb0-adc62d383727",
*   "ModifiedOn": "2020-01-10T10:12:35Z",
*   "ModifiedById": "76929f8c-7e15-4c64-bdb0-adc62d383727",
*   "ProcessListeners": 0,
*   "OwnershipId": "e0ae3e02-f46b-1410-fb98-00155d043204",
*   "PrimaryContactId": "017df77c-b01c-4554-b7eb-760ac91cd0d7",
*   "ParentId": null,
*   "IndustryId": "bd7f1e4a-f36b-1410-c493-00155d043205",
*   "Code": "60",
*   "TypeId": "03a75490-53e6-df11-971b-001d60e938c6",
*   "Phone": "+1 212 753 2819",
*   "AdditionalPhone": "+1 212 753 2845",
*   "Fax": "",
*   "Web": "www.xtg.com",
*   "AddressTypeId": "780bf68c-4b6e-df11-b988-001d60e938c6",
*   "Address": "17 Road Street",
*   "CityId": "c0af42ea-f36b-1410-0299-00155d043204",
*   "RegionId": "00b03270-f36b-1410-fd98-00155d043204",
*   "Zip": "10351",
*   "CountryId": "e0be1264-f36b-1410-fa98-00155d043204",
*   "AccountCategoryId": "37ea507c-55e6-df11-971b-001d60e938c6",
*   "EmployeesNumberId": "2c344115-55e6-df11-971b-001d60e938c6",
*   "AnnualRevenueId": "498aceb9-55e6-df11-971b-001d60e938c6",
*   "Notes": "",
*   "AlternativeName": "",
*   "GPSN": "42.6558932018082",
*   "GPSE": "-73.7562183364144",
*   "Completeness": 100,
*   "PriceListId": null,
*   "AccountLogoId": "69517c67-e5de-47db-ae50-df69447a12cf"
* }

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

lcOdata_context = loJResp.StringOf('"@odata.context"')
lcId = loJResp.StringOf("Id")
lcName = loJResp.StringOf("Name")
lcOwnerId = loJResp.StringOf("OwnerId")
lcCreatedOn = loJResp.StringOf("CreatedOn")
lcCreatedById = loJResp.StringOf("CreatedById")
lcModifiedOn = loJResp.StringOf("ModifiedOn")
lcModifiedById = loJResp.StringOf("ModifiedById")
lnProcessListeners = loJResp.IntOf("ProcessListeners")
lcOwnershipId = loJResp.StringOf("OwnershipId")
lcPrimaryContactId = loJResp.StringOf("PrimaryContactId")
lcParentId = loJResp.StringOf("ParentId")
lcIndustryId = loJResp.StringOf("IndustryId")
lcCode = loJResp.StringOf("Code")
lcTypeId = loJResp.StringOf("TypeId")
lcPhone = loJResp.StringOf("Phone")
lcAdditionalPhone = loJResp.StringOf("AdditionalPhone")
lcFax = loJResp.StringOf("Fax")
lcWeb = loJResp.StringOf("Web")
lcAddressTypeId = loJResp.StringOf("AddressTypeId")
lcAddress = loJResp.StringOf("Address")
lcCityId = loJResp.StringOf("CityId")
lcRegionId = loJResp.StringOf("RegionId")
lcV_Zip = loJResp.StringOf("Zip")
lcCountryId = loJResp.StringOf("CountryId")
lcAccountCategoryId = loJResp.StringOf("AccountCategoryId")
lcEmployeesNumberId = loJResp.StringOf("EmployeesNumberId")
lcAnnualRevenueId = loJResp.StringOf("AnnualRevenueId")
lcNotes = loJResp.StringOf("Notes")
lcAlternativeName = loJResp.StringOf("AlternativeName")
lcGPSN = loJResp.StringOf("GPSN")
lcGPSE = loJResp.StringOf("GPSE")
lnCompleteness = loJResp.IntOf("Completeness")
lcPriceListId = loJResp.StringOf("PriceListId")
lcAccountLogoId = loJResp.StringOf("AccountLogoId")

RELEASE loHttp
RELEASE loSbResponseBody
RELEASE loJResp

Curl Command

curl -X GET
	-H "ForceUseSession: true"
	-H "BPMCSRF: {{BPMCSRF}}"
https://myserver.com/0/odata/Collection1(Id)/Collection2

Postman Collection Item JSON

{
  "name": "Get an object collection instance by Id of another object collection instance",
  "protocolProfileBehavior": {
    "disableBodyPruning": true
  },
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "ForceUseSession",
        "type": "text",
        "value": "true"
      },
      {
        "key": "BPMCSRF",
        "type": "text",
        "value": "{{BPMCSRF}}"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": ""
    },
    "url": {
      "raw": "{{BaseURI}}/0/odata/{{CollectionName1}}({{ObjectId1}})/{{CollectionName2}}",
      "host": [
        "{{BaseURI}}"
      ],
      "path": [
        "0",
        "odata",
        "{{CollectionName1}}({{ObjectId1}})",
        "{{CollectionName2}}"
      ]
    },
    "description": "Request for getting an instance of a collection of objects by Id of an instance in another collection."
  },
  "response": [
    {
      "name": "[200] Gets an instance of a collection of objects by Id of an instance in another collection of objects",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "type": "text",
            "value": "application/json"
          },
          {
            "key": "Content-Type",
            "type": "text",
            "value": "application/json; charset=utf-8"
          },
          {
            "key": "ForceUseSession",
            "type": "text",
            "value": "true"
          },
          {
            "key": "BPMCSRF",
            "type": "text",
            "value": "{{BPMCSRF}}"
          }
        ],
        "url": {
          "raw": "https://myserver.com/0/odata/Employee(c31c7862-fe33-4a13-9bbc-0943fa08fd02)/Account",
          "protocol": "https",
          "host": [
            "myserver",
            "com"
          ],
          "path": [
            "0",
            "odata",
            "Employee(c31c7862-fe33-4a13-9bbc-0943fa08fd02)",
            "Account"
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Cache-Control",
          "value": "no-cache"
        },
        {
          "key": "Pragma",
          "value": "no-cache"
        },
        {
          "key": "Content-Type",
          "value": "application/json; odata.metadata=minimal"
        },
        {
          "key": "Expires",
          "value": "-1"
        },
        {
          "key": "Server",
          "value": "Microsoft-IIS/10.0"
        },
        {
          "key": "OData-Version",
          "value": "4.0"
        },
        {
          "key": "X-AspNet-Version",
          "value": "4.0.30319"
        },
        {
          "key": "X-Powered-By",
          "value": "ASP.NET"
        },
        {
          "key": "X-Frame-Options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "Date",
          "value": "Wed, 26 Feb 2020 14:50:30 GMT"
        },
        {
          "key": "Content-Length",
          "value": "1312"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"@odata.context\": \"https://myserver.com/0/odata/$metadata#Account/$entity\",\n    \"Id\": \"a0bf3e92-f36b-1410-0499-00155d043204\",\n    \"Name\": \"XT Group\",\n    \"OwnerId\": \"cad50d15-f28d-49fc-aa79-21615ac35b86\",\n    \"CreatedOn\": \"2020-01-27T08:00:14Z\",\n    \"CreatedById\": \"76929f8c-7e15-4c64-bdb0-adc62d383727\",\n    \"ModifiedOn\": \"2020-01-10T10:12:35Z\",\n    \"ModifiedById\": \"76929f8c-7e15-4c64-bdb0-adc62d383727\",\n    \"ProcessListeners\": 0,\n    \"OwnershipId\": \"e0ae3e02-f46b-1410-fb98-00155d043204\",\n    \"PrimaryContactId\": \"017df77c-b01c-4554-b7eb-760ac91cd0d7\",\n    \"ParentId\": null,\n    \"IndustryId\": \"bd7f1e4a-f36b-1410-c493-00155d043205\",\n    \"Code\": \"60\",\n    \"TypeId\": \"03a75490-53e6-df11-971b-001d60e938c6\",\n    \"Phone\": \"+1 212 753 2819\",\n    \"AdditionalPhone\": \"+1 212 753 2845\",\n    \"Fax\": \"\",\n    \"Web\": \"www.xtg.com\",\n    \"AddressTypeId\": \"780bf68c-4b6e-df11-b988-001d60e938c6\",\n    \"Address\": \"17 Road Street\",\n    \"CityId\": \"c0af42ea-f36b-1410-0299-00155d043204\",\n    \"RegionId\": \"00b03270-f36b-1410-fd98-00155d043204\",\n    \"Zip\": \"10351\",\n    \"CountryId\": \"e0be1264-f36b-1410-fa98-00155d043204\",\n    \"AccountCategoryId\": \"37ea507c-55e6-df11-971b-001d60e938c6\",\n    \"EmployeesNumberId\": \"2c344115-55e6-df11-971b-001d60e938c6\",\n    \"AnnualRevenueId\": \"498aceb9-55e6-df11-971b-001d60e938c6\",\n    \"Notes\": \"\",\n    \"AlternativeName\": \"\",\n    \"GPSN\": \"42.6558932018082\",\n    \"GPSE\": \"-73.7562183364144\",\n    \"Completeness\": 100,\n    \"PriceListId\": null,\n    \"AccountLogoId\": \"69517c67-e5de-47db-ae50-df69447a12cf\"\n}"
    }
  ]
}