# Типы и подтипы сообщений

Как сообщения оператора и посетителя, так и служебные сообщения внутри сервиса **Webim** делятся на ряд **типов и подтипов**.

## Типы сообщений

Каждое сообщение (`Message`) в **Webim** обладает типом, который обозначается как `Kind`. Численные значения используются в БД. Строковые значения используются в API.

| Тип                   | Численное значение | Строковое значение    | Описание                                                                                                                                             |
|-----------------------|--------------------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `VISITOR`             | `1`                | `visitor`             | Сообщение от посетителя                                                                                                                              |
| `OPERATOR`            | `2`                | `operator`            | Сообщение от оператора                                                                                                                               |
| `FOR_OPERATOR`        | `3`                | `for_operator`        | Служебное сообщение, видимое только оператору                                                                                                        |
| `INFO`                | `4`                | `info`                | Служебное сообщение                                                                                                                                  |
| `OPERATOR_BUSY`       | `9`                | `operator_busy`       | Сообщение о том, что оператор занят                                                                                                                  |
| `CONT_REQ`            | `10`               | `cont_req`            | Запрос контактов                                                                                                                                     |
| `CONTACTS`            | `11`               | `contacts`            | Контакты. Сообщение, которое приходит после заполнения полей, появившихся при событии `request_contacts`, инициированном сообщением типа `cont_req`. |
| `FILE_OPERATOR`       | `13`               | `file_operator`       | Файл от оператора                                                                                                                                    |
| `FILE_VISITOR`        | `14`               | `file_visitor`        | Файл от посетителя                                                                                                                                   |
| `FORM_RESPONSE`       | `15`               | `form_response`       | Сообщение с данными отправленной формы при интеграции с Zendesk. С ним приходит JSON в поле `data` с данными заполненной формы.                      |
| `OPERATOR_NOTE`       | `16`               | `operator_note`       | Заметка оператора (действие `operator_note`).                                                                                                        |
| `KEYBOARD`            | `17`               | `keyboard`            | Сообщение со стороны **Webim** с набором кнопок, одну из которых посетитель может нажать.                                                            |
| `KEYBOARD_RESPONSE`   | `18`               | `keyboard_response`   | Сообщение со стороны посетителя с выбранной кнопкой в ответ на `keyboard`.                                                                           |
| `APPLE_CHAT`          | `19`               | `apple_chat`          | Сообщения со стороны **Webim** к посетителю в **Apple Messages for Business**.                                                                       |
| `APPLE_CHAT_RESPONSE` | `20`               | `apple_chat_response` | Ответ посетителя **Apple Messages for Business** на сообщения **Webim**.                                                                             |

## Подтипы сообщений

Сообщение (`Message`) может обладать необязательным атрибутом подтип (`subKind`), но не все сообщения имеют подтип. Не имеет численного значения. Сохраняется в JSON-поле `data` сообщения.

| Значение                | К какому типу относится | Описание                                                                                                                                                                                                                                       |
|-------------------------|-------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `fields_by_operator`    | `FOR_OPERATOR`          | Сообщение о том, что оператор изменил контактные данные посетителя.<br><br>*Оператор изменил контактные данные посетителя*                                                                                                                     |
| `new-visited-page`      | `FOR_OPERATOR`          | Cообщение о переходе посетителя на другую страницу.<br><br>*Посетитель перешел на страницу ...*                                                                                                                                                |
| `visitor-reopened-chat` | `FOR_OPERATOR`          | Сообщение о повторном открытии чата посетителем.<br><br>*Посетитель снова открыл окно диалога*                                                                                                                                                 |
| `visitor-closed-chat`   | `FOR_OPERATOR`          | Сообщение о закрытии чата посетителем.<br><br>*Посетитель закрыл окно диалога*                                                                                                                                                                 |
| `operator-joined`       | `INFO`                  | Сообщения о приеме чата оператором и передаче его другому оператору.<br><br>*Оператор {operator_name} включился в разговор*<br><br>*Диалог был передан оператору {operator_name}*<br><br>*Оператор {operator_name} взял обращение в обработку* |
| `chat-info-message`     | `FOR_OPERATOR`          | Сообщение с информацией о том, откуда пришел посетитель.                                                                                                                                                                                       |
| `hello-message`         | `INFO`                  | Сообщение с приветствием в начале диалога.                                                                                                                                                                                                     |
| `operator_comment`      | `FOR_OPERATOR`          | Сообщение о добавлении оператором комментария.<br><br>*Оператор {operator_name} добавил комментарий: {comment}*                                                                                                                                |
| `closure-warning`       | `INFO`                  | Сообщение о скором закрытии чата при дальнейшем бездействии.<br><br>*В случае дальнейшего бездействия, чат будет закрыт*                                                                                                                       |
| `message_sent`          | `FOR_OPERATOR`          | Сообщение об отправке непрочитанных сообщений посетителю на почту.<br><br>*Непрочитанные сообщения были отправлены посетителю на Email {email}.*                                                                                               |
| `visitor-online-status` | `FOR_OPERATOR`          | Сообщения о статусе посетителя.<br><br>*Посетитель переведён в статус офлайн*<br><br>*Посетитель переведён в статус онлайн*                                                                                                                    |

---

Источник: https://webim.ru/kb/dev/basic-objects/message-types.html
