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.
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