(Quick Reference)
71 Appointment Categories - Reference Documentation
Version: 2.1
71 Appointment Categories
71.1 List
Service: List categories of appointment
Description: This web service returns a json list of categories of appointment.
URL:
https://BASE_URL/api/VERSION/appointmentCategories
Method: GET
Parameters:
Pagination parameters:
Name | Description | Type | Required | Possible values |
---|
max | Limits the number of resources requested to return. | Integer | no | |
offset | Tells where to start returning records from the entire set of results. | Integer | no | |
order | Orders ascending or descending. | Integer | no | asc,desc |
sort | Orders the results by the specified field. | String | no | |
The
max
parameter is set to
100
by default.
Filters parameters:
Name | Description | Type | Required | Example values |
---|
dateCreated_gt | Filters by the resource's creation date time and operator greater than | Date | no | 2016-08-15T14:52:48Z |
dateCreated_gte | Filters by the resource's creation date time and operator greater than or equal | Date | no | |
dateCreated_lt | Filters by the resource's creation date time and operator less than | Date | no | |
dateCreated_lte | Filters by the resource's creation date time and operator less than or equal | Date | no | |
lastUpdated_gt | Filters by the resource's last-modified date time and operator greater than | Date | no | |
lastUpdated_gte | Filters by the resource's last-modified date time and operator greater than or equal | Date | no | |
lastUpdated_lt | Filters by the resource's last-modified date time and operator less than | Date | no | |
lastUpdated_lte | Filters by the resource's last-modified date time and operator less than or equal | Date | no | |
name | Wildcard search by the resource's name | String | no | |
Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)
Success Output
Success case: response.status=200
{
"paging": {
"total": 12,
"max": 5,
"offset": 0,
"previous": null,
"next": "/api/v1.0/appointmentCategories?max=5&offset=5&sort=dateCreated&order=asc"
},
"data": [
{
"id": 1,
"reference": "meeting",
"name": "Rendez-vous",
"isActive": true,
"isDefault": true,
"color": "#FFD312",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-10-12T09:32:18Z"
},
{
"id": 2,
"reference": "holidays",
"name": "Holidays",
"isActive": true,
"isDefault": true,
"color": "#91C847",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-09-09T17:18:40Z"
},
{
"id": 3,
"reference": "phone_call",
"name": "Phone call",
"isActive": true,
"isDefault": true,
"color": "#1F939B",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-09-09T17:18:40Z"
},
{
"id": 4,
"reference": "business_trip",
"name": "Business trip",
"isActive": true,
"isDefault": true,
"color": "#EA1A45",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-09-09T17:18:40Z"
},
{
"id": 5,
"reference": "other",
"name": "Other",
"isActive": true,
"isDefault": true,
"color": "#8395A2",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-09-09T17:18:40Z"
}
]
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param",
"error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
{
"error": "invalid_datetime_format",
"error_description": "Invalid datetime filter (not ISO-8601 formatted): [2016-08-1Z]"
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
71.2 Show
Service: Show an appointment category
Description: This web service return an existing appointment category object of the specified id in JSON format
URL:
https://BASE_URL/api/VERSION/appointmentCategories/{id}
URL with external_id:
https://BASE_URL/api/VERSION/appointmentCategories/reference/{id}
Method: GET
Parameters:
Name | Description | Type | Required | Example values |
---|
id | id of the wanted record | Long/String | Yes | 777 |
Success Output
Success case: response.status=200
{
"id": 1,
"reference": "meeting",
"name": "Rendez-vous",
"isActive": true,
"isDefault": true,
"color": "#FFD312",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-10-12T09:32:18Z"
}
Failure Output
Failure case:response.status = 400
{
"error": "invalid_param_type",
"error_description": "The type of parameter id you provided is not valid for this request."
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The appointment category with the id 999 doesn't exist."
}
71.3 Save
Service: Save an appointment category
Description: This web service is used to add a new appointment category object to the database
URL:
https://BASE_URL/api/VERSION/appointmentCategories
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
reference | the reference of the new appointment category | String | Yes | |
name | the name of the new appointment category | String | Yes | |
isActive | | Boolean | No | true |
color | hex code | String | No | #FFFFFF, #1BE9D8 |
The default value of isActive is true
The reference must be unique
Success Output
Success case: response.status=201
{
"id": 11,
"reference": "team_meeting",
"name": "Weekly sales team meeting",
"isActive": true,
"isDefault": false,
"color": "#1BE9D8",
"organization": "entity1",
"dateCreated": "2016-09-09T08:18:51Z",
"lastUpdated": "2016-09-09T08:18:51Z"
}
Failure Output
Failure case:response.status = 400
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: isActive (must be a boolean: true or false)"
}
{
"error": "not_unique",
"error_description": "reference already used"
}
{
"error": "invalid_color_format",
"error_description": "The format used to indicate the color is incorrect"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
71.4 Update
Service: Update an appointment category
Description: This web service is used to update an existing appointment category object to the database
URL:
https://BASE_URL/api/VERSION/appointmentCategories/{id}
URL with external_id:
https://BASE_URL/api/VERSION/appointmentCategories/reference/{id}
Method: PUT
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
id | id of the desired record to update | Long/String | Yes | 777 |
reference | the reference of the appointment category | String | Yes | |
name | the name of the appointment category | String | Yes | |
isActive | | Boolean | No | true |
color | hex code | String | No | #FFFFFF, #1BE9D8 |
The default value of isActive is true
The reference of a default appointment category can not be updated
The reference must be unique
Success Output
Success case: response.status=200
{
"id": 1,
"reference": "meeting",
"name": "Rendez-vous",
"isActive": true,
"isDefault": true,
"color": "#FFD312",
"organization": "entity1",
"dateCreated": "2016-09-09T17:18:40Z",
"lastUpdated": "2016-10-12T09:32:18Z"
}
Failure Output
Failure case:response.status = 400
{
"error":"invalid_param_type",
"error_description": "The type of parameter id you provided is not valid for this request."
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: isActive (must be a boolean: true or false)"
}
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "not_unique",
"error_description": "reference already used"
}
{
"error": "invalid_color_format",
"error_description": "The format used to indicate the color is incorrect"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The appointment category with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
71.5 Upsert
Service: Upsert an appointment category
Description: This web service is used to insert an appointment category object to the database if it does not already exist, or update it.
URL with external_id:
https://BASE_URL/api/VERSION/appointmentCategories/reference/{id}
Method: POST
Request content type: application/json
Parameters:
Name | Description | Type | Required | Example values |
---|
name | the name of the new appointment category | String | Yes | |
isActive | | Boolean | No | true |
color | | String | No | #FFFFFF, #1BE9D8 |
The default value of isActive is true
The reference must be unique
Success Output
Success case: response.status=201
{
"id": 11,
"reference": "team_meeting",
"name": "Weekly sales team meeting",
"isActive": true,
"isDefault": false,
"color": "#1BE9D8",
"organization": "entity1",
"dateCreated": "2016-09-09T08:18:51Z",
"lastUpdated": "2016-09-09T08:18:51Z"
}
Failure Output
Failure case:response.status = 400
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "invalid_param_type",
"error_description": "An invalid value was specified for parameter: isActive (must be a boolean: true or false)"
}
{
"error": "not_unique",
"error_description": "reference already used"
}
{
"error": "invalid_color_format",
"error_description": "The format used to indicate the color is incorrect"
}
{
"error": "save_failed",
"error_description": "Failed to save instance"
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}
71.6 Delete
Service: Delete an appointment category
Description: This web service is used to delete an existing appointment category object to the database
URL:
https://BASE_URL/api/VERSION/appointmentCategories/{id}
URL with external_id:
https://BASE_URL/api/VERSION/appointmentCategories/reference/{id}
Method: DELETE
Parameters:
Name | Description | Type | Required | Example values |
---|
id | id of the desired record to delete | Long/String | Yes | 777 |
In order to delete an appointment categories there is two special condition we must respect.
The first is that the desired appointment category must not be a default category.
The second is that appointment category must not contains any appointments.
Success Output
Success case: response.status=200
{
"success": "true",
"success_description": "Instance deleted successfully"
}
Failure Output
Failure case:response.status = 400
{
"error":"invalid_param_type",
"error_description": "The type of parameter id you provided is not valid for this request."
}
{
"error": "delete_not_authorized",
"error_description": "the appointment category you are trying to delete is a default category"
}
{
"error": "missing_param",
"error_description": "name parameter is missing"
}
{
"error": "delete_failed",
"error_description": "Failed to delete instance."
}
Failure case:response.status = 404
{
"error": "not_found",
"error_description": "The appointment category with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
"error": "server_error",
"error_description": "Oops! Something went wrong..."
}