ServiceDesk API User Guide

This page will assit you understand main areas of a Wello Service Desk. Wello allows users to create their own service desks if needed using our API.

In here we will guide you through what API methods you should use and basic introduction to UI used on our service desk.

Main Areas Of Wello Service Desk



Use of OData within Wello Service Desk

OData (Open Data protocol) is an open protocol that allows the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way.

In short, it gives you the possibility to filter the data directly in the request URL.

Wello API is using version 4 of OData.

The goal is not to fully describe it here, but if you need more information (like $filters examples) you will find it on the website of OData http://www.odata.org/documentation/.

Take care, ODATA is case sensitive. It means +AND+ on the $filters will not work but well +and+.

OData has some conventions about the URL. Here are the major conventions,

  • Getting a list of data

    E.g. Retrieving a list of Task

    HTTP GET : ~/api/TaskView 
    {
    	"@odata.context": "https://servicedeskapi.wello.solutions/api/$metadata#TaskView",
    	"value": [
    		{
    			"id": "0e165668-de71-43a6-a5cb-16a99c868562",
    			"task_type_id": "21d3a15d-a149-4685-8591-9a9cbeb3e755",
    			"company_id": "e6eb5764-7247-485e-a0b8-ec59e4afa2e5",
    			"contact_id": "2ae200a8-c5f1-4860-a861-aeebf7fb1025",
    			"to_db_table_id": "00000000-0000-0000-0000-000000000000",
    			"to_id_in_table": "00000000-0000-0000-0000-000000000000",
    			"subject": "TESTAPI Subject",
    			"remark": "",
    			"assigned_to_user_id": "00000000-0000-0000-0000-000000000000",
    			"assigned_to_user_group_id": "00000000-0000-0000-0000-000000000000",
    			"date_create": "2015-09-09T15:32:01.350Z",
    			"date_update": "2015-09-09T15:32:01.350Z",
    			"date_start": "1980-01-01T00:00:00.000Z",
    			"due_date": "1980-01-01T00:00:00.000Z",
    			"date_closed": "1980-01-01T00:00:00.000Z",
    			"archived": false,
    			"id2": 33,
    			"date_assigned": "1980-01-01T00:00:00.000Z",
    			"date_suggested_by_company": "1980-01-01T00:00:00.000Z",
    			"company_name": "APITEST0001 Company",
    			"company_code": "",
    			"db_address_phone": "",
    			"db_address_email": "",
    			"contact_fullname": "APITEST0001 FirstName APITEST0001 LastName",
    			"contact_db_address_phone": "",
    			"contact_db_address_email": "",
    			"task_type_name": "APITEST 0001",
    			"task_status_id": "5e095b8f-2c80-4b95-a2f7-1cf3909ede54",
    			"task_status_name": "TaskStatusXXXX",
    			"task_status_description": "TaskStatusXXXX",
    			"task_priority_id": "87d8216e-e753-402d-a31e-a512862e6e4f",
    			"task_priority_name": "High SD",
    			"assigned_to_user_fullname": " ",
    			"assigned_to_user_group_name": "",
    			"sales_organization_name": "Test Organization 1",
    			"jobs_id2": 0,
    			"jobs_reference_back_office": "",
    			"jobs_name": "",
    			"modified_dateutc": "2015-09-09T13:32:03.023Z"
    		},
    		{
    			"id": "0e165668-de71-43a6-a5cb-16a99c868562",
    			"task_type_id": "21d3a15d-a149-4685-8591-9a9cbeb3e755",
    			"company_id": "e6eb5764-7247-485e-a0b8-ec59e4afa2e5",
    			"contact_id": "2ae200a8-c5f1-4860-a861-aeebf7fb1025",
    			"to_db_table_id": "00000000-0000-0000-0000-000000000000",
    			"to_id_in_table": "00000000-0000-0000-0000-000000000000",
    			"subject": "TESTAPI Subject",
    			"remark": "",
    			"assigned_to_user_id": "00000000-0000-0000-0000-000000000000",
    			"assigned_to_user_group_id": "00000000-0000-0000-0000-000000000000",
    			"date_create": "2015-09-09T15:32:01.350Z",
    			"date_update": "2015-09-09T15:32:01.350Z",
    			"date_start": "1980-01-01T00:00:00.000Z",
    			"due_date": "1980-01-01T00:00:00.000Z",
    			"date_closed": "1980-01-01T00:00:00.000Z",
    			"archived": false,
    			"id2": 33,
    			"date_assigned": "1980-01-01T00:00:00.000Z",
    			"date_suggested_by_company": "1980-01-01T00:00:00.000Z",
    			"company_name": "APITEST0001 Company",
    			"company_code": "",
    			"db_address_phone": "",
    			"db_address_email": "",
    			"contact_fullname": "APITEST0001 FirstName APITEST0001 LastName",
    			"contact_db_address_phone": "",
    			"contact_db_address_email": "",
    			"task_type_name": "APITEST 0001",
    			"task_status_id": "5e095b8f-2c80-4b95-a2f7-1cf3909ede54",
    			"task_status_name": "TaskStatusXXXX",
    			"task_status_description": "TaskStatusXXXX",
    			"task_priority_id": "87d8216e-e753-402d-a31e-a512862e6e4f",
    			"task_priority_name": "High SD",
    			"assigned_to_user_fullname": " ",
    			"assigned_to_user_group_name": "",
    			"sales_organization_name": "Test Organization 1",
    			"jobs_id2": 0,
    			"jobs_reference_back_office": "",
    			"jobs_name": "",
    			"modified_dateutc": "2015-09-09T13:32:03.023Z"
    		}
    	]
    }
  • Getting a single entity using its id

    E.g. Retrieving a Task that has an id of "0e165668-de71-43a6-a5cb-16a99c868562"

    HTTP GET : ~/api/TaskView(0e165668-de71-43a6-a5cb-16a99c868562) 
  • Filtering of data $filter

    OData filters allow users to retrieve lists of data based on certain conditions.

    E.g.1 Getting only the list of Tasks that have been modified after 9th of September 2015

    HTTP GET : ~/api/TaskView?$filter=modified_dateutc+gt+'2015-09-09T00:00:00.000Z' 

    E.g.2 Tasks which have been modified after 9th of September 2015 and of which subject equals to ‘TESTAPI Subject’

    HTTP GET : ~/api/TaskView?$filter=modified_dateutc+gt+'2015-09-09T00:00:00.000Z'+and+subject+eq+'TESTAPI+Subject' 
  • Ordering of data $orderby

    E.g. Retrieving a sorted list of tasks that is filtered on a specific type

    HTTP GET : ~/api/TaskView?$orderby=id2+desc
  • Limit the number of data $top

    The "$top" functionality requests a number of items in the queried collection to be included in the result.

    E.g. Retrieve only the first 10 tasks.

    HTTP GET : ~/api/TaskView?$top=10 
  • Exclude data $skip

    The "$skip" functionality is used to skip a number of items that should not be included in the result.

    E.g. Retrieve tasks starting with the 9th Task

    HTTP GET : ~/api/TaskView?$skip=8 
  • Selecting specific data $select

    This option allows users to select columns of the table should be returned.

    E.g. Retrieve only the subject, id of all the tasks.

    $select is NOT working with XML format, but only with JSON. (Known issue with Odata)

    HTTP GET : ~/api/TaskView?$select=subject,id