(Quick Reference)

72 Appointments - Reference Documentation

Version: 2.1

72 Appointments

72.1 List

Service: List of appointments

Description: This web service returns a json list of appointments.

URL:

https://BASE_URL/api/VERSION/appointments

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 
startDate_gtFilters by the resource's startDate date time and operator greater thanDateno 
startDate_gteFilters by the resource's startDate date time and operator greater than or equalDateno 
startDate_ltFilters by the resource's startDate date time and operator less thanDateno 
startDate_lteFilters by the resource's startDate date time and operator less than or equalDateno 
endDate_gtFilters by the resource's endDate date time and operator greater thanDateno 
endDate_gteFilters by the resource's endDate date time and operator greater than or equalDateno 
endDate_ltFilters by the resource's endDate date time and operator less thanDateno 
endDate_lteFilters by the resource's endDate date time and operator less than or equalDateno 
titleWildcard search by the resource's titleStringno 
customerReferenceWildcard search by the resource's customer referenceStringnocustomerReference=Ref-6* , customerReference=*ef-6 , customerReference=*ef-6*
employeeReferenceWildcard search by the resource's employee referenceStringnoemployeeReference=Ref-6* , employeeReference=*ef-6 , employeeReference=*ef-6*

Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)

Success Output

Success case: response.status = 200

{
  "paging": {
    "total": 116,
    "max": 2,
    "offset": 0,
    "previous": null,
    "next": "/api/v1.0/appointments?max=2&offset=2&sort=dateCreated&order=asc"
  },
  "data": [
    {
      "id": 2,
      "dateCreated": "2014-09-14T10:20:44Z",
      "lastUpdated": "2014-09-14T10:20:44Z",
      "title": "Price Negotiation",
      "note": null,
      "startDate": "2014-09-14T10:20:44Z",
      "endDate": "2014-09-14T10:30:44Z",
      "done": false,
      "customerId": 19,
      "customer": {
	    "id": 19,
	    "reference": "BATAM",
	    "name": "Magasin BATAM",
	    "href": "/api/v1.0/customers/19"
	  },
      "appointmentCategoryId": 3,
        "appointmentCategory": {
	    "id": 3,
	    "reference": "phone_call",
	    "name": "Phone call",
	    "href": "/api/v1.0/appointmentCategories/3"
	  },
      "contacts": []
    },
    {
      "id": 23,
      "dateCreated": "2016-10-11T10:06:44Z",
      "lastUpdated": "2016-10-11T10:06:44Z",
      "title": "Control merchandise",
      "note": null,
      "startDate": "2016-10-27T05:00:00Z",
      "endDate": "2016-10-27T05:00:00Z",
      "done": false,
      "customerId": null,
      "customer": null,
      "appointmentCategoryId": 5,
      "appointmentCategoryId": 3,
        "appointmentCategory": {
	    "id": 5,
	    "reference": "other",
	    "name": "Autre",
	    "href": "/api/v1.0/appointmentCategories/5"
	  },
      "contacts": []
    }
  ]
}

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

72.2 Show

Service: Show an appointment

Description: This web service return an existing appointment object of the specified id in JSON format

URL:

https://BASE_URL/api/VERSION/appointments/{id}

URL with external_id :

https://BASE_URL/api/VERSION/appointments/reference/{id}

Method: GET

Parameters:

NameDescriptionTypeRequiredExample values
idid of the wanted recordLong/StringYes777

Success Output

Success case: response.status = 200
{
  "id": 5,
  "reference": "Ref-01",
  "title": "meeting with Mrs. Schrader",
  "note": "meeting with Mrs. Schrader at Friday, Nov 27 15:25:00 UTC 2016",
  "startDate": "2015-12-27T14:25:00Z",
  "endDate": "2015-12-27T14:50:00Z",
  "done": true,
  "user": {
    "id": 1,
    "reference": "emp04",
    "href": "/api/v1.0/users/1"
  },
  "customerId": 2,
  "customer": {
    "id": 2,
    "reference": "NC-3",
    "name": "Marie's Jewelry",
    "href": "/api/v1.0/customers/2"
  },
  "appointmentCategoryId": 1,
  "appointmentCategory": {
    "id": 1,
    "reference": "meeting",
    "name": "Rendez-vous",
    "href": "/api/v1.0/appointmentCategories/1"
  },
  "contacts": [
    {
      "id": 1,
      "href": "/api/v1.0/contacts/1"
    }
  ],
  "organization": "entity1",
  "dateCreated": "2015-12-15T14:15:02Z",
  "lastUpdated": "2016-09-09T17:21:30Z"
}

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 with the id 999 doesn't exist."
}

72.3 Save

Service: Create an appointment

Description: This web service is used to add a new appointment object to the database

URL:

https://BASE_URL/api/VERSION/appointments

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
referencethe reference of the new appointmentStringYes 
title Stringyes 
startDate Stringyes2016-10-09T08:10:00Z
endDate Stringyes2016-11-09T08:10:00Z
note Stringno 
appointmentCategoryId Integer/Stringyes123
done Booleannotrue , false
customerId Long/Stringno 
contactslist of contacts id of specified customer to be assigned to the appointmentListno[1,2,3,4] , [1]
useExternalIdBy default, it is set to false. set it to true if you want to use external ids.Booleannotrue , false

Success Output

Success case: response.status = 201
{
  "id": 132,
  "reference": "ref-01",
  "title": "Check the rest",
  "note": "checking if the rest of merchandise is transfered",
  "startDate": "2016-10-12T09:20:00Z",
  "endDate": "2016-10-12T09:25:00Z",
  "done": true,
  "user": {
    "id": 4,
    "reference": "emp-00",
    "href": "/api/v1.0/users/4"
  },
  "customerId": 3230,
  "customer": {
    "id": 3230,
    "reference": "960",
    "name": "Flipopia",
    "href": "/api/v1.0/customers/3230"
  },
  "appointmentCategoryId": 1,
  "appointmentCategory": {
    "id": 1,
    "reference": "meeting",
    "name": "Rendez-vous",
    "href": "/api/v1.0/appointmentCategories/1"
  },
  "contacts": [
    {
      "id": 9,
      "href": "/api/v1.0/contacts/9"
    },
    {
      "id": 8,
      "href": "/api/v1.0/contacts/8"
    }
  ],
  "organization": "entity1",
  "dateCreated": "2016-10-12T11:28:34Z",
  "lastUpdated": "2016-10-12T11:28:34Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "missing_param",
  "error_description": "title parameter is missing"
}

{
  "error": "date_validation_error",
  "error_description": "Failed to add the appointment with the reference -: startDate incorrect Date Format"
}

{
  "error": "invalid_param_type",
  "error_description": "The type of parameter appointmentCategoryId you provided is not valid for this request."
}

{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

{
  "error": "not_found",
  "error_description": "The customer with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
     "error": "server_error",
     "error_description": "Oops! Something went wrong..."
}

72.4 Update

Service: Update an appointment

Description: This web service is used to add a new appointment object to the database

URL:

https://BASE_URL/api/VERSION/appointments/{id}

URL with external_id:

https://BASE_URL/api/VERSION/appointments/reference/{id}

Method: PUT

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
idid of the desired record to updateLong/Stringyes777
referencethe reference of the appointmentStringYes 
title Stringyes 
startDate Stringyes2016-10-09T08:10:00Z
endDate Stringyes2016-11-09T08:10:00Z
note Stringno 
appointmentCategoryId Integer/Stringyes123
done Booleannotrue , false
customerId Long/Stringno 
contactslist of contacts id of specified customer to be assigned to the appointmentListno[1,2,3,4] , [1]

Success Output

Success case: response.status = 20
{
  "id": 132,
  "reference": "ref-01",
  "title": "Check the rest",
  "note": "checking if the rest of merchandise is transfered",
  "startDate": "2016-10-12T09:20:00Z",
  "endDate": "2016-10-12T09:25:00Z",
  "done": true,
  "user": {
    "id": 4,
    "reference": "emp-00",
    "href": "/api/v1.0/users/4"
  },
  "customerId": 3230,
  "customer": {
    "id": 3230,
    "reference": "960",
    "name": "Flipopia",
    "href": "/api/v1.0/customers/3230"
  },
  "appointmentCategoryId": 1,
  "appointmentCategory": {
    "id": 1,
    "reference": "meeting",
    "name": "Rendez-vous",
    "href": "/api/v1.0/appointmentCategories/1"
  },
  "contacts": [
    {²
      "id": 9,
      "href": "/api/v1.0/contacts/9"
    },
    {
      "id": 8,
      "href": "/api/v1.0/contacts/8"
    }
  ],
  "organization": "entity1",
  "dateCreated": "2016-10-12T11:28:34Z",
  "lastUpdated": "2016-10-12T11:28:34Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "missing_param",
  "error_description": "title parameter is missing"
}

{
  "error": "date_validation_error",
  "error_description": "Failed to add the appointment with the reference -: startDate incorrect Date Format"
}

{
  "error": "invalid_param_type",
  "error_description": "The type of parameter appointmentCategoryId you provided is not valid for this request."
}

{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

{
  "error": "not_found",
  "error_description": "The customer with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
     "error": "server_error",
     "error_description": "Oops! Something went wrong..."
}

72.5 Upsert

Service: Upsert an appointment

Description: This web service is used to insert an appointment object to the database if it does not already exist, or update it.

URL with external_id:

https://BASE_URL/api/VERSION/appointments/reference/{id}

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
title Stringyes 
startDate Stringyes2016-10-09T08:10:00Z
endDate Stringyes2016-11-09T08:10:00Z
note Stringno 
appointmentCategoryId Stringyes123
done Booleannotrue , false
customerId Stringno 
contactslist of contacts id of specified customer to be assigned to the appointmentListno[1,2,3,4] , [1]

Success Output

Success case: response.status = 201
{
  "id": 132,
  "reference": "ref-01",
  "title": "Check the rest",
  "note": "checking if the rest of merchandise is transfered",
  "startDate": "2016-10-12T09:20:00Z",
  "endDate": "2016-10-12T09:25:00Z",
  "done": true,
  "user": {
    "id": 4,
    "reference": "emp-00",
    "href": "/api/v1.0/users/4"
  },
  "customerId": 3230,
  "customer": {
    "id": 3230,
    "reference": "960",
    "name": "Flipopia",
    "href": "/api/v1.0/customers/3230"
  },
  "appointmentCategoryId": 1,
  "appointmentCategory": {
    "id": 1,
    "reference": "meeting",
    "name": "Rendez-vous",
    "href": "/api/v1.0/appointmentCategories/1"
  },
  "contacts": [
    {
      "id": 9,
      "href": "/api/v1.0/contacts/9"
    },
    {
      "id": 8,
      "href": "/api/v1.0/contacts/8"
    }
  ],
  "organization": "entity1",
  "dateCreated": "2016-10-12T11:28:34Z",
  "lastUpdated": "2016-10-12T11:28:34Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "missing_param",
  "error_description": "title parameter is missing"
}

{
  "error": "date_validation_error",
  "error_description": "Failed to add the appointment with the reference -: startDate incorrect Date Format"
}

{
  "error": "invalid_param_type",
  "error_description": "The type of parameter appointmentCategoryId you provided is not valid for this request."
}

{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

{
  "error": "not_found",
  "error_description": "The customer with the id 999 doesn't exist."
}
Failure case:response.status = 500
{
     "error": "server_error",
     "error_description": "Oops! Something went wrong..."
}

72.6 Delete

Service: Delete an appointment

Description: Returns a json response.

URL:

https://BASE_URL/api/VERSION/appointments/{id}

URL with external_id :

https://BASE_URL/api/VERSION/appointments/reference/{id}

Method: DELETE

Parameters:

NameDescriptionTypeRequiredExample values
idThe ID of the desired appointmentLong/Stringyes123

Success Output

Success case: response.status = 200

{
  "success": "true",
  "success_description": "Instance deleted successfully"
}

Failure Output

Failure case:response.status = 400

{
  "error": "delete_failed",
  "error_description": "Failed to delete instance."
}

Failure case:response.status = 404

{
  "error": "not_found",
  "error_description": "The appointment with the id 706 doesn't exist."
}