Authorized Client Identification v1.0
To transfer information about the visitor authorized on the site and its further display in the agent interface of the Rox.Chat service it is necessary to add the following javascript code to the site pages:
roxchat_visitor = {
    < field >: < value >,
    < field >: < value >,
    < field >: < value >, ...
    crc: HASH
};
Example:
roxchat_visitor = {
    id: '12345',
    display_name: 'John',
    phone: '+1 043 2234376',
    email: 'support@rox.chat',
    crc: 'ccbb082afba5022de58d8eeb7d5599ac'
};
Warning!
Add type='text/javascript' to this example if the site doesn't have HTML5.
N.B.
This example and this checksum is calculated for specific account and will work only with it, crc for your account is calculated based on the private key, which can be found in Settings -> Private keys.
List of supported fields:
- 
display_nameis visitor name
- 
phoneis visitor phone number
- 
emailis visitor email address
- 
profile_urlis link to profile
- 
avatar_urlis link to avatar graphic file
- 
idis visitor's ID on the site
- 
loginis visitor's login on the site
- 
commentis visitor's commentary
- 
infois additional information
All field values must be string, id field is mandatory (it identifies the user in the system), other fields are optional. The crc field must contain a checksum, to calculate it you should sort the fields according to the alphabetical order of field names, add the field values into one string, add the key, which is located in General Settings -> Private Keys, then calculate md5 from the obtained string, the encoding when calculating crc must be either cp1251, koi8-r, or utf-8. The key should not be available to clients, and the signature should be generated only on your server.
For the above example, this would be:
md5(display_name + email + id + phone + < key >)
i.e.
md5('Johnsupport@rox.chat12345+1 043 2234376' + < key >)
If you are only using the chat link as client.php, you can pass the visitor object via the GET parameter provided-visitor as a JSON-formatted value. For the example above, the following link would be received:
https://(account name).rox.chat/client.php?provided-visitor=%7B%22id%22%3A+%2212345%22%2C%22display_name%22%3A+%22John%22%2C%22phone%22%3A%22%2B1+043+2234376%22%2C%22email%22%3A%22support%40rox.chat%22%2C%22crc%22%3A%22cdc2c8b0542897dd311fe85754479860%22%7D
To correctly display the title and link of the page from which you opened the chat link, you can also pass the start-page parameter as a JSON value with title and url fields in the agent interface via GET, for example,
{
    "title": "Main page",
    "url": "https://example.com"
}
For this example, the following link will result:
https://(account name).rox.chat/client.php?start-page=%7B%22title%22%3A%22Main page%22%2C%22url%22%3A%22https%3A%2F%2Fexample.com%22%7D
Authorization handler
It is used, for example, to create branded applications in which users must authenticate with email and password on the client side. The client provides some URL (over HTTPS) that accepts two parameters email and password using POST method and returns a structure with user description in JSON format according to the current specification:
- 
Response code 200and the body of the response:{ "visitor":{ "id":"12345", "display_name":"John", "phone": "+1 043 2234376", "email": "support@rox.chat", "crc":"ccbb082afba5022de58d8eeb7d5599ac" } }(the visitorobject is similar to theroxchat_visitorobject described above),
- 
Response code 401and the body of the response:{ 'error': 'unauthorized' }
