0% found this document useful (0 votes)
5 views

Manual _ Shiftconnector API-v73

The document is a technical manual for the Shiftconnector API, aimed at architects, system designers, and software developers. It covers authentication, authorization, and various API endpoints for data operations including creating, updating, and retrieving events and tasks. The manual also includes examples and details on data field mapping and configuration settings for integration with external systems.

Uploaded by

Sahin Hatun
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Manual _ Shiftconnector API-v73

The document is a technical manual for the Shiftconnector API, aimed at architects, system designers, and software developers. It covers authentication, authorization, and various API endpoints for data operations including creating, updating, and retrieving events and tasks. The manual also includes examples and details on data field mapping and configuration settings for integration with external systems.

Uploaded by

Sahin Hatun
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 95

Manual | Shiftconnector API

Exported on May 09, 2023

Status: n/a

Confidentiality: PROTECTED

eschbach GmbH • Schaffhauser Str. 97 • 79713 Bad Säckingen • Germany


Phone +49 (0)7761 55959-0 • Fax +49 (0)7761 55 959-29 • [email protected] • www.eschbach.com
Trade Register Freiburg, HRB 621631 • VAT ID: DE814509205 • Managing Director: Andreas Eschbach Page 1 of 95
All information in this document is provided in confidence and shall not be published or disclosed, wholly or
in part to any other party without eschbach’s written permission.

Microsoft ASP.NET, SQL Server, C# and Windows are registered trademarks of Microsoft Corporation. All
other trademarks used herein are the property of their respective owners.

Shiftconnector® is a registered trademark.

The recipient, by accepting this document agrees that neither this document nor the information disclosed
herein nor any item thereof shall be reproduced or transferred to other documents or used or disclosed to
others for manufacturing or for any other purpose except as specifically authorized in writing by eschbach.

All the information in this document is based on current knowledge and understanding and is hence subject
to change without notice. Nothing in this documentation is or shall be construed as a warranty of fitness for
a particular purpose or a warranty of merchantability. It is customer’s sole responsibility to determine
whether the Eschbach software and services will be appropriate for customer’s purposes.

This document supersedes any previously released revisions.

Manual | Shiftconnector API | v73 Page 2 of 95


Table of Contents

1 Overview ........................................................................................................ 8
1.1 Target Audience of this document .................................................................................. 8
2 Authentication and Authorization ................................................................ 9
2.1 Specific Web API user ...................................................................................................... 9
2.2 Login and Logout ............................................................................................................ 10
2.2.1 Session expiration ....................................................................................................................................... 10
2.3 Authorization................................................................................................................... 10
2.4 Tenant change is not supported .................................................................................... 10
3 Shiftconnector® API Overview .................................................................. 11
3.1 General............................................................................................................................. 11
3.1.1 Communication settings ............................................................................................................................. 11
3.1.2 Request processing ..................................................................................................................................... 11
3.1.3 Time zones ................................................................................................................................................... 11
3.2 Structure of the Web API ................................................................................................ 11
3.2.1 Versioning .................................................................................................................................................... 13

4 Examples ..................................................................................................... 14
4.1 Login examples ............................................................................................................... 14
4.1.1 Cookie authentication example .................................................................................................................. 14
userCredentials ............................................................................................................................................ 14
String, authentication token ........................................................................................................................ 15
4.1.2 Basic authentication example..................................................................................................................... 15
Header example ........................................................................................................................................... 15
4.2 Create Event example..................................................................................................... 15
4.2.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo ......................................... 16
4.2.2 String, Entry Item GUID ................................................................................................................................ 16
4.3 Update Event example.................................................................................................... 17
4.3.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo ......................................... 17
4.3.2 String, Entry Item GUID ................................................................................................................................ 18

Manual | Shiftconnector API | v73 Page 3 of 95


4.4 Advanced Event creation example ................................................................................ 18
4.4.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo ......................................... 18
4.4.2 String, Entry Item GUID ................................................................................................................................ 21
4.5 Create Task example ...................................................................................................... 21
4.5.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo ......................................... 24
4.5.2 String, Entry Item GUID ................................................................................................................................ 25
4.6 Get EntryItem example ................................................................................................... 26
4.6.1 Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo ........................................................................ 27
4.7 Get EntryItems by filter example.................................................................................... 32
4.7.1 Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequestVo................................................ 33
4.7.2 Array of Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo .......................................................... 34
4.8 Get Tasks with assigned persons.................................................................................. 36
4.8.1 Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequestVo................................................ 37
4.8.2 Array of Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo .......................................................... 38
4.9 List end point example ................................................................................................... 49
4.9.1 Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo ........................................................................ 52
4.10 Import of functional locations from an external format............................................... 54
4.10.1 Eschbach.Interface.Vos.FunctionalLocation.V1.ExternalFunctionalLocationImportDetailVo ............... 56
4.11 Open End Event creation ................................................................................................ 56
4.12 Create and Update Workflow Records .......................................................................... 58
4.12.1 Update .......................................................................................................................................................... 58
4.12.2 Creation ........................................................................................................................................................ 59

5 Data Field Mapping..................................................................................... 61


5.1 General assumptions...................................................................................................... 61
5.2 Event import into Shiftconnector® ................................................................................ 64
5.2.1 JSON Payload .............................................................................................................................................. 64
5.2.2 Eschbach.Interface.Vos.EntryItem.V1.DataFieldMappingEventsResponseVo ....................................... 65
5.3 Mapping of fields between the external system and Shiftconnector®....................... 66
5.4 Event Export from Shiftconnector®............................................................................... 67
5.4.1 JSON Payload .............................................................................................................................................. 67
5.4.2 JSON Payload .............................................................................................................................................. 68
5.4.3 JSON Payload .............................................................................................................................................. 68

Manual | Shiftconnector API | v73 Page 4 of 95


5.5 Configuration of the Data Field Mapping ...................................................................... 68
5.5.1 Type Mapping............................................................................................................................................... 69
5.5.2 Field Mapping............................................................................................................................................... 74

6 Appendix...................................................................................................... 77
6.1 Detailed information about Generic Report Fields........................................................ 77
6.1.1 Filter Combination ....................................................................................................................................... 77
6.1.2 Possible Filter:.............................................................................................................................................. 78

Manual | Shiftconnector API | v73 Page 5 of 95


Valid from version Document ID Internal Status Version Confidentiality

5.x.x 1253970 APPROVED 73 PROTECTED

• Overview
• Target Audience of this document
• Authentication and Authorization
• Specific Web API user
• Login and Logout
• Session expiration
• Authorization
• Tenant change is not supported
• Shiftconnector® API Overview
• General
• Communication settings
• Request processing
• Time zones
• Structure of the Web API
• Versioning
• Examples
• Login examples
• Cookie authentication example
• userCredentials
• String, authentication token
• Basic authentication example
• Header example
• Create Event example
• Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo
• String, Entry Item GUID
• Update Event example
• Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo
• String, Entry Item GUID
• Advanced Event creation example
• Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo
• String, Entry Item GUID
• Create Task example
• Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemRequestVo
• String, Entry Item GUID

Manual | Shiftconnector API | v73 Page 6 of 95


• Get EntryItem example
• Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo
• Get EntryItems by filter example
• Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequestVo
• Array of Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo
• Get Tasks with assigned persons
• Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequestVo
• Array of Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo
• List end point example
• Example
• Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo
• Import of functional locations from an external format
• Eschbach.Interface.Vos.FunctionalLocation.V1.ExternalFunctionalLocationImportDetail
Vo
• Open End Event creation
• Create and Update Workflow Records
• Update
• Creation
• Data Field Mapping
• General assumptions
• Event import into Shiftconnector®
• JSON Payload
• Eschbach.Interface.Vos.EntryItem.V1.DataFieldMappingEventsResponseVo
• Mapping of fields between the external system and Shiftconnector®
• Event Export from Shiftconnector®
• JSON Payload
• JSON Payload
• JSON Payload
• Configuration of the Data Field Mapping
• Type Mapping
• Field Mapping
• Appendix
• Detailed information about Generic Report Fields
• Filter Combination
• Possible Filter:

Getting started with the Shiftconnector® API

Manual | Shiftconnector API | v73 Page 7 of 95


1 Overview
In a large-scale enterprise, data is often stored in separate systems. The date is specific to its intended
business-cases, processes, and departments producing the information.

But this data is required by other systems within the organization as well, and an integration of the data into
other units within the enterprise is needed.

This integration will be achieved with the implementation of Web API to Shiftconnector®. Different
Shiftconnector® systems can deliver data through a defined set of endpoints and methods to read, update
and delete operations.

1.1 Target Audience of this document


This document is the technical manual of the Web API of Shiftconnector®.

It is targeted to architects, system designers, and software developers who need to access data in
Shiftconnector®.

The document describes

• Authentication
• End points
• Data operations

Manual | Shiftconnector API | v73 Page 8 of 95


2 Authentication and Authorization
2.1 Specific Web API user
The Shiftconnector® API can only be accessed by a specific Web API user.

This Web API user must be created in Shiftconnector® by a user with administrator permissions.

To set up the Web API user, the following information must be set:

• Username
• Password
• Tenant
• Authentication Type: ServiceUser
• Special permission: BR_ShiftconnectorApi

 Access with a person’s Shiftconnector® account is not possible.

When setting up the Web API user, it is necessary to define the tenant in the Default start settings. The
illustration below shows the setup of the default tenant.

Manual | Shiftconnector API | v73 Page 9 of 95


2.2 Login and Logout
It is required that the Web API User logs in and authenticates to the Web API to access the data.

After successful login, the Web API User is provided with a session-cookie and a token, both of which need to
be presented with every sub-sequent Web API call.

Shiftconnector® API supports two authentication methods:

• Cookie based authentication


• Basic authentication

Both authentication methods are explained below in the example section.

2.2.1 Session expiration


Should the Web API not be used for a certain period, the session expires. The duration of the session can be
defined in the configuration settings of Shiftconnector® on the web server. The default setting is ten
minutes.

After the successful login, every sub-sequent call to the Web API that requires authentication restarts the
session timeout.

The Web API has a function to verify if the session is still valid. In case it has expired, the Web API User must
log in again for further requests.

A current session should be terminated if not needed by pressing the logout button.

2.3 Authorization
All API endpoints are secured by actions-permissions. When defining the Web API User, the administrator
must set up required permissions accordingly.

2.4 Tenant change is not supported


There is no method to change the tenant of the Web API User. The Web API User is connected to the tenant.

Access to different tenants is only possible by logout and new login as a different Web API User.

Manual | Shiftconnector API | v73 Page 10 of 95


3 Shiftconnector® API Overview
3.1 General

3.1.1 Communication settings


The Shiftconnector® API is a Web API, and it uses the following communication settings:

• Protocol: https.
• Mime media type: application/json.
• Default encoding: UTF-8.
• Http methods must be set correctly when performing the requests.
• Authentication takes place with cookie and token.

3.1.2 Request processing


All requests are processed synchronously. The response to the request appears immediately.

3.1.3 Time zones


The date/time fields contain the information in UTC when received from the API and everything send to the
API may vary as long as it is in a ISO 8601 format

3.2 Structure of the Web API


The root path to the Shiftconnector® API is as follows:

https://host.company.org/shiftconnector/moduleApi/ShiftconnectorApi/

The host name needs to be adapted to the actual host of the installation of Shiftconnector®.

Under this root, there are branches for the following items:

Manual | Shiftconnector API | v73 Page 11 of 95


Branch Application

Authenti These methods establish and terminate a session for a Web API User.
cation/
V2

Asset/ Assets contain the business data of the application, containing EntryItems like Events, Task
V2 and Directives, but also Plant Status and Functional Locations.

Asset methods provide methods for reading, creating and updating.

Report/ General reporting methods, for example exports of EntryItems based on assigned export
V2 template, exports of lists, etc.

Configur Methods to request information concerning the configuration, for example about shiftbooks,
ation/V2 categories, etc.

Connecti This branch contains a number of endpoints to check if the Web API can be reached.
on/V2

Lock/V2 The lock method is used to check the lock status of an EntryItem.

DataFiel Data field mapping, used to map data between Shiftconnector® and external data providers
dMappin
g/V2

 The full Web API documentation in the Open API Format is a part of the Shiftconnector® API
module and can be obtained from the eschbach support team.

Manual | Shiftconnector API | v73 Page 12 of 95


3.2.1 Versioning
The Shiftconnector® API supports currently two versions, which can be accessed by changing the path from
"../V2/.." to "../V1/.."

This is also possible via the direct link in the swagger documentation.

Differences between these versions:

• V1
• This version uses an old date time format with a custom prefix and a time zone of the current
logged in tenant.
• V2
• This version uses the ISO 8601 format for date times.
All date times sent to the API (Request) can be in any time zone as long as they follow the ISO
format.
All date times received from the API (Response) will be in the ISO format and UTC.

Manual | Shiftconnector API | v73 Page 13 of 95


4 Examples
Categories and Shiftbooks

In the examples below, the operations take place in a defined category and shiftbook. For these two entities,
the GUIDs can be queried with the Configuration Web API requests.

The parameter of these requests is the tenant GUID which needs to be taken from the configuration of
Shiftconnector®.

For customer installations, these values are provided during the configuration phase of the shiftbooks and
the categories. If these values are not available, they can be requested at eschbach support.

URL of the Web API endpoints

For clarity, in the examples below, only the branch of the URL is shown. The full URL must be combined with
the root and the branch into one long URL, as illustrated by the following example of the login web method:

Branch of URL: Authentication/V2/Login

Full URL: https://host.company.org/shiftconnector/moduleApi/ShiftconnectorApi/Authentication/V2/Login

4.1 Login examples

4.1.1 Cookie authentication example


The login example demonstrates how a Web API User authenticates to the Web API.

HTTP Method Branch Request Body

POST Authentication/V2/Login userCredentials

userCredentials

{
"Username": "User1",
"Password": "test"
}

HTTP Response Code Return Value

200 The authentication token (string)

Manual | Shiftconnector API | v73 Page 14 of 95


String, authentication token

4IJNBDIsgKk8yz7e1R8hvTmtNmGZVnS7anu55FwQxl8=

When the authentication was not successful, the http response code contains the error and the return value
is empty.

When the token is received, the token must be added to the header with the name X-XSRF-TOKEN and the
cookie must be added to the request.

4.1.2 Basic authentication example


With basic authentication, the Web API requests need the header.

Basic username:password encoded base64

added to the request.

Username and password, with the colon in between, need to be base64-encoded.

This authentication method is only available for the specific Web API user, and it can only be used to connect
to the Web API. The service user can’t log in to the Shiftconnector® UI.

Header example

Basic VGVzdHVzZXI6MTIzNA==

4.2 Create Event example


In the following example, an event is created. The event contains an attachment. The file is provided as a
base 64 encoded string.

For the creation of the event, the field EntryItemGuid is omitted. The EntryItemGuid is created by the system
and returned in the response.

The illustration below shows the event that will be created in Shiftconnector® when this example is
executed.

Manual | Shiftconnector API | v73 Page 15 of 95


HTTP Method Branch Request Body

PUT Asset/V2/EntryItem Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryIt


emRequestVo

4.2.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemReque
stVo

{
"EntryItemType": "Event",
"ShiftbookGuid": "8141ffa6-df21-4950-97fc-c665a719cb87",
"CategoryGuid": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"StartDateTime": "2020-04-28T20:43:00+01:00",
"EndDateTime": "2020-12-16T11:43:00+01:00",
"AttachmentToUpload": [
{
"FileName": "Test_Text_File.txt",
"FileContent": "dGVzdHRleHQ="
}
],
"BusinessFieldValues": {
"Description": "API test import",
"Batch": "P000112",
"FuncLocs": [
"29749CF2-8BB8-4B07-9D33-A83F89649A5E"
],
"EventStatus": "highPriority"
}
}

HTTP Response Code Return Value

200 The GUID of the created entry item (string)

4.2.2 String, Entry Item GUID

a0ada7e3-700e-49bd-a025-248e4867ae2c

Manual | Shiftconnector API | v73 Page 16 of 95


4.3 Update Event example
The following example updates the event which was created above.

The return value of the creation provided the GUID is now used in the update request. The request will
change the information in the fields Description and Batch.

The illustration below shows the event in Shiftconnector® when the update request was called.

HTTP Method Branch Request Body

PUT Asset/V2/EntryItem Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryIt


emRequestVo

4.3.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemReque
stVo

{
"EntryItemGuid": "a0ada7e3-700e-49bd-a025-248e4867ae2c",
"EntryItemType": "Event",
"ShiftbookGuid": "8141ffa6-df21-4950-97fc-c665a719cb87 ",
"CategoryGuid": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"BusinessFieldValues": {
"Description": "Update. Batch changed.",
"Batch": "U0007",
}
}

HTTP Response Code Return Value

200 The GUID of the updated entry item (string)

Manual | Shiftconnector API | v73 Page 17 of 95


4.3.2 String, Entry Item GUID

a0ada7e3-700e-49bd-a025-248e4867ae2c

4.4 Advanced Event creation example


This example demonstrates how to create an event with a more complex structure. The illustration shows
the fields in the form of Shiftconnector®.

The fields are numbered to aid this example. Note that in field 9, TestTree, two items are selected. The data
source, for this example, allows the selection of up to three items.

In the JSON example, the FOOD_TestTree field contains the array of the two selected items.

The JSON string and the fields are illustrated below:

4.4.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemReque
stVo

Manual | Shiftconnector API | v73 Page 18 of 95


"EntryItemType": "Event",
"ShiftbookGuid": "3b37b02c-356a-40c1-8491-830c44d22abc",
"CategoryGuid": "d9c538c6-27e6-4f35-8a61-60a548dedd98",
"StartDateTime": "2020-07-10T11:30:43.300+01:00",
"AttachmentLinks": [
"https://www.google.com"
],
"AttachmentToUpload": [
{
"FileName": "test.txt",
"FileContent": "dGVzdA=="
}
],
"DateBusinessFields": {
"FOOD_DATE": {
"StartDateTime": "2021-07-10T00:00:00.000+01:00"
},
"FOOD_DATETime": {
"StartDateTime": "2022-07-10T11:30:43.000+01:00"
}
},
"BusinessFieldValues": {
"FOOD_BOOL": true,
"FOOD_TestTree": [
"Test1",
"Test2"
],
"Description": "Test",
"FOOD_STRING": "Test2",
"Batch": "1234",
"FuncLocs": [
"f726a7c0-e7b7-4b3a-a171-e29d698fb29a"
],
"FOOD_DECIMAL": "1.2",
"FOOD_INTEGER": "55"
}
}

Manual | Shiftconnector API | v73 Page 19 of 95


The table below shows a description of the fields of the event.

L Description
i
n
e

3 The GUID of the Shiftbook. This value can be retrieved by the configuration endpoint
“/Configuration/V2/Shiftbooks”

4 The GUID of the Category. This value can be retrieved by the configuration endpoint
“/Configuration/V2/Categories”

5 The start date time

6 The attachment links that will be added to the attachment field.

9 The attachments that will be uploaded and added to the attachment field. The attachments are
base64 encoded strings.

1 A date field
6

1 A date time field


9

2 A checkbox field
4

2 A tree selection. The selected items are determined by the value. It must be ensured that the entries
5 in the value column are unique.

2 The description field


9

3 A text field
0

Manual | Shiftconnector API | v73 Page 20 of 95


3 The batch number field
1

3 The functional location field. The values will be determined by the functional location GUID. It can be
2 retrieved by the functional location endpoint
“/Asset/V2/FunctionalLocations”

3 A decimal field (Separator must be the same as the one configured for the tenant)
5

3 An integer field
6

HTTP Branch Request Body


Method

PUT Asset/V2/ Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemReque


EntryItem stVo

HTTP Response Code Return Value

200 The GUID of the updated entry item (string)

4.4.2 String, Entry Item GUID

a0ada7e3-700e-49bd-a025-248e4867ae2c

4.5 Create Task example


The following example shows how tasks can be created with the Shiftconnector® API. The illustration shows
the task in the Shiftconnector® user interface.

Manual | Shiftconnector API | v73 Page 21 of 95


As in the example for the event creation above, the data source of the tree allows the selection of up to three
elements, and the example demonstrates the selection of two elements by name.

The JSON string with mapped fields is illustrated below.

Manual | Shiftconnector API | v73 Page 22 of 95


The table below provides a description of the fields of the task.

N Description
u
m
be
r

1 The GUID of the Shiftbook. Can be retrieved by the configuration endpoint


“/Configuration/V2/Shiftbooks”

Note: The Structure Item will be determined by the Shiftbook since a Shiftbook can only have one
structure item.

2 The GUID of the Category. Can be retrieved by the configuration endpoint


“/Configuration/V2/Categories”

3 The due date time

4 The attachment links that will be added to the attachment field.

5 The attachments that will be uploaded and added to the attachment field. The attachments are
base64 encoded strings.

6 The Description field

7 The functional location field. Values selected will be determined by the functional location GUID.
Can be retrieved by the functional location endpoint
“/Asset/V2/FunctionalLocations”

8 The Batch field

9 This is a tree selection. The selected items are determined by the value. It must be ensured that the
entries in the value column are unique.

Manual | Shiftconnector API | v73 Page 23 of 95


HTTP Branch Request Body
Method

PUT Asset/V2/ Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemReque


EntryItem stVo

4.5.1 Eschbach.Interface.Vos.EntryItem.V1.CreateOrUpdateEntryItemReque
stVo

{
"EntryItemType": "Task",
"ShiftbookGuid": "c47abaa3-9872-4183-9cdf-3634216164ee",
"CategoryGuid": "a4de43ac-abda-48a4-94a1-5b2ad183a023",
"DueDateTime": "2020-07-13T13:27:12.293Z",
"AttachmentLinks": [
"http://www.google.com"
],
"AttachmentToUpload": [
{
"FileName": "test.txt",
"FileContent": "dGVzdA=="
}
],
"BusinessFieldValues": {
"Description": "Test",
"FuncLocs": [
"9C976BC6-0897-4305-A02F-457BF23BA7B5"
],
"Batch": "1234",
"FOOD_TestTree": [
"Test1",
"Test2"
],
}
}

HTTP Response Code Return Value

200 The GUID of the updated entry item (string)

Manual | Shiftconnector API | v73 Page 24 of 95


4.5.2 String, Entry Item GUID

a0ada7e3-700e-49bd-a025-248e4867ae2c

Manual | Shiftconnector API | v73 Page 25 of 95


4.6 Get EntryItem example
The following example shows how to read entry items by the GUID and how to load the business field values.

Obtaining the entry item GUID

In order to request an entry item from the Shiftconnector® API the entry item’s GUID must be available. This
GUID can be obtained in three different ways.

The first option is by creating and updating an entry item with Shiftconnector® API calls.
When an entry item is created through the Shiftconnector® API, the response of these requests returns the
GUID of the entry item. This procedure is already demonstrated in the Create Event and Update Event
examples above.

The second option is by filtering with Shiftconnector® API calls.


The result set of a filter request contains the complete entry item information, including the GUID that
identifies the entry item.

The third option is by retrieving the GUID from the web browser’s address bar.
When an entry item is displayed in Shiftconnector® in the browser, the GUID is part of the URL in the address
bar. The illustration below shows the GUID.

Explanation of business field values

The business field values can be understood as the detail information of an entry item, while the entry item
itself serves as a container. It might be desired to read only the entry items without the detail information.

Manual | Shiftconnector API | v73 Page 26 of 95


The boolean parameter loadBusinessFieldValues of the query controls if the business field values are
included in the query result. In the example, the event with all business field values are loaded.

HTTP Branch Request Body


Metho
d

GET Asset/V2/EntryItem? N/A


entryItemGuid=<GUID>&loadBusinessFieldValues=<bool>

HTTP Return Value


Response Code

200 The entry item including the detail information


(Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo)

4.6.1 Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo

{
"$id": "1",
"$type": "Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo,
Eschbach.Interface.Vos",
"entryItemGuid": "a0ada7e3-700e-49bd-a025-248e4867ae2c",
"businessObjectTypeName": "Event",
"structureItemGuid": "d660ba4d-4d3e-4098-a8d9-0415bf02cb92",
"parentItemGuid": null,
"mandatorGuid": "76178954-2452-4ff5-b55b-e52e109383d1",
"mandatorShortName": "CHEMICAL",
"creationDateTime": "2022-02-21T09:41:08.677Z",
"creationUsername": "SUSER",
"description": "Update. Batch changed.",
"lastEditDateTime": "2022-02-21T09:41:08.677Z",
"lastEditUsername": "t",
"customBusinessObjectId": null,
"customBusinessObjectDescription": null,
"categoryGuid": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"shiftbookGuid": "8141ffa6-df21-4950-97fc-c665a719cb87",
"eventPriorityGuid": "87eeb3b7-4a82-425b-87ea-d7cf2595ab75",
"statusId": "done",
"startDateTime": "2022-02-21T09:41:08.677Z",
"endDateTime": "2022-02-21T09:41:08.677Z",

Manual | Shiftconnector API | v73 Page 27 of 95


"doneDateTime": null,
"dueDateTime": null,
"version": 4,
"formTemplateName": "Default",
"businessFieldValues": [
{
"$id": "2",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[System.Guid, mscorlib]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [],
"businessFieldName": "Signatures",
"businessFieldType": "System.Collections.Generic.List`1[[System.Guid, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "3",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": "U0007",
"businessFieldName": "Batch",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "4",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.Attachment.V1.AttachmentDetailVo,
Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [
{
"$id": "5",
"$type": "Eschbach.Interface.Vos.Attachment.V1.AttachmentDetailVo,
Eschbach.Interface.Vos",
"attachmentGuid": "524622a8-f666-48db-a8a6-bc61b8851fe3",
"mandatorGuid": null,
"description": null,
"fileName": "Test_Text_File",
"fileExtension": "txt",
"filePath": null,
"fileMimeType": "text/plain",
"fileSize": 8,
"isLink": false,
"fileContent": null,
"uploadDateTime": "2022-02-21T09:41:08.677Z",
"uploadUserFirstname": "test",
"uploadUserLastname": "test"

Manual | Shiftconnector API | v73 Page 28 of 95


}
],
"businessFieldName": "Attachments",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.Attachment.V1.AttachmentDe
tailVo, Eschbach.Interface.Vos, Version=1.8.0.0, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "6",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.ListValues.V1.ListValueDetailVo, Eschbach.Interface.Vos]],
Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "7",
"$type": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos",
"listValueGuid": "87eeb3b7-4a82-425b-87ea-d7cf2595ab75",
"parentListValueGuid": null,
"hasChildren": false,
"translatedTitle": "Morning Meeting",
"imageName": "highPriority.png",
"order": 0,
"activeState": 0,
"value": "highPriority",
"value1": null,
"value2": null,
"value3": null,
"value4": null
},
"businessFieldName": "EventStatus",
"businessFieldType": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos, Version=1.8.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "8",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": "Update. Batch changed.",
"businessFieldName": "Description",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "9",

Manual | Shiftconnector API | v73 Page 29 of 95


"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Category.V1.CategoryDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "10",
"$type": "Eschbach.Interface.Vos.Category.V1.CategoryDetailVo,
Eschbach.Interface.Vos",
"categoryGuid": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"mandatorGuid": null,
"name": "Default",
"systemName": "Default"
},
"businessFieldName": "Category",
"businessFieldType": "Eschbach.Interface.Vos.Category.V1.CategoryDetailVo,
Eschbach.Interface.Vos, Version=1.8.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "11",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.FunctionalLocation.V1.FunctionalLocationDetail
Vo, Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [
{
"$id": "12",
"$type":
"Eschbach.Interface.Vos.FunctionalLocation.V1.FunctionalLocationDetailVo,
Eschbach.Interface.Vos",
"functionalLocationGuid": "29749cf2-8bb8-4b07-9d33-a83f89649a5e",
"parentFunctionalLocationGuid": null,
"activeState": 1,
"code": "Alpha",
"path": "Alpha",
"customData": null,
"customId": null,
"mandatorGuid": "76178954-2452-4ff5-b55b-e52e109383d1"
}
],
"businessFieldName": "FuncLocs",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.FunctionalLocation.V1.Func
tionalLocationDetailVo, Eschbach.Interface.Vos, Version=1.8.0.0, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "13",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Date.V1.DateDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",

Manual | Shiftconnector API | v73 Page 30 of 95


"businessFieldValue": {
"$id": "14",
"$type": "Eschbach.Interface.Vos.Date.V1.DateDetailVo,
Eschbach.Interface.Vos",
"startDateTime": "2022-02-21T09:41:08.677Z",
"endDateTime": "2022-02-21T09:41:08.677Z",
"dueDateTime": null,
"earliestStartingDateTime": null,
"earliestStartingIsSet": false,
"earliestStartingDays": null,
"earliestStartingMinutes": null,
"recurrenceEndDate": null,
"recurrenceType": null,
"statusId": null
},
"businessFieldName": "EventStartDateTime",
"businessFieldType": "Eschbach.Interface.Vos.Date.V1.DateDetailVo,
Eschbach.Interface.Vos, Version=1.8.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "15",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.Shiftbook.V1.ShiftbookDetailVo,
Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [
{
"$id": "16",
"$type": "Eschbach.Interface.Vos.Shiftbook.V1.ShiftbookDetailVo,
Eschbach.Interface.Vos",
"shiftbookGuid": "8141ffa6-df21-4950-97fc-c665a719cb87",
"structureItemGuid": null,
"name": "APITEST",
"activeState": 0
}
],
"businessFieldName": "AssignedShiftbooks",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.Shiftbook.V1.ShiftbookDeta
ilVo, Eschbach.Interface.Vos, Version=1.8.0.0, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
}
]
}

Manual | Shiftconnector API | v73 Page 31 of 95


4.7 Get EntryItems by filter example
The Generic Report method allows the querying of entry items by a defined filter.

The example filters events in a shiftbook, category and with an identified status.

 More detailed information you can find in the Appendix in chapter Detailed information about
Generic Report Fields at the end of this document.
Set this parameter returnItemsFromCurrentTenant to "false", to get details from all tenants and not
only from the current logged in one.

To keep the example simple, the field LoadBusinessFieldValues is set to false. In a live environment, most
likely the query will have these field set to true to obtain the detail information of the entry items.

The illustration below shows two events in Shiftconnector®. The query in this example produces these two
events in the result set.

HTTP Branch Request Body


Method

POST Asset/V2/GenericReport? Eschbach.Interface.Vos.EntryItem.V1.GetEntryItems


returnItemsFromCurrentTenant=true ByFilterRequestVo

Manual | Shiftconnector API | v73 Page 32 of 95


4.7.1 Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequestV
o

{
"GenericReportFilter": [
{
"GenericReportFieldName": "CategoryGuid",
"GenericReportFieldFilterValue": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"GenericReportFieldFilterOperator": "IsEqualTo"
},
{
"GenericReportFieldName": "ShiftbookGuid",
"GenericReportFieldFilterValue": "8141ffa6-df21-4950-97fc-c665a719cb87",
"GenericReportFieldFilterOperator": "IsEqualTo"
},
{
"GenericReportFieldName": "Event.Status",
"GenericReportFieldFilterValue": "87eeb3b7-4a82-425b-87ea-d7cf2595ab75",
"GenericReportFieldFilterOperator": "IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

HTTP Return Value


Response
Code

200 The entry items that match the query (Array of


Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo)

Manual | Shiftconnector API | v73 Page 33 of 95


4.7.2 Array of Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo

[
{
"$id": "1",
"$type": "Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo,
Eschbach.Interface.Vos",
"entryItemGuid": "012d5c6f-80f3-4de2-a802-034a91e18c54",
"businessObjectTypeName": "Event",
"structureItemGuid": "d660ba4d-4d3e-4098-a8d9-0415bf02cb92",
"parentItemGuid": null,
"mandatorGuid": "76178954-2452-4ff5-b55b-e52e109383d1",
"mandatorShortName": "CHEMICAL",
"creationDateTime": "2020-04-28T09:19:44.153Z",
"creationUsername": "SUSER",
"description": "API test import2",
"lastEditDateTime": "2020-04-28T10:41:40.9Z",
"lastEditUsername": "t",
"customBusinessObjectId": null,
"customBusinessObjectDescription": null,
"categoryGuid": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"shiftbookGuid": "8141ffa6-df21-4950-97fc-c665a719cb87",
"eventPriorityGuid": "87eeb3b7-4a82-425b-87ea-d7cf2595ab75",
"statusId": "done",
"startDateTime": "2020-04-28T20:43:00Z",
"endDateTime": "2020-12-16T11:43:00Z",
"doneDateTime": null,
"dueDateTime": null,
"version": 2,
"formTemplateName": "",
"businessFieldValues": []
},
{
"$id": "2",
"$type": "Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo,
Eschbach.Interface.Vos",
"entryItemGuid": "a0ada7e3-700e-49bd-a025-248e4867ae2c",
"businessObjectTypeName": "Event",
"structureItemGuid": "d660ba4d-4d3e-4098-a8d9-0415bf02cb92",
"parentItemGuid": null,
"mandatorGuid": "76178954-2452-4ff5-b55b-e52e109383d1",
"mandatorShortName": "CHEMICAL",
"creationDateTime": "2020-04-28T09:22:54.94Z",
"creationUsername": "SUSER",
"description": "Update. Batch changed.",
"lastEditDateTime": "2020-04-28T09:31:24.34Z",
"lastEditUsername": "t",
"customBusinessObjectId": null,
"customBusinessObjectDescription": null,

Manual | Shiftconnector API | v73 Page 34 of 95


"categoryGuid": "f2afe0d4-e9ca-4160-a843-394e303ffb29",
"shiftbookGuid": "8141ffa6-df21-4950-97fc-c665a719cb87",
"eventPriorityGuid": "87eeb3b7-4a82-425b-87ea-d7cf2595ab75",
"statusId": "done",
"startDateTime": "2020-04-28T20:43:00Z",
"endDateTime": "2020-12-16T11:43:00Z",
"doneDateTime": null,
"dueDateTime": null,
"version": 4,
"formTemplateName": "",
"businessFieldValues": []
}
]

Manual | Shiftconnector API | v73 Page 35 of 95


4.8 Get Tasks with assigned persons
Shiftconnector® API allows reading tasks and retrieve the assigned persons. As in the previous example, this
is performed by the GenericReport end point. In Shiftconnector® two tasks are present in this example, case
numbers 81751 and 81749.

HTTP Branch Request Body


Method

POST Asset/V2/ Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequ


GenericReport estVo

Manual | Shiftconnector API | v73 Page 36 of 95


4.8.1 Eschbach.Interface.Vos.EntryItem.V1.GetEntryItemsByFilterRequestV
o

{
"GenericReportFilter": [
{
"GenericReportFieldName": "Task.Status",
"GenericReportFieldFilterValue": "deleted",
"GenericReportFieldFilterOperator": "IsNotEqualTo"
},
{
"GenericReportFieldName": "EntryItemAssignedWorkcenterGuid",
"GenericReportFieldFilterValue": "d42388b2-2cbe-49a4-bc4a-769f3829082b",
"GenericReportFieldFilterOperator": "IsEqualTo"
},
{
"GenericReportFieldName": "Task.DueDate",
"GenericReportFieldFilterValue": "2020-07-20T09:31:00Z",
"GenericReportFieldFilterOperator": "IsLessThan"
},
{
"GenericReportFieldName": "CreatedDateTime",
"GenericReportFieldFilterValue": "2020-07-14T07:25:00Z",
"GenericReportFieldFilterOperator": "IsGreaterThan"
},
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": true
}

The case 81751 is a recurring task and must be completed by all users. In the response, this is visible in the
id 11 (in the example below "$id": "11") the field personalTaskType “all” indicates that all users must
complete the task.
Two assigned users are provided as ids 13 and 14 (in the example below, "$id": "13" and "$id": "14"). The
status of the completeness per user is available in the fields isPersonTaskDone.

The case 81749 is an individual task. One of the users must complete the task only. The relevant task is
returned as id 33, and the field personalTaskType “one” indicates the type of task.
In this example, also two users are assigned to the task, with the ids 34 and 35 (in the example below "$id":
"34" and "$id": "35").

Manual | Shiftconnector API | v73 Page 37 of 95


HTTP Return Value
Response
Code

200 The entry items that match the query (Array of


Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo)

4.8.2 Array of Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo

[
{
"$id": "1",
"$type": "Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo,
Eschbach.Interface.Vos",
"entryItemGuid": "a80bfcb7-8956-4033-a5da-da39f5ffe8f8",
"caseId": "81751",
"deepLink": "https://Shiftconnector/Start.aspx#/NavItem/d42388b2-2cbe-49a4-
bc4a-769f3829082b/Tab/Task/EntryItem/a80bfcb7-8956-4033-a5da-da39f5ffe8f8",
"businessObjectTypeName": "Task",
"structureItemGuid": "d42388b2-2cbe-49a4-bc4a-769f3829082b",
"parentItemGuid": "fe062232-6212-45e8-9850-3b8d43bd0b8b",
"mandatorGuid": "411f0e95-1dd0-4eea-8964-fb590a4c3e43",
"mandatorShortName": "FOOD",
"creationDateTime": "2020-07-14T09:25:52.537Z",
"creationUsername": "SUSER",
"description": "Test recurrent task.\nMust be done by all user",
"lastEditDateTime": "2020-07-14T09:25:52.537Z",
"lastEditUsername": "SUSER",
"customBusinessObjectId": null,
"customBusinessObjectDescription": null,
"categoryGuid": "a4de43ac-abda-48a4-94a1-5b2ad183a023",
"shiftbookGuid": "c47abaa3-9872-4183-9cdf-3634216164ee",
"eventPriorityGuid": null,
"statusId": "open",
"startDateTime": null,
"endDateTime": null,
"doneDateTime": null,
"lastCompletedDateTime": null,
"dueDateTime": "2020-07-14T00:00:00Z",
"version": 1,
"formTemplateName": "Test",
"businessFieldValues": [
{
"$id": "2",

Manual | Shiftconnector API | v73 Page 38 of 95


"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": "Test recurrent task.\nMust be done by all user",
"businessFieldName": "Description",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "3",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": null,
"businessFieldName": "ResponsibleUser",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "4",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.StructureItem.V1.StructureItemDetailVo, Eschbach.Interface.Vos]],
Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "5",
"$type": "Eschbach.Interface.Vos.StructureItem.V1.StructureItemDetailVo,
Eschbach.Interface.Vos",
"structureItemGuid": "d42388b2-2cbe-49a4-bc4a-769f3829082b",
"mandatorGuid": null,
"parentStructureItemGuid": null,
"name": "Test",
"shiftbooks": []
},
"businessFieldName": "TaskAssignedWorkcenter",
"businessFieldType":
"Eschbach.Interface.Vos.StructureItem.V1.StructureItemDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "6",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.ListValues.V1.ListValueDetailVo, Eschbach.Interface.Vos]],
Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "7",
"$type": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos",
"listValueGuid": "00000000-0000-0000-0000-000000000000",

Manual | Shiftconnector API | v73 Page 39 of 95


"parentListValueGuid": null,
"hasChildren": false,
"translatedTitle": "Overdue",
"imageName": "overdue_open.png",
"order": 0,
"activeState": 0,
"value": null,
"value1": null,
"value2": null,
"value3": null,
"value4": null
},
"businessFieldName": "TaskStatus",
"businessFieldType": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "8",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [
{
"$id": "9",
"$type": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos",
"listValueGuid": "637e5d0c-49b5-456d-a454-472b12c0d0ee",
"parentListValueGuid": null,
"hasChildren": true,
"translatedTitle": "Test parent 1",
"imageName": null,
"order": 0,
"activeState": 1,
"value": "Test1",
"value1": "",
"value2": "",
"value3": "",
"value4": ""
}
],
"businessFieldName": "FOOD_TestTree",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.ListValues.V1.ListValueDet
ailVo, Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "10",

Manual | Shiftconnector API | v73 Page 40 of 95


"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": "12345",
"businessFieldName": "Batch",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "11",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Task.V1.PersonalTasksDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "12",
"$type": "Eschbach.Interface.Vos.Task.V1.PersonalTasksDetailVo,
Eschbach.Interface.Vos",
"personalTaskType": "all",
"personalTaskUsers": [
{
"$id": "13",
"$type": "Eschbach.Interface.Vos.Task.V1.UserPersonalTaskVo,
Eschbach.Interface.Vos",
"userGuid": "808a4241-486a-4731-a55d-44336b8e2c5d",
"username": "SUSER",
"isPersonalTaskDone": false
},
{
"$id": "14",
"$type": "Eschbach.Interface.Vos.Task.V1.UserPersonalTaskVo,
Eschbach.Interface.Vos",
"userGuid": "f756bb61-3980-4141-9d97-d2aa1007d9de",
"username": "t",
"isPersonalTaskDone": false
}
]
},
"businessFieldName": "Food_PersonalTask",
"businessFieldType": "Eschbach.Interface.Vos.Task.V1.PersonalTasksDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "15",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.Attachment.V1.AttachmentDetailVo,
Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [],
"businessFieldName": "Attachments",

Manual | Shiftconnector API | v73 Page 41 of 95


"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.Attachment.V1.AttachmentDe
tailVo, Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "16",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Date.V1.DateDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "17",
"$type": "Eschbach.Interface.Vos.Date.V1.DateDetailVo,
Eschbach.Interface.Vos",
"startDateTime": null,
"endDateTime": null,
"dueDateTime": "2020-07-14T00:00:00Z",
"earliestStartingDateTime": "2020-07-13T16:00:00Z",
"earliestStartingIsSet": true,
"earliestStartingDays": 0,
"earliestStartingMinutes": 480,
"recurrenceEndDate": null,
"recurrenceType": "Daily",
"statusId": null
},
"businessFieldName": "DueDate",
"businessFieldType": "Eschbach.Interface.Vos.Date.V1.DateDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "18",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.FunctionalLocation.V1.FunctionalLocationDetail
Vo, Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [
{
"$id": "19",
"$type":
"Eschbach.Interface.Vos.FunctionalLocation.V1.FunctionalLocationDetailVo,
Eschbach.Interface.Vos",
"functionalLocationGuid": "1708676d-c7d3-4a62-823a-40d865a76c2e",
"parentFunctionalLocationGuid": null,
"activeState": 1,
"code": "Produktionslinie 3",
"path": "Produktionslinie 3",
"customData": null,
"customId": null,
"mandatorGuid": "411f0e95-1dd0-4eea-8964-fb590a4c3e43"

Manual | Shiftconnector API | v73 Page 42 of 95


}
],
"businessFieldName": "FuncLocs",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.FunctionalLocation.V1.Func
tionalLocationDetailVo, Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "20",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Category.V1.CategoryDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "21",
"$type": "Eschbach.Interface.Vos.Category.V1.CategoryDetailVo,
Eschbach.Interface.Vos",
"categoryGuid": "a4de43ac-abda-48a4-94a1-5b2ad183a023",
"mandatorGuid": null,
"name": "Test",
"systemName": "Test"
},
"businessFieldName": "Category",
"businessFieldType": "Eschbach.Interface.Vos.Category.V1.CategoryDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
}
]
},
{
"$id": "22",
"$type": "Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo,
Eschbach.Interface.Vos",
"entryItemGuid": "4d172be8-3881-4e81-9cad-0c67e439e6bd",
"caseId": "81749",
"deepLink": "https://Shiftconnector/Start.aspx#/NavItem/d42388b2-2cbe-49a4-
bc4a-769f3829082b/Tab/Task/EntryItem/4d172be8-3881-4e81-9cad-0c67e439e6bd",
"businessObjectTypeName": "Task",
"structureItemGuid": "d42388b2-2cbe-49a4-bc4a-769f3829082b",
"parentItemGuid": "321888ab-2293-4961-aa0e-e565a802b573",
"mandatorGuid": "411f0e95-1dd0-4eea-8964-fb590a4c3e43",
"mandatorShortName": "FOOD",
"creationDateTime": "2020-07-14T09:25:24.037Z",
"creationUsername": "SUSER",
"description": "Test fixed task.\nMust be done by one user",
"lastEditDateTime": "2020-07-14T09:25:24.037Z",
"lastEditUsername": "SUSER",
"customBusinessObjectId": null,
"customBusinessObjectDescription": null,
"categoryGuid": "a4de43ac-abda-48a4-94a1-5b2ad183a023",

Manual | Shiftconnector API | v73 Page 43 of 95


"shiftbookGuid": "c47abaa3-9872-4183-9cdf-3634216164ee",
"eventPriorityGuid": null,
"statusId": "open",
"startDateTime": null,
"endDateTime": null,
"doneDateTime": null,
"lastCompletedDateTime": null,
"dueDateTime": "2020-07-15T09:25:00Z",
"version": 1,
"formTemplateName": "Test",
"businessFieldValues": [
{
"$id": "23",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": "Test fixed task.\nMust be done by one user",
"businessFieldName": "Description",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "24",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": null,
"businessFieldName": "ResponsibleUser",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "25",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.StructureItem.V1.StructureItemDetailVo, Eschbach.Interface.Vos]],
Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "26",
"$type": "Eschbach.Interface.Vos.StructureItem.V1.StructureItemDetailVo,
Eschbach.Interface.Vos",
"structureItemGuid": "d42388b2-2cbe-49a4-bc4a-769f3829082b",
"mandatorGuid": null,
"parentStructureItemGuid": null,
"name": "Test",
"shiftbooks": []
},
"businessFieldName": "TaskAssignedWorkcenter",

Manual | Shiftconnector API | v73 Page 44 of 95


"businessFieldType":
"Eschbach.Interface.Vos.StructureItem.V1.StructureItemDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "27",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.ListValues.V1.ListValueDetailVo, Eschbach.Interface.Vos]],
Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "28",
"$type": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos",
"listValueGuid": "00000000-0000-0000-0000-000000000000",
"parentListValueGuid": null,
"hasChildren": false,
"translatedTitle": "Open",
"imageName": "open.png",
"order": 0,
"activeState": 0,
"value": null,
"value1": null,
"value2": null,
"value3": null,
"value4": null
},
"businessFieldName": "TaskStatus",
"businessFieldType": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "29",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [
{
"$id": "30",
"$type": "Eschbach.Interface.Vos.ListValues.V1.ListValueDetailVo,
Eschbach.Interface.Vos",
"listValueGuid": "37887892-b2ec-4eac-ab77-8985401a4850",
"parentListValueGuid": null,
"hasChildren": false,
"translatedTitle": "Test parent 2",
"imageName": null,
"order": 1,
"activeState": 1,
"value": "Test3",

Manual | Shiftconnector API | v73 Page 45 of 95


"value1": "",
"value2": "",
"value3": "",
"value4": ""
}
],
"businessFieldName": "FOOD_TestTree",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.ListValues.V1.ListValueDet
ailVo, Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "31",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.String,
mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": "1234",
"businessFieldName": "Batch",
"businessFieldType": "System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
},
{
"$id": "32",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Task.V1.PersonalTasksDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "33",
"$type": "Eschbach.Interface.Vos.Task.V1.PersonalTasksDetailVo,
Eschbach.Interface.Vos",
"personalTaskType": "one",
"personalTaskUsers": [
{
"$id": "34",
"$type": "Eschbach.Interface.Vos.Task.V1.UserPersonalTaskVo,
Eschbach.Interface.Vos",
"userGuid": "808a4241-486a-4731-a55d-44336b8e2c5d",
"username": "SUSER",
"isPersonalTaskDone": false
},
{
"$id": "35",
"$type": "Eschbach.Interface.Vos.Task.V1.UserPersonalTaskVo,
Eschbach.Interface.Vos",
"userGuid": "f756bb61-3980-4141-9d97-d2aa1007d9de",
"username": "t",
"isPersonalTaskDone": false
}

Manual | Shiftconnector API | v73 Page 46 of 95


]
},
"businessFieldName": "Food_PersonalTask",
"businessFieldType": "Eschbach.Interface.Vos.Task.V1.PersonalTasksDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "36",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.Attachment.V1.AttachmentDetailVo,
Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",
"businessFieldValue": [],
"businessFieldName": "Attachments",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.Attachment.V1.AttachmentDe
tailVo, Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "37",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Date.V1.DateDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "38",
"$type": "Eschbach.Interface.Vos.Date.V1.DateDetailVo,
Eschbach.Interface.Vos",
"startDateTime": null,
"endDateTime": null,
"dueDateTime": "2020-07-15T09:25:00Z",
"earliestStartingDateTime": null,
"earliestStartingIsSet": false,
"earliestStartingDays": null,
"earliestStartingMinutes": null,
"recurrenceEndDate": null,
"recurrenceType": "FixedDate",
"statusId": null
},
"businessFieldName": "DueDate",
"businessFieldType": "Eschbach.Interface.Vos.Date.V1.DateDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
},
{
"$id": "39",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[System.Collections.
Generic.List`1[[Eschbach.Interface.Vos.FunctionalLocation.V1.FunctionalLocationDetail
Vo, Eschbach.Interface.Vos]], mscorlib]], Eschbach.Interface.Vos",

Manual | Shiftconnector API | v73 Page 47 of 95


"businessFieldValue": [
{
"$id": "40",
"$type":
"Eschbach.Interface.Vos.FunctionalLocation.V1.FunctionalLocationDetailVo,
Eschbach.Interface.Vos",
"functionalLocationGuid": "9c976bc6-0897-4305-a02f-457bf23ba7b5",
"parentFunctionalLocationGuid": "23dbf5be-62e5-4a76-8cb6-4f28d4f1dace",
"activeState": 1,
"code": "102 Füllkühlschrank 100",
"path": "Produktionslinie 1>Füllkühlschrank 100>102 Füllkühlschrank 100",
"customData": null,
"customId": null,
"mandatorGuid": "411f0e95-1dd0-4eea-8964-fb590a4c3e43"
}
],
"businessFieldName": "FuncLocs",
"businessFieldType":
"System.Collections.Generic.List`1[[Eschbach.Interface.Vos.FunctionalLocation.V1.Func
tionalLocationDetailVo, Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral,
PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
},
{
"$id": "41",
"$type":
"Eschbach.Interface.Vos.BusinessField.V1.BusinessFieldDetailVo`1[[Eschbach.Interface.
Vos.Category.V1.CategoryDetailVo, Eschbach.Interface.Vos]], Eschbach.Interface.Vos",
"businessFieldValue": {
"$id": "42",
"$type": "Eschbach.Interface.Vos.Category.V1.CategoryDetailVo,
Eschbach.Interface.Vos",
"categoryGuid": "a4de43ac-abda-48a4-94a1-5b2ad183a023",
"mandatorGuid": null,
"name": "Test",
"systemName": "Test"
},
"businessFieldName": "Category",
"businessFieldType": "Eschbach.Interface.Vos.Category.V1.CategoryDetailVo,
Eschbach.Interface.Vos, Version=2.1.1.2, Culture=neutral, PublicKeyToken=null"
}
]
}
]

Manual | Shiftconnector API | v73 Page 48 of 95


4.9 List end point example
This example demonstrates how to retrieve the configured fields and the records for a given list template.
The request returns similar values to the user interface.

To use this endpoint, the list definition must be for a structure item, and the definition must be unique. In
detail:

The illustration shows the list template definition and the relevant conditions to be fulfilled:

1. The name must be unique within the selected structure item


2. It must be a structure item list definition (Inherited list templates are not supported)
3. The available types within the structure item on which list definitions can be defined

The illustrations below show how the listTemplateName and the structureItemGuid can be retrieved and
used in the endpoint.

Manual | Shiftconnector API | v73 Page 49 of 95



Example
“/moduleApi/ShiftconnectorApi/Report/V2/List?
listTemplateName=All%20Tasks&structureItemGuid=d42388b2-2cbe-49a4-bc4a-769f3829082b”

The response with the relevant fields is shown in the illustration below:

Manual | Shiftconnector API | v73 Page 50 of 95


Manual | Shiftconnector API | v73 Page 51 of 95
The designated fields in the illustration have following meaning:

Number Description

1 Meta data of the selected structure item

2 The list definition GUID is added to the parameter name

3 Each visible item is returned with all visible fields

HTTP Method Branch Request


Body

GET /moduleApi/ShiftconnectorApi/Report/V2/List? N/A


listTemplateName=<template name>&structureItemGuid=<GUID>

HTTP Response Code Return Value

200 A dataset of items that match the query (JSON)

4.9.1 Eschbach.Interface.Vos.EntryItem.V1.EntryItemDetailVo

{
"metaDataTable": [
{
"tenantExportUTC": "UTC+01:00",
"tenantExportTimeZone": "Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
"tenantExportUTC_TimeZone": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome,
Stockholm, Vienna",
"tenantExportCreationDateTime": "Do, 16.07.2020 14:25",
"mandatorLongName": "Food",
"mandatorShortName": "FOOD",
"mandatorLanguageCode": "DE",
"mandatorLanguageName": "DE",
"listDefinitionName": "All Tasks",
"listDefinitionTypeName": "Task",
"listDefinitionTypeTranslation": "Task",
"structureItemName": "Test"

Manual | Shiftconnector API | v73 Page 52 of 95


}
],
"shiftconnectorListDataTable_Task_a279ea4e-a828-4f49-a40b-b1488405826b": [
{
"structureItemName": "Test",
"caseNumber": "81751",
"task.DueDate": "15/07/2020 00:00:00",
"functionalLocationPath": "Produktionslinie 3",
"category": "Test",
"summaryDescription": "Test recurrent task.\nMust be done by all user.",
"creationUserName": "Service User 1",
"createdDateTime": "14/07/2020 09:25:52",
"lastEditDateTime": "16/07/2020 14:24:55",
"attachmentAvailable": false,
"task.Status": "Overdue"
},
{
"structureItemName": "Test",
"caseNumber": "81749",
"task.DueDate": "15/07/2020 09:25:00",
"functionalLocationPath": "Produktionslinie 1>Füllkühlschrank 100>102
Füllkühlschrank 100",
"category": "Test",
"summaryDescription": "Test fixed task.\nMust be done by one user.",
"creationUserName": "Service User 1",
"createdDateTime": "14/07/2020 09:25:24",
"lastEditDateTime": "16/07/2020 14:24:51",
"attachmentAvailable": false,
"task.Status": "Overdue"
}
]
}
{
"metaDataTable": [
{
"tenantExportUTC": "UTC+01:00",
"tenantExportTimeZone": "Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
"tenantExportUTC_TimeZone": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome,
Stockholm, Vienna",
"tenantExportCreationDateTime": "Do, 16.07.2020 14:25",
"mandatorLongName": "Food",
"mandatorShortName": "FOOD",
"mandatorLanguageCode": "DE",
"mandatorLanguageName": "DE",
"listDefinitionName": "All Tasks",
[...]

Manual | Shiftconnector API | v73 Page 53 of 95


4.10 Import of functional locations from an external format
Shiftconnector® API provides the functionality to import functional locations from an external data source.
This import format is simplified because it doesn’t require GUIDs for the imports.

HTT Branch Request Body


P
Met
hod

PUT DataFieldMapping/V2/ Eschbach.Interface.Vos.FunctionalLocation.V1.Exter


FunctionalLocations? nalFunctionalLocationImportDetailVo
tenantShortName=<tenant short
name>&importInactiveAsReadOnly=
<bool>

Parameters:

tenan string, the name of the tenant where the functional location should be imported to
tShor
tNam
e

impo Boolean. This parameter controls the behaviour if the value of field Active is set to false:
rtIna If the value of importInactiveAsReadOnly is set true, the functional location is imported as Read
ctive
Only (status = 2).
AsRe
If the value of importInactiveAsReadOnly is set false, the functional location is imported as
adOn
ly Inactive (status = 3).

Manual | Shiftconnector API | v73 Page 54 of 95


Body:

The table below shows a description of the fields of the functional location.

Nu Description
mb
er

1 Definition of the unique identifier of this functional location. This value will be imported as
CustomId in the Shiftconnector® functional location.

2 Definition of the name of this functional location. This value will be imported as Code in the
Shiftconnector® functional location.

3 Definition of the unique identifier of the parent functional location. The imported value must be an
existing CustomId of an imported functional location.

4 Description

5 Active Status of the functional location

Manual | Shiftconnector API | v73 Page 55 of 95


4.10.1 Eschbach.Interface.Vos.FunctionalLocation.V1.ExternalFunctionalLo
cationImportDetailVo

{
"Identifier": "IF010000233",
"Name": "ABC"
"Parent": null,
"Description": "Test Root"
"Active": true
},
{
"Identifier": "IF010000234",
"Name": "ABC-DEF"
"Parent": "IF010000233",
"Description": "Test child"
"Active": true
}

HTTP Response Code Return Value

200 N/A

4.11 Open End Event creation


Events will be imported as "Open End" if the "StatusId" of the EventStartDateTime field is set to "open".

Manual | Shiftconnector API | v73 Page 56 of 95


HTT Branch Request Body
P
Met
hod

PUT /moduleApi/ShiftconnectorApi/Asset/V2/EntryItem The StartDateTime can be defined either on the root


request object

{
"EntryItemType": "Event",
"categoryGuid":
"d9c538c6-27e6-4f35-8a61-60a548dedd98",
"shiftbookGuid":
"3b37b02c-356a-40c1-8491-830c44d22abc",
"StartDateTime":
"2020-02-01T01:02:11.565Z",
"DateBusinessFields": {
"EventStartDateTime": {
"StatusId": "open"
}
},
"BusinessFieldValues": {
"Description": "Created in API"
}
}

or direct on the EventStartDateTime field

{
"EntryItemType": "Event",
"categoryGuid":
"d9c538c6-27e6-4f35-8a61-60a548dedd98",
"shiftbookGuid":
"3b37b02c-356a-40c1-8491-830c44d22abc",
"DateBusinessFields": {
"EventStartDateTime": {
"StartDateTime":
"2020-02-01T01:02:11.565Z",
"StatusId": "open"
}
},
"BusinessFieldValues": {
"Description": "Created in API"
}
}

Manual | Shiftconnector API | v73 Page 57 of 95


HTTP Response Code Return Value

200 A String object with the EntryItem GUID

4.12 Create and Update Workflow Records


 This API only supports transitions without authentication. (For example, a "Draft" transition)

To update or create a Workflow Record, the transition GUID must be set in the request.

4.12.1 Update
The available transitions for updating Records can be received by using this endpoint:

Manual | Shiftconnector API | v73 Page 58 of 95


4.12.2 Creation
The available transitions for creating new Records can be received by using this endpoint:

Manual | Shiftconnector API | v73 Page 59 of 95


Manual | Shiftconnector API | v73 Page 60 of 95
5 Data Field Mapping
When importing events, tasks and directives from external sources into Shiftconnector®, the question
occurs how to match fields of the source system to the fields in Shiftconnector®.
The Shiftconnector® API provides the functionality of Data Field Mapping. It allows to map fields in the
source to fields in Shiftconnector®.

This feature requires additional configuration on Shiftconnector® side and cannot be used out of the box like
the standard endpoints.
(It may also require additional configuration / development on customer side)

It is used to connect to external systems that cannot implement complex logic.

For a SAP specific documentation, request the “Technical Manual: Shiftconnector® Interface for SAP PM/
EAM” from the eschbach support.

5.1 General assumptions


For the data field mapping functionality, following conditions need to be considered:

• External systems can import events, tasks and directives into Shiftconnector®, and the external
system is the leading system: Shiftconnector® doesn’t allow updates to the records through its user
interface. Updates may only be transmitted by the external system.
• Shiftconnector® can be the originator of events which subsequently are transmitted to the external
system.
However, once the external system persisted the events, Shiftconnector® prohibits further updates to
the events through its user interface.
The external system becomes the leading system, and updates to the event must be triggered through
the external system.
• The endpoints allow the mapping of data fields between the leading system and Shiftconnector®.
• The external system can trigger the data import into Shiftconnector® at any time.
• Shiftconnector® will push the created records to the external system in an interval that can be
configured.

Data types and fields

The Shiftconnector® API allows the configuration of the data that is exchanged between the external system
and Shiftconnector®.

Manual | Shiftconnector API | v73 Page 61 of 95


Required fields

It is necessary that following fields are always provided.

Da Description
ta
fiel
d

Ty The Type which is linked to a shiftbook and category within Shiftconnector®. It is not possible to
pe import the same Type to other shiftbooks within the same tenant of Shiftconnector®.

This field is mandatory.

Ext The external identifier is required to match the event in the leading system and in Shiftconnector®.
ern This external identifier is provided by the external system and is a mandatory field with any update
al operation on the event.
Nu
This field is empty when Shiftconnector® is sending a new event to the external system, but on
mb
response, the delivered ExternalNumber is persisted in Shiftconnector®.
er

Additional fields

The Shiftconnector® API allows the configuration of any number of additional fields. It can also be defined if
the fields are mandatory or not.

Shif Additional information


tco
nne
ctor
®
fiel
d

Tex The length of the text can be configured through the Shiftconnector® field administration
t
fiel
d

Dat Date time information must be in UTC or in the tenant time zone (configurable). Format "yyyy-MM-
e ddTHH:mm:ssZ"
fiel
d

Manual | Shiftconnector API | v73 Page 62 of 95


Shif Additional information
tco
nne
ctor
®
fiel
d

Che True or false


ckb
ox

Nu Integer values
mb
er

Dec The decimal separator must match the separator that is configured for the tenant
ima
l

Dro Selected drop down values. It is also possible to use hierarchic drop down values.
p
do
wn

Fun The functional location is selected by the external identifier. This identifier is imported with the
ctio import of functional locations as shown in chapter Import of functional locations from an external
nal format.
loc
atio
n

Att Attachments can be imported as base64 encoded strings. This interface only allows the import of
ach new attachments, Updates or deletions are not supported by this Web API at this time.
me
nt

Manual | Shiftconnector API | v73 Page 63 of 95


 The following chapters for DataFieldMapping also apply to Tasks and Directives.

5.2 Event import into Shiftconnector®


The Shiftconnector® API provides a passive end point for the import of events from the leading, external
system. When the data arrives at the endpoint, it is decided if the event is created or updated in
Shiftconnector®.

HTTP Branch Request Body


Method

PUT Events? Data set (JSON; below, the illustration shows an example
tenantShortName=<tenant short based on an actual SAP configuration)
name>&type=<type>

5.2.1 JSON Payload

[
{
"NotificationNumber": "010000234",
"NotificationSystemStatus": "I0123",
"NotificationUserStatus": "E0006",
"NotificationDescription": "Test notif",
"FunctionalLocation": "IF010000233",
"ReportedBy": "SAP user",
"NotificationDate": "2020-02-17T06:05:53Z",
"RequiredStart": "2020-02-17T06:05:53.548Z",
"Priority": "1",
"DamageCodeGroup": "Test",
"DamageCode": "Test-1"
},
{
"NotificationNumber": "010000235",
"NotificationSystemStatus": "I0123",
"NotificationUserStatus": "E0006",
"NotificationDescription": "Test notif2",
"FunctionalLocation": "IF010000233",
"ReportedBy": "SAP user",
"NotificationDate": "2020-02-17T06:05:53Z",
"RequiredStart": "2020-02-17T06:05:53Z",
"Priority": "1",
"DamageCodeGroup": "Test",

Manual | Shiftconnector API | v73 Page 64 of 95


"DamageCode": "Test-1"
},
{
"NotificationNumber": "010000236",
"NotificationSystemStatus": "I0123",
"NotificationUserStatus": "E0006",
"NotificationDescription": "Test notif3",
"FunctionalLocation": "IF010000237",
"ReportedBy": "SAP user",
"NotificationDate": "2020-02-17T06:05:53Z",
"RequiredStart": "2020-02-17T06:05:53Z",
"Priority": "1",
"DamageCodeGroup": "Test",
"DamageCode": "Test-1"
},
{
"NotificationNumber": "010000237",
"NotificationSystemStatus": "I0123",
"NotificationUserStatus": "E0006",
"NotificationDescription": "Test notif4",
"FunctionalLocation": "IF010000238",
"ReportedBy": "SAP user",
"NotificationDate": "2020-02-17T06:05:53Z",
"RequiredStart": "2020-02-17T06:05:53Z",
"Priority": "1",
"DamageCodeGroup": "Test",
"DamageCode": "Test-1"
}
]

HTTP Response Return Value


Code

200 Eschbach.Interface.Vos.EntryItem.V1.DataFieldMappingEventsResponseVo
(JSON)

5.2.2 Eschbach.Interface.Vos.EntryItem.V1.DataFieldMappingEventsRespo
nseVo

{
"eventsCreated": 1,
"createdEventIds": [
{

Manual | Shiftconnector API | v73 Page 65 of 95


"eventGuid": "ebd4acc0-c76f-46c9-b071-eddee7b0698e",
"externalIdentifier": "010000234"
}
],
"eventsUpdated": 1,
"updatedEventIds": [
{
"eventGuid": "b4377c4d-ba62-4a9a-903a-bd6bd297735b",
"externalIdentifier": "010000235"
}
],
"eventsFailed": 2,
"failedIdentifier": [
"010000236",
"010000237"
],
"errorMessages": [
"Functional location 'IF010000237' is missing in Shiftconnector. Identifier:
'010000236'",
"Functional location 'IF010000238' is missing in Shiftconnector. Identifier:
'010000237'"
]
}

5.3 Mapping of fields between the external system and


Shiftconnector®
Data fields in the external system and in Shiftconnector® need to be mapped. Shiftconnector® API uses
JSON paths for the mapping.

The illustration below shows how the field GenericName1 in the source is mapped to the field Description in
Shiftconnector®. The value, in the illustration the word “Test”, appears in the description field of the event in
Shiftconnector®.

Manual | Shiftconnector API | v73 Page 66 of 95


Implementation details about field mapping is part of an integration project where the data from the external
data source and Shiftconnector® are evaluated and the field mapping is configured accordingly.

5.4 Event Export from Shiftconnector®


The Shiftconnector® API uses a Microsoft Windows Service to push created events to external systems. The
external system must provide an endpoint that must match a given format. Shiftconnector® API allows the
configuration of the format by a JSON template.

The external system must provide an endpoint which allows the Service to push new events to it.

An endpoint called by this service must fulfil following requirements:

• Must accept HTTP Method POST


• Must accept Basic Authentication
• Must return proper HTTP status codes when there is an error
• For example a 4xx error for authentication problems or 5xx for internal server errors.
• Must return an error message when the status code indicates an error
• The response must contain a JSON with a property called “Message”

Following example shows a request that this service would do with a SAP based configuration
(The request Body can be configured and also the response fields can be configured by using JSON path)

Request Body sent by the Service:

5.4.1 JSON Payload

{
"NotificationType": "Z1",
"ReportedBy": "SC User",
"FunctionalLocation": "IF010000233",

Manual | Shiftconnector API | v73 Page 67 of 95


"Priority": "1",
"PlannerGroup": "ZH1",
"ResponsibleWorkplace": "AM-110",
"ShortText": "Test Short 2",
"LongText": "\r\n* 04.11.2020 08:39:28 CET Interface user Interface user
(INTERFACE_1)\r\n Test Long 2"
}

Success response expected by the Service (With HTTP status code 2xx )

5.4.2 JSON Payload

{
"NotificationNumber": "000010014232",
"NotificationSystemStatus": [
"I0123"
],
"NotificationUserStatus": [
"E0001",
"E0008",
"E0009",
"E0011"
],
"PlannedStart": "2020-11-04T02:39:00Z",
"PlannedEnd": "2020-11-08T02:39:00Z"
}

Failure response expected by the Service (With HTTP status code 4xx/5xx )

5.4.3 JSON Payload

{
"Message": "Critical error. Creation was not successful!"
}

5.5 Configuration of the Data Field Mapping


The Data Field Mapping must be configured in the Shiftconnector API admin that can be found in the
configuration screen

Manual | Shiftconnector API | v73 Page 68 of 95


5.5.1 Type Mapping
For each tenant multiple type mappings can be configured.

This configuration contains the basic information needed for import and export.

I Description
D

1 The type name that is needed as URL parameter when calling the API endpoint.

(It should be the SAP Notification type for SAP Use Cases)

Manual | Shiftconnector API | v73 Page 69 of 95


I Description
D

2 The JSON Path that leads to the property that identifies each record.

(Simplified, a JSON Path is "$." and then the JSON property name)

3 The JSON Path that leads to the property that identifies the parent record where a new record should
be attached to.

4 The custom prefix which can be used when there are multiple identical identifiers within the same
tenant for different types.

5 If checked, the API will expect every date to be in UTC timezone.

6 The format of the date time.

7 The number of synchronization attempts for records created in Shiftconnector which could not be
sent.

8 The minutes to wait between each synchronization attempts of a failed record.

9 The Shiftbook, the records sent to Shiftconnector, must be created in.

1 The record type.


0

1 The Category, the records sent to Shiftconnector, must be created in.


1

1 If checked, created record in the configured Shiftbook and Category will be sent to the configured
2 URL.

1 The URL where the records must be sent to.


3

Manual | Shiftconnector API | v73 Page 70 of 95


I Description
D

1 The export template that will be filled with data from the record.
4
This template must be a JSON but the value of the property must be a special placeholder which is
then replaced with data from the record.

Following fields are supported:

Shiftconnector Template key Description Example


business field

Text {{businessfieldNa Value will be the "Test" ( null is nothing if


me.Value}} entered value. available)
Number
1234 ( null is nothing if
Decimal
available)
CalculatedString
"0.5" ( null is nothing if
Date,DateTime available)
Checkbox "Calculated text" ( null if
nothing is available)

"2020-02-17T06:05:53Z" (
null if nothing is available)

true

TreeSelect,Comb {{businessfieldNa SelectedValue will be "Value selected" ( null if


obox me.SelectedValue} replaced with the Value nothing is available)
} of the selected list
"Value selected" ( null if
value.
{{businessfieldNa nothing is available)
me.SelectedParent SelectedParentValue
[ "Text1" , "Text2" ] ( [ ]
Value}} will be replaced with
if nothing is available)
the Value of the parent
{{businessfieldNa
of the selected list
me.Values}}
value. (Will be NULL if
there is no parent)

Values will be replaced


with the Value of all
selected list values.

Manual | Shiftconnector API | v73 Page 71 of 95


I Description
D

Shiftconnector Template key Description Example


business field

FuncLoc {{FuncLoc.Selected SelectedValue will be "IF?0100123" ( null if nothing


Value}} replaced with the is available)
Custom ID of the
{{FuncLoc.Values}} [ "IF?0100123" , "IF?
selected Functional
0100124" ] ( [ ] if nothing is
location.
available)
{{ParentFuncLoc.S Values will be replaced
electedValue}} with the Custom ID of
all selected Functional "IF?0100124" ( null if nothing
locations. is available)

 If there are multiple


functional location
the first one will be
selected. This
placeholder should
be used for single
selection
configurations to
always get the
desired parent.

Manual | Shiftconnector API | v73 Page 72 of 95


I Description
D

Shiftconnector Template key Description Example


business field

Attachment {{Attachment}} Will be replaced by all


attached files.
1 .....
The content of each 2
attachment will be in a "Attachme
nt": [
Base64 string.
3 {
4
"FileName
":
"TestDoc.
pdf",
5
"FileCont
ent":
"4was3ZQk
rtuXO3VWC
kAbsdLkH5
S2IS2x7q/
qHNfqCi25
Ny26C7BQ7
HE9S"
6 }
7 ]
8 .....

- {{TypeMapping.Typ Will set the type name "M1"


e}} from the type mapping
configuration

- {{EntryItem.CaseId} Will set the case ID of "123"


} the entry item.

1 The synchronization interval for the windows service which exports the new records.
5

Manual | Shiftconnector API | v73 Page 73 of 95


I Description
D

1 The CRON string when using a CRON based synchronization. (Field "15" must be empty when using
6 this configuration)

5.5.2 Field Mapping


Each field on the Shiftconnector form must be configured in the screen when it should be filled with data
received.

I Description
D

1 Each field mapping is mapped to a type which was created on the type mappings administration
screen.

2 Select the Shiftconnector field which must also exist on the form that is mapped to the configured
category.

3 The JSON Path that leads to the property which should be filled in the Shiftconnector field.

This configuration is optional when using the feedback configuration (See "13")

Manual | Shiftconnector API | v73 Page 74 of 95


I Description
D

4 The JSON Path that leads to the property of the parent data source option.

 This configuration is only valid for TreeSelect fields and is only needed when the data source
option ID is not unique within the data source.

5 The JSON Path that leads to the property that will be added as postfix to the value found by "3"

This can be used to combine dates that are separated. For example SAP could send date and time in
two fields and then these two fields must be combined.

6 The date time format that should be used when a date field is selected.

If empty, the date time format of the type mapping will be used.

7 The time zone that should be used when a date field is selected.

If not selected, the timezone from the tenant or UTC will be used (Depending of the configuration
done in the typemapping)

8 The delimiter that should be used when a list field is selected and the value found by the path is a
single string value.

This configuration would translate then a string like "TEST1 TEST2" to [ "TEST1", "TEST2" ] when a
space is configured as delimiter.

9 The JSON Path that leads to the property that should be used in addition to the value found by "3".

Currently this configuration can be used to find a date time that should be used as end date time in a
Event or Directive date time range field.

1 If checked, an error will occur if there is no value found for the configured path.
0
Creation / update is not possible if a mandatory field is empty.

1 This option must be checked when the configured field must be filled with data sent to
1 Shiftconnector.

Manual | Shiftconnector API | v73 Page 75 of 95


I Description
D

1 This option must be checked when the configured field must be filled with data received (From the
2 request response) after a successful export.

1 This option must be checked when the configured field should be used as feedback field.
3
A feedback field will not be filled with data from a JSON but with error and feedback messages to let
the user know what went wrong.

No JSON Path configuration is needed for this configuration.

(Only one feedback field should be configured for each type)

1 If the EventStartDateTime field is selected, this checkbox determines if the Events created should
4 have an open end.

Manual | Shiftconnector API | v73 Page 76 of 95


6 Appendix
6.1 Detailed information about Generic Report Fields

 Generic report fields are fields that can be used to filter the Shiftconnector objects returned by the
GenericReport endpoint. It is possible to create custom fields for specific use cases.

Generic report fields can be combined in the GenericReportFilter property , but it is only possible to add a
field once.

If multiple filter are added they will be combined as AND.

The endpoint will only return entries that are linked to the current logged in tenant.

As described in the Open API documentation following filter operator are possible:

IsEqualTo, IsLessThan, IsGreaterThan, Contains, Like, NotLike, IsNotEqualTo, IsNull, IsNotNull,


IsLessThanOrEqualTo, IsGreaterThanOrEqualTo

Example of using multiple filter:

Get all Events with attachments and a case ID >= 86555

6.1.1 Filter Combination

{
"GenericReportFilter": [
{
"GenericReportFieldName": "AttachmentAvailable",
"GenericReportFieldFilterValue": true,
"GenericReportFieldFilterOperator": "IsEqualTo"
},
{
"GenericReportFieldName": "CaseNumber",
"GenericReportFieldFilterValue": 86555,
"GenericReportFieldFilterOperator": "IsGreaterThan"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 77 of 95


6.1.2 Possible Filter:

Field Description Example


name

Attachm Filter to get all entries


entAvaila with or without
ble attachment.
{
Accepts a Boolean "GenericReportFilter": [
value. {
"GenericReportFieldName":
"AttachmentAvailable",
"GenericReportFieldFilterValue": true,
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Batch Filter to get all entries


matching the given
Batch.
{
Accepts a string value. "GenericReportFilter": [
{
"GenericReportFieldName": "Batch",
"GenericReportFieldFilterValue":
"Test",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 78 of 95


Field Description Example
name

CaseNu Filter to get all entries


mber that are matching the
case ID.
{
Accepts a number. "GenericReportFilter": [
{
"GenericReportFieldName":
"CaseNumber",
"GenericReportFieldFilterValue": 8000,
"GenericReportFieldFilterOperator":
"IsGreaterThan"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Category Filter to get all entries


Guid with the given category
GUID.
{
Accepts a GUID string. "GenericReportFilter": [
{
"GenericReportFieldName":
"CategoryGuid",
"GenericReportFieldFilterValue":
"F7A7CFBE-92FF-477E-B551-988153323B5B",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 79 of 95


Field Description Example
name

Category Filter to get all entries


SystemN with the given category
ame system name. (The
{
system name is only "GenericReportFilter": [
given for some special {
categories and cannot "GenericReportFieldName":
be changed without "CategorySystemName",
database access) "GenericReportFieldFilterValue":
"autoEventForTaskCreation",
Accepts a string value. "GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

CreatedB Filter to get all entries


yCurrent created by the current
User logged in user.
{
Accepts a Boolean "GenericReportFilter": [
value. {
"GenericReportFieldName":
"CreatedByCurrentUser",
"GenericReportFieldFilterValue": true,
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 80 of 95


Field Description Example
name

CreatedD Filter to get all entries by


ateTime the given creation date
time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"CreatedDateTime",
"GenericReportFieldFilterValue":
"2020-10-05T09:56:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Creation Filter to get all entries


UserNam created by the given user
e name.
{
Accepts a string value. "GenericReportFilter": [
(Must be the user full {
"GenericReportFieldName":
name)
"CreationUserName",
"GenericReportFieldFilterValue":
"Andreas Eschbach",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 81 of 95


Field Description Example
name

Descripti Filter to get all entries


on with the given
description.
{
Accepts a string value. "GenericReportFilter": [
{
"GenericReportFieldName":
"Description",
"GenericReportFieldFilterValue":
"test3",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Directive. Filter to get all directives


Status with the given status.

Accepts a string value. {


(open,done,deleted) "GenericReportFilter": [
{
"GenericReportFieldName":
"Directive.Status",
"GenericReportFieldFilterValue":
"open",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Directive",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 82 of 95


Field Description Example
name

Directive. Filter to get all directives


ValidFro with the given valid
m FROM date time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"Directive.ValidFrom",
"GenericReportFieldFilterValue":
"2020-10-05T09:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Directive",
"LoadBusinessFieldValues": false
}

Directive. Filter to get all directives


ValidTo with the given valid TO
date time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"Directive.ValidTo",
"GenericReportFieldFilterValue":
"2020-10-05T09:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Directive",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 83 of 95


Field Description Example
name

EntryItem Filter to get all entries in


Assigned the given structure item
Workcent (Workcenter)
{
erGuid "GenericReportFilter": [
Accepts a GUID string.
{
"GenericReportFieldName":
"EntryItemAssignedWorkcenterGuid",
"GenericReportFieldFilterValue":
"f9a4604f-70ae-4c1e-b899-2649de1a4080",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

EntryItem Filter to get a specific


Guid entry item.

Accepts a GUID string. {


"GenericReportFilter": [
{
"GenericReportFieldName":
"EntryItemGuid",
"GenericReportFieldFilterValue":
"2ece687e-6c28-450b-9db4-12fe807c1b2a",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 84 of 95


Field Description Example
name

EntryItem Filter to get all entries


VersionN with the given version
umber number.
{
Accepts a number. "GenericReportFilter": [
{
"GenericReportFieldName":
"EntryItemVersionNumber",
"GenericReportFieldFilterValue": 6,
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Event.En Filter to get all entries


dDateTi with the given end date
me time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"Event.EndDateTime",
"GenericReportFieldFilterValue":
"2020-01-01T09:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 85 of 95


Field Description Example
name

Event.Ha Filter to get all entries


ndOverU where the given user has
serName done the handover
{
Accepts a string value. "GenericReportFilter": [
(Must be the user full {
"GenericReportFieldName":
name)
"Event.HandOverUserName",
"GenericReportFieldFilterValue":
"Andreas Eschbach",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Event.IsR Filter to get all entries


unning with an open end.

Accepts a Boolean {
value. "GenericReportFilter": [
{
"GenericReportFieldName":
"Event.IsRunning",
"GenericReportFieldFilterValue": true,
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 86 of 95


Field Description Example
name

Event.Sta Filter to get all entries


rtDateTi with the given start date
me time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"Event.StartDateTime",
"GenericReportFieldFilterValue":
"2020-10-06T09:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Function Filter to get all entries


alLocatio with the
nPath selected functional
{
location path. "GenericReportFilter": [
Accepts a string value. {
"GenericReportFieldName":
"FunctionalLocationPath",
"GenericReportFieldFilterValue":
"K1>K1-ZPW>K1-ZPW-3",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 87 of 95


Field Description Example
name

HasChild Filter to get all entries


ren with an child element.

Accepts a Boolean {
value. "GenericReportFilter": [
{
"GenericReportFieldName":
"HasChildren",
"GenericReportFieldFilterValue": true,
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

LastChan Filter to get all entries


geComm with the given change
ent comment.
{
Accepts a string value. "GenericReportFilter": [
{
"GenericReportFieldName":
"LastChangeComment",
"GenericReportFieldFilterValue":
"%Test status change%",
"GenericReportFieldFilterOperator":
"Like"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 88 of 95


Field Description Example
name

LastEditD Filter to get all entries


ateTime with the given last edit
date time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"LastEditDateTime",
"GenericReportFieldFilterValue":
"2020-10-06T05:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

LastEditU Filter to get all entries


serName with the given last edit
user name
{
Accepts a string value. "GenericReportFilter": [
(Must be the user full {
"GenericReportFieldName":
name)
"LastEditUserName",
"GenericReportFieldFilterValue":
"Andreas Eschbach",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 89 of 95


Field Description Example
name

ParentNo Filter to get all entries


deGuid with the given parent
GUID.
{
Accepts a GUID string. "GenericReportFilter": [
{
"GenericReportFieldName":
"ParentNodeGuid",
"GenericReportFieldFilterValue":
"4c51c42e-21e6-4770-9740-73af7e29edd0",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

RootNod Filter to get all entries


eGuid with the given ROOT
entry GUID.
{
Accepts a GUID string. "GenericReportFilter": [
{
"GenericReportFieldName":
"RootNodeGuid",
"GenericReportFieldFilterValue":
"35f62561-5d9b-4650-96bd-8805a91f30a0",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 90 of 95


Field Description Example
name

Shiftbook Filter to get all entries


Guid with the given Shiftbook
GUID.
{
Accepts a GUID string. "GenericReportFilter": [
{
"GenericReportFieldName":
"ShiftbookGuid",
"GenericReportFieldFilterValue":
"c47abaa3-9872-4183-9cdf-3634216164ee",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Summary Filter to get all entries


Descripti with the given summary
on description.
{
Accepts a string value. "GenericReportFilter": [
{
"GenericReportFieldName":
"SummaryDescription",
"GenericReportFieldFilterValue":
"Test",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Event",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 91 of 95


Field Description Example
name

Task.Don Filter to get all Tasks


eDateTi with the given done date
me time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"Task.DoneDateTime",
"GenericReportFieldFilterValue":
"2020-10-05T05:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Task.Due Filter to get all Tasks


Date with the given due date
time.
{
Accepts a date time "GenericReportFilter": [
string. {
"GenericReportFieldName":
"Task.DueDate",
"GenericReportFieldFilterValue":
"2020-10-05T05:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 92 of 95


Field Description Example
name

Task.Earl Filter to get all Tasks


iestStarti with the given earliest
ngDateTi starting date time.
{
me "GenericReportFilter": [
Accepts a date time
string. {
"GenericReportFieldName":
"Task.EarliestStartingDateTime",
"GenericReportFieldFilterValue":
"2020-10-05T05:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Task.IsR Filter to get all recurrent


ecurrenc Tasks.
e
Accepts a Boolean {
value. "GenericReportFilter": [
{
"GenericReportFieldName":
"Task.IsRecurrence",
"GenericReportFieldFilterValue": true,
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 93 of 95


Field Description Example
name

Task.Las Filter to get all Tasks


tComplet with the given last
edDateTi completed date time.
{
me "GenericReportFilter": [
Accepts a date time
string. {
"GenericReportFieldName":
"Task.LastCompletedDateTime",
"GenericReportFieldFilterValue":
"2020-10-05T05:14:00",
"GenericReportFieldFilterOperator":
"IsGreaterThanOrEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Task.Rec Filter to get all Tasks


urrenceT with the given
ype recurrence type.
{
Accepts a string value. "GenericReportFilter": [
{
(FixedDate,Daily,Monthl "GenericReportFieldName":
y,Weekly,Yearly) "Task.RecurrenceType",
"GenericReportFieldFilterValue":
"Weekly",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 94 of 95


Field Description Example
name

Task.Stat Filter to get all Tasks


us with the given status.

Accepts a string value. {


"GenericReportFilter": [
(open,done,overdue_ope {
n,inProgress,overdue_in "GenericReportFieldName":
Progress,deleted,planne "Task.Status",
d) "GenericReportFieldFilterValue":
"open",
"GenericReportFieldFilterOperator":
"IsEqualTo"
}
],
"EntryItemType": "Task",
"LoadBusinessFieldValues": false
}

Manual | Shiftconnector API | v73 Page 95 of 95

You might also like