# Mattermost

**1. Настройка Mattermost (административная часть)**

1.1. Вход в System Console

* Авторизуйтесь в Mattermost под учетной записью администратора
* Перейдите в **System Console → Developer**

1.2. Настройка доверенных подключений

* В поле **Allow untrusted internal connections to** введите URL PassOffice
* Пример: `http://passoffice.example.com`

1.3. Активация бот-аккаунтов

* Перейдите в раздел **Integrations → Bot Accounts**
* Установите переключатель **Enable Bot Account Creation** в положение `True`\\

**2. Создание бот-аккаунта**

2.1. Добавление нового бота

* Выйдите из System Console (вернитесь в обычный интерфейс)
* Перейдите в **Integrations → Bot Accounts**
* Нажмите **Add Bot Account** (кнопка в правом верхнем углу)

2.2. Заполнение параметров бота

* **Username**: задайте уникальный логин (например, `passoffice_bot`)
* **Display Name**: укажите отображаемое имя (например, "PassOffice Bot")
* Активируйте чекбокс `post:all` (разрешение на отправку сообщений)
* Нажмите **Create** → скопируйте и сохраните сгенерированный токен - он потребуется для настройки PassOffice

3. **Создание Slash-команды**

3.1. Добавление новой команды

* Перейдите в **Integrations → Slash Commands**
* Нажмите **Add Slash Command**

3.2. Настройка параметров команды

* **Title**: `Link command` (название для связи аккаунтов)
* **Command Trigger Word**: `link` (команда для вызова в чате)
* **Request URL**:

`http://[IP_PassOffice]:[PORT]/integration/[CHANNEL_ID]/hooks/mattermost`

где:

\- `[IP_PassOffice]` - IP-адрес сервера PassOffice

\- `[PORT]` - порт приложения (например, `4201`)

\- `[CHANNEL_ID]` - ID канала Mattermost в PassOffice (например, `62`)

* **Request Method**: выберите `POST`
* Сохраните настройки (**Save**)

#### 4. Настройка в PassOffice (Бюро пропусков)

4.1. Ввод параметров Mattermost

* Откройте раздел **Каналы → Mattermost**
* Заполните поля:

\- **URL Mattermost**: адрес сервера (например, `http://localhost:8065`)

\- **Токен**: вставьте токен, полученный при создании бота (п. 2.2), для обновления токена:

* Установите галочку **«Обновить токен»**
* Введите **новый токен** в соответствующее поле и после этого нажмите **«Сохранить»**.

-**Включить автоматическое связывание** - включение данной функции позволяет PassOffice автоматически сопоставлять сотрудников с каналом Mattermost для отправки уведомлений, если их данные (например, логин) совпадают, без необходимости ручной подписки оператора на уведомления.

{% hint style="info" %}
Например, при отправке уведомления оператору (например, о сбросе пароля):

* PassOffice проверяет, подписан ли оператор на канал Mattermost.

* Если оператор не подписан, система сравнивает указанное поле (например, логин в PassOffice) с логином в Mattermost.

* При совпадении PassOffice автоматически связывает учетные записи и отправляет уведомление в указанный канал Mattermost.

* Оператору не требуется вручную подписываться на уведомления.
  {% endhint %}

* Сохраните настройки

4.2. Активация подписки пользователя

* Откройте **настройки пользователя** в PassOffice
* Нажмите **Подписаться на Mattermost-бота**
* Скопируйте сгенерированную команду

**5. Проверка работы интеграции**

* В любом чате Mattermost введите скопированную команду
* При успешной настройке должно прийти подтверждение об успешной связи


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aamsystems.ru/passoffice/passoffice-guide/admin-guide-doc/administration/kanaly-opoveshenii/mattermost.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
