# Chat2Desk

[Chat2Desk](https://chat2desk.com/) – одна из омниканальных платформ для общения с клиентами в текстовых каналах. Вы можете использовать её в качестве канала для публикации вашего Агента в качестве бота-оператора. Ознакомиться с пользовательской документацией вы можете по [этой ссылке](https://drive.chat2desk.com/d/f/webapi/entry.cgi/Developers%20starting%20guide.pdf?api=SYNO.SynologyDrive.Files\&method=download\&version=2\&files=%5B%22id%3A621758872614386133%22%5D\&force_download=false&_dc=1628580535185).

## Подключение

### 1. Конфигурация бота на стороне Chat2Desk

1. Зайдите в аккаунт [Chat2Desk](https://chat2desk.com/)
2. Перейдите в раздел Настройки - API\
   ![%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8+\_+API+-+Google+Chrome+2021-12-01+17.50.2.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-w3Irgdb5tp/f78dfce7849d9550417ffc09743ee53f99f60c8cff0a857796ea5943772fc4aed81055ab89b9d23cf6ff7ad48e6a05e71e6d80fc34ec7a44b8c8dea5240634309dbbf7b35b55b3b47893cb1cded2cb530d88c18b239d6ca1dbf3a67c82a9ba711e1a4220)
3. Нажмите “Показать” API-токен и введите пароль учетной записи администратора аккаунта\
   ![Настройки \_ API - Google Chrome 2021-12-07 17.02.0.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-USMPFtyRv0/a7de30344f79907fcbd98fd7e7649b429ae1d0c74a7cafe46a606ba976292c077cff2120a1d89995f221fba0357b69f9b9d34a004e816da933009d71dfebc295ee71cbfa6920527a926c0d6f5f52d51800a6ad0ead904261f72f8a1258e79e269a664a0d)
4. Скопируйте полученный API-токен\
   ![%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8+\_+API+-+Google+Chrome+2021-12-01+17.54.2.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-lTzWScq8vZ/8ff5fe830419f9e56a1cde87b884e028360ff6494a8b6add4bcd5fd1d4b713e59b5076b6794d3bb2ccde9e82e570d540dd360bb90e727efcc4e1e3009fc42824b09466927f7e4bf891250133bad951b73fd38b24cb9fe6d206b3d2a98bde1cabd83d7e87)

### 2. Конфигурация канала агента в Платформе

Агенту необходимо создать и настроить Канал Проекта с Коннектором “Chat2Desk”.

1. Кликните по кнопке настроек Агента.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-m_bL4GvN1_/de0e6c51b47058d8e7854370e44e3e29e8d1195855e34484c55e0ba55e6f4cbc2f103ac4ebcc2b78bf606d6b02118303275d07760b64f89e5ea954cd86466379ab9850814435bbe8d5ab7d3e80e7ac68c8a471b3ba0022e97fb3209a771f11a86b6c817e)
2. Нажмите кнопку Add channel.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-KJ7zJqauLN/e76804ae1c32c84507914bcbac89b59e5fa7160e857084643655c65f3192dbec4709a2cd8abae87edc6a858acbd80d17c3296d23c47a2c39eccf56433201a9779ccf4ea2580c347508e5f68b0ee94654585fa349ceadd2e6587a4bdebd6c5d9715835322)
3. Откроется панель выбора Конечный канал.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-29HTMUgbiy/c17a1e8f79803f3ec6239ff902f5c8885675117704ece8082da9b806f1ca48f58e64609b2b11f5887da99b34542cba231ad2ef2251edfcc092339ef5ba6a89bbdb86bab8d5b0d197a633c6f854a86f0700d82e31a0556eb632f60a32c30f080d9b469c77)
4. Выберите Chat2Desk.
5. Откроется панель создания Канал Проекта.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-neLRMc_TxK/7a0cd9f86e550dfc61cacff8142d8b39ca701745b3a0e4de8390f8e457cc18031bd1918f36ddd95f54077d7508f30a0b16a440f1ef25fe13d626f56edbc9e7eb3e28dd8f71ff73db8fe8bef99a063dd6ce8cb08d13f188f8a2ebd0876ee1927f8c637e7a)
6. По необходимости пропишите заголовок для данного Канал Проекта в поле названия с плейсхолдером New channel.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-rcuTdIXenf/f7cad279baa576423602368c00dcf4c694c56ed43c152b9aa47da706b5ec2386b2a55d39f069abfec1ef08630e767d251b343ba8e0ff7d0fcb46d0b57d8508f073c278f6514bb93f146dd7b0880766053ac3c0ebe06ecdc2d8eebf0b13e905319f0a709f)
7. Пропишите ссылку <https://api.chat2desk.com/v1> или <https://api.chat2desk.kz/v1> в поле Chat2Desk webhook URL.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-B9akukqWLU/a10f76068602f10ab690a4f134dcc2c3c3a4c760c14a7c576932422707cc024b3eaea0c92b1868f0521bad184a5a3b6ea09804be04355ae1ca20c76c65433600eccb53800ad945aa799577f6b3052cd65daaa6c83bad2584ff3515458cf823094b229258)
8. Вставьте API-токен, скопированный в аккаунте Chat2Desk, в поле Chat2Desk token.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-Oi2LMMJrY0/39444579b2ab90ba811a9c959062ec72d153d6761b1a2bfcbbfa1da105f8e586ee3f2a6860884fc229f0ccd57be45a0a0e23c276f0fec52bcc72f76e7d841d08be94f1aafcac8c288d74d306f06245cd4e3832011f24e3c839b450c6792d97839b40da4e)
9. Если необходимо настроить автоназначение чатов на конкретного оператора, вставьте id оператора в поле Chat2Desk operator ID. О том, как получить id оператора: Chat2Desk\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-rnnmdPRcJ9/a311a19a4c291fe083c4974b3aca6117288eacb80acda6aeae2c8696dc4991d9648f38b88554f58060767cf37546570c784f800a107ac61e265495ae4f34e40aa477b702fafb2eb6b70fc23f676850774ecd9b0154f23d4ca0e57e40775cd57a27e80487)
10. По необходимости переключите тумблер Receive service messages, чтобы получать Сервисные сообщения канала.\
    ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-_o9HpC8uZP/01e77cce8b84dc0e99e01bc7b447c4e8f284a08d1246b248ac1143884e3775fd35d958653bdd46f314280d8d69d6ba208f970b86c73004a7a01be38fecab4f5693a3b0219e9491c70caad1ac6d73b03015651e0e37ea7216c9c9249ff5ca8c8cd4c7f504)
11. Для сохранения Канал Проекта без его активации, нажмите кнопку CREATE.\
    ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-xmaneMOSyV/fde626700d4f12e7835a82e7cf6d30d8c2eb5ee01d7b3f125c9e2dde9b492584b8e2bb446feeb76e2c750e570d9a5418447bf86b6e68b6ae946d64b7f9ef92f0f650ddbcf59aa4d60acbee355b3795906840eaf7f582eb27cdf8096ff0816cff64dc0fd6)
12. Для сохранения и активации Канал Проекта, нажмите кнопку CREATE & ACTIVATE.\
    ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-kFFCO3k5TZ/3e094ca94a4f88236f43c9e41073125f24bfdf86b4509fe36c2f0415837969347b2ab03c25b8cdbd6037769c4f3a8a036292f2993b11d0bf9c18c3be75fa3228b4a4dfd75fb0eda50b5d42b4f75eec7efd88909d41c9bed488126ef52d87428d6ce5115f)
13. 1. Канал Проекта будет сохранен и активирован, если:
    2. 1. Агент обучен;
       2. токен в поле Chat2Desk token уникален (нет ли активных Канал Проекта того же типа с тем же значением в поле);
       3. будет доступен адрес Канал Проекта;
       4. удастся зарегистрировать вебхук канала.
    3. Канал Проекта будет сохранен, но не активирован, если одно или больше условий не будут выполнены.
14. Для отмены создания Канал Проекта нажмите кнопку CANCEL.\
    ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-N4UBYDWm_O/5dc03b16b791094119f5ea96b8b25eb2257ceb1bcc198cd4ffdf8f954530646bfc1cca7d717bbd0cfda334d11636c520c390c59d31ae90852645c90c7cfcbd25acacaf2a0b97973c6042510f967e31d31d3cb384494afbe517144440070560d17884bc8f)

## Редактирование и удаление Канала Агента

Для редактирования Канал Проекта, необходимо кликнуть по его иконке на карточке Агента.\
![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-93NvB-je9x/f5e5444f64b9f596f9f7ea93077c134d420c7330f94dec75e2f72e833686c4af93def410adc2a1e1af050c9c280f028896c0171b609e3e84792f93dc3e482ec2a826d739fa285f0643f11d477ed970bfbe9c405c5b473a4f027dd2d85bb1a0eb984af401)

1. Чтобы отредактировать значение в любом поле, кликните по полю и впишите новое значение.
2. Чтобы применить изменения к активированному Канал Проекта, нажмите кнопку APPLY.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-pqKH50CY0s/cc36e323b1f37057bd96163319bba2026cce08ea3328f3768c79af0d8b0a8c4d84ee67b685618fa3799e6f411983bf485a843374d24e887ab3da9198561e5f0c693a3bc759150ba170919db7b4d684e38e167f0a00cff7d671d640c459b92a64628f649d)
3. 1. Изменения будут применены, если:
   2. 1. Агент обучен;
      2. токен в поле Chat2Desk token уникален (нет ли активных Канал Проекта того же типа с тем же значением в поле);
      3. будет доступен адрес Канал Проекта;
      4. удастся зарегистрировать вебхук канала.
   3. Изменения не будут применены, если одно или больше условий не будут выполнены.
4. Чтобы деактивировать  Канал Проекта, нажмите кнопку DEACTIVATE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-r6QKYiqqOu/66820a29f2bc4a7b40e7d07efd80be09c6beb309e6903930ea751b52e29516f69e4763b61091b815944cf9097ea47d39bcafdda146828b6b66bf2e91ffa1682d3300cb87eb137ef414bd65d3029546cf1f6083efdcb93cccb4b590062504ad24b2f62ff3)
5. Чтобы применить изменения к деактивированному Канал Проекта, нажмите кнопку SAVE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-GwnvuKpDg2/069f2e2545400a87a5bf141b01081914881275ebd8bf77e5afe7981543b01c76a657e15e9b8164af30363eae8b349059c176c1ffcf1de3f3204b74f531d1ce30f2b66000e5db384530cb28ebe0bbf1ea94b859f7c5535b6884463d1ee21d7b06776a911a)
6. Чтобы применить изменения и активировать Канал Проекта, нажмите кнопку SAVE & ACTIVATE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-5ajJvI30IW/8488b152034a93260d84cc57294b3d97fc838c724dc64b1341b53baedf3b09dd193c01e89c363067e914e347996a32e50387f092645c956b228ed922256e0217b97a613253f8a2950f3dca3f9a4b2c3a2756f9df2050334a17f43c566e6a9ac2f90bf009)
7. 1. Изменения будут применены и Канал Проекта будет активирован, если:
   2. 1. Агент обучен;
      2. токен в поле Chat2Desk token уникален (нет ли активных Канал Проекта того же типа с тем же значением в поле);
      3. будет доступен адрес Канал Проекта;
      4. удастся зарегистрировать вебхук канала.
   3. Изменения будут применены, но Канал Проекта не будет активирован, если одно или больше условий не будут выполнены.
8. Чтобы отменить внесение изменений, нажмите кнопку CANCEL.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-0gHg_mcunS/d97cb66f1d0e9c9edeca3ea1cc6688e02cdf7467b0c20c0f7646cb1d90043290bd5bc676bd8ca0d0f56f476c285d2d316a9cda7b3b5bf38b8c3eaa951068134dfb62fa5ba49c971649ddefe94ffb51d079a6c84c6da83d9efda3684e2268a9c35f5d4e56)
9. Чтобы удалить Канал Проекта, нажмите кнопку DELETE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-0eguPQLigQ/4964b267138a1b8d1351c1a123644b651a55c7fcb385ff761fcd9ad65c21af1fedcb09c5eebf84d74870fe5e1b9f8d5a39deacb136f24150c19f6b8105dd4cf38a0fa81052409d301ab41b5c58bb17484ff941f04c250e788cd8bf851aca4ce144c1c01d)

## Общение

### Подключение Бота как оператора в Chat2Desk

В Chat2Desk возможно настроить автоназначение чатов на конкретного оператора. При выключенном автоназначении чаты поступают в общую очередь.\
Если необходимо, чтобы Бот обрабатывал только чаты, назначенные на конкретного оператора, нужно подключить Бота в качестве конкретного оператора и настроить назначение новых чатов на этого оператора. В случае, если в настройках Канал Проекта не указан id оператора, Бот будет принимать все сообщения из общей очереди, т.е. не распределенные на какого-либо конкретного оператора.Чтобы настроить подключение Бота в качестве оператора в Chat2Desk, необходимо: &#x20;

1. Зайти в аккаунт [Chat2Desk](https://chat2desk.com/).
2. Перейти в раздел Настройки - Операторы - Список.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-2CF5O5YQyY/8e6faf6b1126fbbb5a40ccfaddbb886e494c77044dd38b22de0ee65a35333bd07cd3dd61ca1ff3080e723948631182616f614ab59ec03533f9def1f9dadf8a77609528e1b444e7adba9ac48cd557ffd91b29dbc65deb6ed451e5c9a0201e1a1b4a6ef4ae)
3. Нажать кнопку Создать оператора.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-Sth9EepZL3/05d92928b8dafe72781c150dec357ab02dfd648f9c44adcd7a73abe0f29169a8a79269e575db0e5cb632e876a14ca57eb0209b67b2c6cfc0b137899668dd74fd6ccbed45879f2ef7a12964e630864861afc847fa343f390caa014e1dbeb0ece8e05aca0a)
4. Заполнить все данные для нового оператора.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-3DxvFRlEy9/f9712fa0b030acf9ee9fdc79e2073d79631d337a37bb5f9311ac60230e9d3e6b44e286fde9c67ea90683950e6df5e04428aebe6b98e94f6f49057f4cd422d6678a36ef576c13a1b8bc3399ae7b7f84f9cadaa518d4d3bd9cfa3ff8e9d8bfd0ce020531b8)
5. Авторизоваться в качестве только что созданного оператора. Получить API-токен, как описано в шаге 3 раздела "Конфигурация бота на стороне Chat2Desk".
6. Перейти в приложение Postman и отправить следующий запрос:
7. 1. Метод: GET
   2. URL: <https://api.chat2desk.com/v1/operators/>
   3. Headers: Authorization: {API-токен из личного кабинета}
8. В ответ на запрос будет получен список с информацией о всех операторов следующего формата:\
   {"data":\[{"id":id оператора,"email":"электронная почта","first\_name":"имя","last\_name":"фамилия","role":"роль","phone":"номер телефона","avatar":аватар,"last\_visit":"время последнего логина в аккаунт","online":1, если оператор онлайн, 0, если оффлайн,"offline\_type":null,"external\_id":null,"opened\_dialogs":количество открытых диалогов,"status\_id":0}, {данные по следующему оператору}],"meta":{"total":количество операторов,"limit":лимит на количество операторов,"offset":0},"status":"success"}
9. Необходимо найти информацию по оператору, созданному для подключения Бота, и скопировать значение параметра "id".
10. Данное значение необходимо вставить в поле Chat2Desk operator ID настроек Канал Проекта Chat2Desk.

| Переменная                  | Конечный канал | Переменная в запросе из канала | Примечания                                                                                                                |
| --------------------------- | -------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| channel\_message\_id        | Chat2Desk      | message\_id                    | id сообщения, которое присвоил ему Chat2Desk (реализовано только в C2D)                                                   |
| channel\_message\_recipient | Chat2Desk      | operator\_id                   | Бот в Chat2Desk является оператором и в эту переменную вы получите его id (реализовано только в C2D)                      |
| channel\_visitor\_id        | Chat2Desk      | client\_id                     |                                                                                                                           |
| channel\_conversation\_id   | Chat2Desk      | dialog\_id                     |                                                                                                                           |
| channel\_visitor\_phone     | Chat2Desk      | client.phone                   | После отправки рассылки Слотом Notification в эту переменную попадает номер телефона, на который была отправлена рассылка |
| channel\_visitor\_firstname | Chat2Desk      | client.name                    |                                                                                                                           |
| channel\_visitor\_lastname  | Chat2Desk      | нет                            |                                                                                                                           |
| channel\_visitor\_account   | Chat2Desk      | нет                            |                                                                                                                           |
| channel\_visitor\_email     | Chat2Desk      | нет                            |                                                                                                                           |
| channel\_visitor\_source    | Chat2Desk      | нет                            |                                                                                                                           |
| channel\_visitor\_auth      | Chat2Desk      | нет                            |                                                                                                                           |
| channel\_visitor\_location  | Chat2Desk      | нет                            |                                                                                                                           |

| Сообщение                    | Конечный канал | Client message            | Описание                                                                                                            |
| ---------------------------- | -------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Закрытие диалога в Chat2Desk | Chat2Desk      | Строка c2d: dialog closed | Сервисное сообщение поступает в client\_message при событии закрытии диалога в Chat2Desk через функцию Закрыть чат. |

<table><thead><tr><th>Функционал общения</th><th>Конечный канал</th><th>Доступность в канале</th><th>Примечания</th></tr></thead><tbody><tr><td>Использование маркдауна</td><td>Chat2Desk</td><td>Частично</td><td>Поддерживается в виджете. Отображение текста, размеченного с помощью Markdown, в остальных каналах зависит от самих каналов.Поддерживаются следующие типы разметки:*курсив*_курсив___жирный шрифт__*__жирный курсив__*[ссылка](http://www.example.com/)</td></tr><tr><td>channel_chat_id</td><td>Chat2Desk</td><td>Да</td><td>Формат: &#x3C;client_id.channel_id>|chat2desk</td></tr><tr><td>Сообщения дойдут до собеседника, если агент напишет первый в существующем чате</td><td>Chat2Desk</td><td>Да</td><td>Кейсы:<br>Оператор принял и остался в чате - бот может написать собеседнику.<br>Оператор принял и закрыл чат - бот может написать собеседнику.</td></tr><tr><td>Кнопки</td><td>Chat2Desk</td><td>Да</td><td></td></tr><tr><td>Перевод на оператора</td><td>Chat2Desk</td><td>Частично</td><td>Change Chat Mode - нетExternal Request - да</td></tr><tr><td>Передача файлов в виде файлов от Агента (Attachment)</td><td>Chat2Desk</td><td>Да</td><td>В виджет приходит иконка, ведущая на ссылку вида <a href="https://storage.chat2desk.com/companies/company_236200/messages/199219/Kalimba.mp3">https://storage.chat2desk.com/companies/company_236200/messages/199219/Kalimba.mp3</a>, при переходе автоматически воспроизводится содержимое.Изображения передаются в виде изображений.</td></tr><tr><td>Передача файлов в виде ссылок от Агента (Attachment)</td><td>Chat2Desk</td><td>Частично</td><td>Отображается аналогично переданному файлу, ссылка ведет на <a href="http://storage.chat2desk.com">storage.chat2desk.com</a> и файл автоматически открывается в браузере.Примечание: не отображается в Telegram.</td></tr><tr><td>Получение файла от Собеседника в сценарий</td><td>Chat2Desk</td><td>Да</td><td><p>Формат:</p><pre><code>file:photo|https://storage.chat2desk.com//companies/company_236200/messages/169029/9ac926de046179b3.png
</code></pre></td></tr><tr><td>Получение геолокации от собеседника в сценарии</td><td>Chat2Desk</td><td>Нет</td><td></td></tr><tr><td>Доставка сообщений более 1000 символов от Агента до Собеседника</td><td>Chat2Desk</td><td>Да</td><td></td></tr><tr><td>Получить ссылку на источник лида</td><td>Chat2Desk</td><td>Нет</td><td></td></tr><tr><td>Рассылки с помощью Notification</td><td>Chat2Desk</td><td>Нет</td><td></td></tr></tbody></table>
