Including process based services Emakin also provides infrastructure services to integrate with other applications.
Infrastructure services can be accessed from "http(s)://<mydomain>.emakin.com/rest.asmx" url. Depending on call style service methods can be called in soap or rest format. If you prefer the use SOAP related WSDL document can be accessed from http://<mydomain>.emakin.com/rest.asmx?WSDL
Authentication
Infrastructure service calls requires an API Key to execute and get be acquired from system administrator.
Some of methods requires "logonId" and "logonProvider" parameters to act as user's behalf. Logon provider specifies the registered open auth logon provider. If default emakin login system is used can be specified as "Organization". Depending on selected provider logon id can be changes, for example if you use active directory logon id can be specified as windows logon user.
Services
GetToken
Generates an authentication token to authorize users later. Generated token can be use to "auth" parameter to authorise users without login requirement.
Parameters
Parameter Name | Description |
---|---|
apiKey | Caller system identifier. |
logonId | User logon id |
logonProvider | User logon provider. |
Example Call
Request | Response |
---|---|
POST http://ertan.emakin.com/rest.asmx/getToken HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin.com Content-Length: 80 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization" } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:10:10 GMT Content-Length: 144 {"d":"41AA3CE3CAFB..............BF8114"} |
GetWorklist
Returns the list of work items on user's worklist. Tag parameter specifies the identifier of which list should be return.
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. |
Example Call
Request | Response |
---|---|
POST http://ertan.emakin.com/rest.asmx/getWorklist HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin.com Content-Length: 91 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization", "tag": null, "start": 0, "maxLength": 30 } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:15:17 GMT Content-Length: 1245 { "d":[ { "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 worklist. You can use this method to specify paging parameters in GetWorkList method.
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. |
Example Call
Request | Response |
---|---|
POST http://ertan.emakin.com/rest.asmx/getWorklistCount HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin.com Content-Length: 91 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization", "tag": null } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:15:17 GMT Content-Length: 8 { "d":50 } |
GetWorkItem
Gets workitem information to display or complete with action.
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
Request | Response |
---|---|
POST http://ertan.emakin2.com/rest.asmx/getWorkItem HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin2.com Content-Length: 124 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization", "id": "e5134318-88bd-4a33-b561-4d78380734ce" } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:23:33 GMT Content-Length: 516 { "d": { "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 }, { "Id": "c5350e5c-6e03-4b72-9522-49ab7f849b8a", "Name": "Cancel", "Color": "", "BackgroundColor": "", "Order": 2 } ] } } |
GetWorkItemData
Gets the xml data of workitem.
Parameters
Parameter Name | Description |
---|---|
apiKey | Caller system identifier. |
logonId | User logon id |
logonProvider | User logon provider. |
id | Work item identifier. |
Example Call
Request | Response |
---|---|
POST http://ertan.emakin2.com/rest.asmx/getWorkItemData HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin2.com Content-Length: 124 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization", "id": "e5134318-88bd-4a33-b561-4d78380734ce" } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:23:33 GMT Content-Length: 516 { "d": { "Data": "<xml><poolRoot>.....</poolRoot></xml>", "DataRoot": "poolRoot" } } |
SelectAction
Selects an action on a work item and returns array of next work item identifiers.
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. |
comments | User comments |
Example Call
Request | Response |
---|---|
POST http://ertan.emakin2.com/rest.asmx/selectAction HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin2.com Content-Length: 124 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization", "id": "e5134318-88bd-4a33-b561-4d78380734ce", "action": "c5350e5c-6e03-4b72-9522-49ab7f849b8a", "data": null } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:23:33 GMT Content-Length: 516 { "d": [ "716F8FCB-98C2-4591-8C43-043D54DEAADA" ] } |
InitiateByProcess
Initiates a new process instance with specified parameters and returns the Id number of work item.
When testing this method with Soap UI, you must include the xml for the data parameter inside <![CDATA[]]>, for example: <![CDATA[<pool><myField>ABC</myField></pool>]]>
Parameters
Parameter Name | Description |
---|---|
apiKey | Caller system identifier. |
logonId | User logon id |
logonProvider | User logon provider. |
process | Name or Id number of process |
task | Name or Id number of task |
data | XML data. Can be null. |
culture | Culture preference. Can be null. |
Example Call
Request | Response |
---|---|
POST http://ertan.emakin2.com/rest.asmx/initiateByProcess HTTP/1.1 Content-Type: application/json; charset=utf-8 Host: ertan.emakin2.com Content-Length: 124 { "apiKey": "xxxx", "logonId": "user@emakin.com", "logonProvider": "Organization", "process": "e5134318-88bd-4a33-b561-4d78380734ce", "task": "c5350e5c-6e03-4b72-9522-49ab7f849b8a", "data": "<pool><myField>ABC</myField></pool>" } | HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: application/json; charset=utf-8 Date: Mon, 26 Oct 2015 21:23:33 GMT Content-Length: 516 { "d": "716F8FCB-98C2-4591-8C43-043D54DEAADA" } |