Custom CSI page

Customization of the CSI page is available only in the mail channel. In other channels, the evaluation request does not open as a separate page.

You can completely customize the CSI page that the client sees. Go to the "Extensions" section and check that the "CSI page customization" extension is enabled.


Under this setting there is a field for saving customized layout of your page. You just need to insert a ready-made page code into this field.
Requirements for the page code:

The form sends a request with data to the address. Function for example:

function sendFeedback() {
    var pathArray = window.location.pathname.split( '/' );
    var rating = $('.active').attr('data-value');
    var client = pathArray[2];
    var ticket = pathArray[3];
    var text = $('#support-feedback-comment').val();
    var comment_id = getParameterByName('comment_id');
    $.ajax({
        url: 'https://'+location.host+'/nps/rating',
        method: 'POST',
        data: {
            rating:rating,
            client:client,
            ticket:ticket,
            comment: text,
            comment_id: comment_id,
            _token:''
        },
        success: function(msg){
            exit();
        },
        error: function () {
            exit();
        }
    });
}
function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
    results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

This function takes the client id and the ticket id from the address bar. For example, the rating is set to an address:
  • 1026311 — client id;
  • 3403728 — ticket id;
  • 123 — response id of the user with whom the evaluation was sent together.

This url is always formed on the side of our system and always has this structure.

In this case, there should be parameters in html elements:

  • rating — rating (1 — excellent, 2 — normal, 3 — bad);
  • comment — the text of the evaluation comment.

This is all sent as a post request to /nps/rating.

That's it:
There is no structure, but the only rule is to send a request to /nps/rating post that contains:
  • client — client id;
  • ticket — ticket id;
  • comment_id — user's response id in Usedesk;
  • rating — rating (1 — excellent, 2 — normal, 3 — bad);
  • comment — assessment comment text.

An example of the current page can be downloaded here.