Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Infrastructure services can be accessed from "http(s)://<mydomain>.emakin.com/rest" url. Service  Service methods can be called in rest format.

Table of Contents

Authentication

Infrastructure service calls requires an API Key to execute and get be acquired from system administrator.

...

Required Scope

login

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

Example Call

...

Code Block
POST http://mydomain.emakin.com/rest/v1/getToken
 
{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization"
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
 
"41AA3CE3CAFB..............BF8114"

GetTokenFromUserInfo

Generates an authentication token from the user info. If user is not found and logon provider auto registration is enabled, user is automatically created and returns an authentication token for registered user, otherwise returns authentication token if user was registered before.

Required Scope

login

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

userInfo

User information

Example Call

...

Code Block
POST http://mydomain.emakin.com/rest/v1/getTokenFromUserInfo
 
{
     "apiKey": "xxxx",
     "userInfo": {
     	"logonProvider": "LinkedIn",
        "id": "wcomx2h3jd",
        "name": "John Doe",
        "email": "john.doe@noreply.com",
     }
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
 
"41AA3CE3CAFB..............BF8114"

GetWorklist

Returns the list of work items on user's worklist. Tag parameter specifies the identifier of which list should be returned.

Required Scope

worklist_read

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

tag

Worklist identifier. If set to null default inbox is returned.

start

Start number of list. Use 0 to start from beginning.

maxLength

Limit of number of rows in list. Use -1 to get all rows.

queryXml

Optional query xml value. See

5246646

Rest Services#Query for more details.

Example Call

...

Code Block
POST http://mydomain.emakin.com/rest/v1/getWorklist
 
{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "tag": null,
     "start": 0,
     "maxLength": 30,
     "queryXml" : ""
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
 
[
      {
         "Id":"e5134318-88bd-4a33-b561-4d78380734ce",
         "Caption":"A new task",
         "Start":"/Date(1445812020394)/",
         "End":null,
         "Instructions":"Please complete.",
         "State":"Waiting",
         "Number":12471
      },
      {
         "Id":"796a34c6-fd2e-450e-a2af-8124ea68f8ca",
         "Caption":"A new other task",
         "Start":"/Date(1445512843034)/",
         "End":null,
         "Instructions":"Please complete.",
         "State":"Waiting",
         "Number":12468
      }
]

GetWorklistCount

Returns number of records in the worklist. You can use this method to specify paging parameters in the GetWorkList method.

Required Scope

worklist_read

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

tag

Worklist identifier. If set to null, default inbox is returned.

queryXml

Optional query xml value. See

5246646

Rest Services#Query for more details.

Example Call

...

Code Block
POST http://mydomain.emakin.com/rest/v1/getWorklistCount
 
{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "tag": null,
     "queryXml" : ""
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
 
50

GetWorkItem

Gets workitem information to display or complete with action.

Required Scope

worklist_read

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

id

Work item identifier.

readOnly

Set true to fetch work item read only. Default is false.

Example Call

...

Code Block

...

POST http://mydomain.emakin.com/rest/v1/getWorkItem

{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "id": "e5134318-88bd-4a33-b561-4d78380734ce"
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "Id": "e5134318-88bd-4a33-b561-4d78380734ce",
    "Caption": "A new task",
    "Culture": "en-US",
    "Start": "/Date(1445812020394)/",
    "End": null,
    "DeadlineDate": null,
    "InstanceNumber": 12471,
    "IsReadOnly": false,
    "SelectedActionId": null,
    "Actions": [
        {
            "Id": "2b0aa720-82f8-4a62-b7a1-2389203fa5e7",
            "Name": "Complete",
            "Color": "",
            "BackgroundColor": "",
            "Order": 1,
            "Hidden" : false,
            "RequireComment": false,
            "ConfirmationMessage": "",
            "ValidationGroup": ""
        },
        {
            "Id": "c5350e5c-6e03-4b72-9522-49ab7f849b8a",
            "Name": "Cancel",
            "Color": "",
            "BackgroundColor": "",
            "Order": 2,
            "Hidden" : false,
            "RequireComment": true,
            "ConfirmationMessage": "",
            "ValidationGroup": ""
        }
    ]
 }

SelectAction

Selects an action of a work item and returns an array of next work item identifiers.

...

workitem_action

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

id

Work item identifier.

action

Action identifier.

data

XML data. Can be null. (There is no merge operation.The whole form data should be sent, otherwise

the form data is replaced with the new data. The data can be retrieved by the GetWorkItemData method.

The final data should be send inside of a form element. e.g. <form><Data>...</Data></form>)

comments

User comments

Example Call

...

Code Block

...

POST http://mydomain.emakin.com/rest/v1/selectAction

{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "id": "e5134318-88bd-4a33-b561-4d78380734ce",
     "action": "c5350e5c-6e03-4b72-9522-49ab7f849b8a",
     "data": null
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[ "716F8FCB-98C2-4591-8C43-043D54DEAADA" ]

InitiateByProcess

Initiates a new process instance with specified parameters and returns the Id number of work item.

...

process_initiate

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

process

Name or Id number of the process

task

Name or Id number of the task

version

Version number or id of process. Can be null.

data

XML data. Can be null.

culture

Culture preference. Can be null.

Example Call

...

Code Block

...

POST http://mydomain.emakin.com/rest/v1/initiateByProcess

{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "process": "e5134318-88bd-4a33-b561-4d78380734ce",
     "task": "c5350e5c-6e03-4b72-9522-49ab7f849b8a",
     "version": null,
     "data": "<pool><myField>ABC</myField></pool>",
     "culture": null
}

...

Code Block
HTTP/1.1 200 OK

"716F8FCB-98C2-4591-8C43-043D54DEAADA"

ExecuteModule

Executes the specified module and returns result value of module function.

Required Scope

module_execute

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

process

Name or id number of process

module

Name of module to be call.

function

Name of function to be call.

arguments

Array of function parameters.

Example Call

...

Code Block
POST http://mydomain.emakin.com/rest/v1/executeModule

{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "process" : "MyProcess",
     "module": "MyModule",
     "function": "myFunction",
     "arguments": ["myParameter","myOtherParameter"]
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
     "property1": 1,
     "property2": "value"
}

Trigger

Triggers an event for listeners on all processes and returns array of id number of triggered work items. When there is no listener return value is a empty array.

Required Scope

event_trigger

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

eventName

Name of event

testMode

Trigger the test mode or not work items

inputData

Event Data in XML can be null.

culture

Culture preference. Can be null.

Example Call

...

Code Block
POST http://mydomain.emakin.com/rest/v1/trigger

{
     "apiKey": "xxxx",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "eventName" : "myEvent",
     "inputData": "<pool><eventParameter>ABC</eventParameter></pool>",
     "testMode": false,
     "culture": null
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

["716F8FCB-98C2-4591-8C43-043D54DEAADA"]

Query

Query is xml based string that specifies the requested result. If not specified, default query is performed.

Query definition uses the following column names to be specified as a result set column name, criteria and order.

Worklist Columns

Name

Description

Id

Unique work item identifier

Name

Name of a work item

Caption

Localized caption of a work item.

State

State of work a  item.

Start

Start date of a work item

End

End date of a work item. Can be null.

IsDeadlined

A boolean that specifies the deadline has occurred.

DeadlineDate

Deadline date. Can be null.

NextReminderDate

Next reminder date. Can be null.

SentReminders

Number of sent reminders

Instructions

Instructions of work item

InstanceId

Unique instance identifier

PreviousWorkItemId

Previous id number of work item. Can be null.

ActionId

Unique action identifier. Can be null.

CompletedById

Id number of completed by user. Can be null.

CompletedBy

Display name of completed by user. Can be null.

Number

Instance number

Priority

Instance priority

ProcessId

Id number of process

ProcessName

Name of process

FromId

Id number of initiator user. Can be null.

From

Display name of initiator user. Can be null.

FolderId

Id number of related folder id.

FolderName

Name of related folder.

AssignedTo

List of assigned users

VersionNumber

Version number of related process

VersionId

Id number of related process version

TestMode

A boolean that specifies instance is in test mode or not.

Instance.Start

Start date of instance

Instance.State

State of instance

Query contains the following sections;

...

decision_execute

Parameters

Parameter Name

Description

apiKey

Caller system identifier.

logonId

User logon id

logonProvider

User logon provider.

process

Name or Id number of the process

model

Name or Id number of the decision model

decision

Name or Id number of the decision

inputData

Decision input data. Xml or Json string.

Example Call

...

Code Block

...

POST https://mydomain.emakin.com/rest/v1/decision

{
     "apiKey": "",
     "logonId": "user@emakin.com",
     "logonProvider": "Organization",
     "process" : "Decision",
     "model" : "dinner",
     "decision" : "Dish",
     "inputData": "<pool><Season>Fall</Season><NumberOfGuests>2</NumberOfGuests></pool>"
}

...

Code Block
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 26

{"Dish":"Spareribs"}