.. _call_survey:
===========
Call Survey
===========
.. contents::
:local:
:depth: 3
Overview
--------
This web service allows the app to post the call quality survey based on the quality parameter selected by the user.
Parameters
----------
Parameter templates for Call Survey can use any variables from :ref:`global-params` and :ref:`account-params`
scopes. There are three service-specific parameters defined for call survey.
``callId``
~~~~~~~~~~
Contains the unique identifier for the call, whose survey report is being posted.
``stars``
~~~~~~~~~
Contains the quality parameter ranging from 1-5, 1 being the lowest and 5 as best quality.
``customMessage``
~~~~~~~~~~~~~~~~~
Contains the message from the user about improvement or suggestion.
Configuration
-------------
The following preference keys are relevant for call survey configuration:
``callSurveyUrl``
~~~~~~~~~~~~~~~~~
Contains the URL, including URL scheme, of the web service, possibly also with query string.
Example:
.. code-block:: xml
https://example.com/callSurvey
``callSurveyMethod``
~~~~~~~~~~~~~~~~~~~~
Contains the HTTP Method (Get/Post). Call Survey web service uses POST as the Method.
Example:
.. code-block:: xml
POST
``callSurveyPostData``
~~~~~~~~~~~~~~~~~~~~~~
Call Survey webservice require the call quality information, the Post Data includes call Identifier, Call Quality Param and Custom Message for Improvement
Example ( for application/x-www-form-urlencoded):
.. code-block:: xml
callId=%callId%&stars=%stars%&customMessage=%customMessage%
``callSurveyContentType``
~~~~~~~~~~~~~~~~~~~~~~~~~
Specifies the value of Content-Type header to be sent in the request. If not specified, the app will default to
``application/x-www-form-urlencoded``
``callSurveyCustomHeaders``
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Specify custom headers to be added into request.
``callSurveyAuthUsername``
~~~~~~~~~~~~~~~~~~~~~~~~~~
If the Service is accessible from behind the proxy, you can configure the user name for the Call Survey Service via configuring callSurveyAuthUsername.
Example:
.. code-block:: xml
%AuthUserName%
``callSurveyAuthPassword``
~~~~~~~~~~~~~~~~~~~~~~~~~~
If the Service is accessible from behind the proxy, you can configure the password for the Call Survey Service via configuring callSurveyAuthPassword.
Example:
.. code-block:: xml
%AuthUserName%
``callSurveyTimeout``
~~~~~~~~~~~~~~~~~~~~~~~~~~
The default timeout for the Service is 30seconds, but if you want to configure you custom timeout you can do so by setting the value in seconds for callSurveyTimeout.
Example:
.. code-block:: xml
20
Response
--------
The response will be considered successful if the HTTP response code is 2xx. Any responses which have other
response code, or whose body can't be parsed, are erroneous response.
Examples
--------
POST method
~~~~~~~~~~~
request:
.. code-block:: http
POST /callSurvey/?callId=234242342342&stars=5&customMessage=Thanks HTTP/1.1
Host: example.com
Connection: close
Cache-Control: max-age=0
User-Agent: CloudSoftphone/1.5.6
response:
.. code-block:: http
HTTP/1.1 200 OK
Date: Sun, 15 Mar 2015 00:46:17 GMT
Server: Apache/2.4.7 (Ubuntu)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 183
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/xml