(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:

NameDescriptionTypeRequiredPossible values
maxLimits the number of resources requested to return.Integerno 
offsetTells where to start returning records from the entire set of results.Integerno 
orderOrders ascending or descending.Integernoasc,desc
sortOrders the results by the specified field.Stringno 

The max parameter is set to 100 by default.

Filters parameters:

NameDescriptionTypeRequiredExample values
dateCreated_gtFilters by the resource's creation date time and operator greater thanDateno2016-08-15T14:52:48Z
dateCreated_gteFilters by the resource's creation date time and operator greater than or equalDateno 
dateCreated_ltFilters by the resource's creation date time and operator less thanDateno 
dateCreated_lteFilters by the resource's creation date time and operator less than or equalDateno 
lastUpdated_gtFilters by the resource's last-modified date time and operator greater thanDateno 
lastUpdated_gteFilters by the resource's last-modified date time and operator greater than or equalDateno 
lastUpdated_ltFilters by the resource's last-modified date time and operator less thanDateno 
lastUpdated_lteFilters by the resource's last-modified date time and operator less than or equalDateno 
nameWildcard search by the resource's nameStringno 

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:

NameDescriptionTypeRequiredExample values
idid of the wanted recordLong/StringYes777

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:

NameDescriptionTypeRequiredExample values
referencethe reference of the new appointment categoryStringYes 
namethe name of the new appointment categoryStringYes 
isActive BooleanNotrue
colorhex codeStringNo#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:

NameDescriptionTypeRequiredExample values
idid of the desired record to updateLong/StringYes777
referencethe reference of the appointment categoryStringYes 
namethe name of the appointment categoryStringYes 
isActive BooleanNotrue
colorhex codeStringNo#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:

NameDescriptionTypeRequiredExample values
namethe name of the new appointment categoryStringYes 
isActive BooleanNotrue
color StringNo#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:

NameDescriptionTypeRequiredExample values
idid of the desired record to deleteLong/StringYes777

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