Navigating into linked information

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi from external applications > Bizagi API > OData services > Basic concepts > Common lookup services >

Navigating into linked information

Overview

Bizagi features OData services, which handle a comprehensive set of resources, some which allow you to drill down into further detail.

The following section describes how to interpret linked information belonging to a related entity or a collection, so that you may fetch additional detail as needed while ensuring that it is done according to best performance practices.

 

Scope of the resource

The resource to further drill down into linked information is done via an HTTP GET, and it is defined as navigations.

It allows you to obtain details for those attributes which do not return details as first, such as collections, or related entities which are set this way through the OData attributes editor (as described at Setting which business information is returned):

 

OData_navigations9

 

Resource URL

The possibility to drill down into details through the navigations resource is supported for all of these resources:

[your_bizagi_project_url]/odata/data/stuff([ID_stuff])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/stuff([ID_stuff])/values([ID_value])/navigations([ID_navigation]))/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/stuff([ID_stuff])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/searches([ID_search])/results([ID_result])/navigations

[your_bizagi_project_url]/odata/data/searches([ID_search])/results([ID_result])/navigations([ID_navigation])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/searches([ID_search])/results([ID_result])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/processes([ID_process])/cases([ID_case])/navigations

[your_bizagi_project_url]/odata/data/processes([ID_process])/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/processes([ID_process])/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/cases([ID_case])/navigations

[your_bizagi_project_url]/odata/data/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations

[your_bizagi_project_url]/odata/data/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

 

Example

The following image illustrates how you can send an HTTP GET for this resource, by using as an example the following:

[your_bizagi_project_url]/odata/data/processes([ID_process])/cases([ID_case])/navigations

 

Consider:

[ID_process]: Corresponds to the ID of the process as returned when querying [your_bizagi_project_url]/odata/data/processes

[ID_case]: Corresponds to the ID of the case as returned when querying [your_bizagi_project_url]/odata/data/processes([ID_process])/cases

 

Start off by querying such ID of the process:

[your_bizagi_project_url]/odata/data/processes

 

OData_navigations5

 

For the example above, consider using navigations for the Triage process having an ID = 6d5e481e-baf5-47da-9e8a-4f984f3e2ed8 :

[your_bizagi_project_url]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)

Within the detail queried below, notice that both the Patient_Triageresults and SelectedHospital information are of the type Link, and this means that these are related attributes using a linked reference.

 

OData_navigations4

 

Therefore, whenever querying cases for this process, we will know that detailed information regarding the patient's triage results or the selected hospital, would be available through an additional invocation by means of the navigations resource.

Taking as an example, the case with ID = 352, then we obtain all information for that case, except those which we know are of the type Link and need further navigation (those not shown above):

[your_bizagi_project_url]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)/cases(352)

 

OData_navigations8

 

 

To confirm which are those attributes which need further navigation, then using

[your_bizagi_project_url]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)/cases(352)/navigations displays those 2 attributes (Patient_Triageresults and SelectedHospital).

Such invocation displays the ID of the navigation information we may drill down into.

In this example, browsing for SelectedHospital information means using the c41d7f0f-2372-41e1-9cc1-da440e201817 ID:

 

OData_navigations6

 

Obtaining the final values is then simply done by invoking

[your_bizagi_project_url]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)/cases(352)/navigations(c41d7f0f-2372-41e1-9cc1-da440e201817)/values:

 

OData_navigations7