CIOPulse Knowledge Base

4.1 CCS Survey Responses API v5

Updated on

By using the CCS Survey Responses endpoint you can make an HTTP GET request to retrieve compliments, complaints and suggestions received over any period of time.

The API returns data in JSON format which is readily decodable by all modern programming languages.

To use the API you must be on our Corporate or Enterprise Plan and have a 40 character API key. The key can be found in the Portal at the bottom of the Preferences page. If your key is blank, please email us at [email protected].

If you have setup IP address security in the CIOPulse Portal, the IP address of the server making the API call must be included in your list of valid IP addresses.

Authentication

All our API endpoints require HTTP basic authentication as specified in RFC 7616 from 2015. The HTTP Header of your request must contain a header field in the form of:

Authorization: Basic {credentials}

Where {credentials} is the Base64 encoding of: your Client Portal Code, a single colon, and your API Key (found in the Preferences of the Portal).

Here's a snippet of PHP script using CURL to set the authentication header.

$portal_code = 'ABC123'; 
$api_key = 'SMzYECYJYLpNw8PrfX8EtPO2tcP0XaKJvZ4FW5VL';

$header = array('Authorization: Basic '. base64_encode($portal_code .":". $api_key) );

$curl_session = curl_init();
curl_setopt($curl_session, CURLOPT_HTTPHEADER, $header);

Retrieving CCS Surveys

To use the CCS Survey Responses endpoint, use the HTTP GET method with this URL:

https://app.cio-pulse.com/api/v5/ccs-surveys

You can add any of the following parameters to this URL to define your filters. The first parameter must be prefixed with a ? and all subsequent parameters with a &:

These parameters define the entity you want to return the CCS responses for:

  • rgid Optional. Include CCS feedback for the Team or Department with this Support Group Code.
  • combine  Optional.  Only used when rgid specified. When y, includes CCS feedback for the Department and for the Teams that belong to that Department. When n, includes CCS feedback just for the Department. This parameter is ignored when the Support Group Code specifies a Team rather than a Department. You can learn more about how the combine parameter works, in this article.
  • ccstypes Optional. Any combination of three 1s and 0s, enabling you to choose what sort of feedback to display, e.g. 100 for Compliments only; 010 for Complaints only; 011 for Complaints and Compliments. Defaults to 111.
  • limit Optional. Specify a number, n, to limit the number of CCS responses to the most recent n responses that meet the selection criteria. n must be 10000 or less.
  • isofrom Optional. Include CCS feedback received on or after this UTC/GMT date/time. The date/time must be in ISO8601 format:  yyyy-mm-ddThh:mm:ssZ, e.g. 2016-10-13T16:30:00Z
  • isoto Optional.  Include CCS feedback received on or before this UTC/GMT date/time. The date/time must be in ISO8601 format:  yyyy-mm-ddThh:mm:ssZ, e.g. 2016-10-14T16:29:59Z

If the limit parameter is used, the isofrom and isoto parameters are ignored.

In the isofrom and isoto parameters, always use a T to separate the date from the time and always include the Z at the end. Although it is specified in the ISO8601 standard, do not attempt to specify a UTC/GMT offset, such as -04:00 or +11:00.

The CCS Survey Responses endpoint will return a maximum of 10000 responses. An HTTP 422 error will be returned if your parameters would result in more than 10000 responses being returned.

Response

A normal response will result in an HTTP response code of 200 being returned in the header.

The feedback returned by the API look like this (which shows 3 responses):

{"surveys":[

{"survey":{"Response_ID":"57","Response_Datetime_UTC":"2019-12-05 02:27:40","Reference":"CCS0000000057","Support_Group_Code":"demosd","Support_Group_Name":"Service Desk","Feedback_Type":"Compliment","Feedback":"encoded cpc chrome","Contact_Permission_Type":"Contact me","Contact_Details":"123","Survey_Description":"English CCS form","Survey_Language":"English"}},

{"survey":{"Response_ID":"58","Response_Datetime_UTC":"2019-12-05 02:29:37","Reference":"CCS0000000058","Support_Group_Code":"demosd","Support_Group_Name":"Service Desk","Feedback_Type":"Compliment","Feedback":"rgid space ff","Contact_Permission_Type":"Contact me","Contact_Details":"123","Survey_Description":"CIOPulse CCS - Democorp","Survey_Language":"English"}},

{"survey":{"Response_ID":"59","Response_Datetime_UTC":"2020-03-25 02:30:26","Reference":"CCS0000000059","Support_Group_Code":"demosd","Support_Group_Name":"Service Desk","Feedback_Type":"Compliment","Feedback":"rgid space chrome","Contact_Permission_Type":"Contact me","Contact_Details":"123","Survey_Description":"CIOPulse CCS - Democorp","Survey_Language":"English"}}

]}

Error handling

If there is a problem, one of these error codes will be returned in the HTTP header:

  • 401 Invalid security credentials (Client Portal Code and/or API key invalid).
  • 400 Malformed syntax, e.g. missing/invalid parameters.
  • 422 Valid syntax but not processed due to business rules (e.g. max > min or isoto > isofrom).
  • 404 No compliments, complaints or suggestions found that match the criteria specified.
  • 500 Server error, e.g. database connection couldn't be established.

In each of these error situations, a description of the error will also be returned in JSON format.

{"message":"No compliments, complaints or suggestions were found that matched this criteria","status":404}
Previous Article 3.3 Relationship Survey Webhook