Перейти к содержанию

Организации

Организация объединяет клиентов, которые работают в одной компании или команде. У неё есть имя, домены электронной почты, с которых пишут её люди, заметки, видимые только сотрудникам, и один переключатель: читают ли участники обращения друг друга.

Организации предназначены для клиентов. Сотрудники никогда не входят в организацию; то, какие заявки читает сотрудник, определяется проектами, в которых он работает.

Что хранит организация

Поле Что это
Name Показывается сотрудникам везде и участникам в портале. Уникально без учёта регистра.
Email domains До 50, например acme.com. Клиент, чей адрес находится на одном из них, присоединяется сам. Каждый домен принадлежит не более чем одной организации.
Sharing (share_tickets) По умолчанию выключено. Когда включено, участники читают обращения друг друга.
Notes Только для сотрудников. Никогда не отправляются клиенту.

Каждый клиент принадлежит не более чем одной организации. Удаление организации оставляет её людей и заявки на месте, но без организации.

Создание организации

  1. В рабочей области откройте Organizations (в разделе Library) и выберите New organization.
  2. Введите имя, домены электронной почты и заметки.
  3. Включите общий доступ, если коллеги должны читать обращения друг друга.
  4. Сохраните.
  5. На странице организации используйте Add people from its domains, чтобы добавить клиентов, которые уже есть на этих доменах.

Для чтения организаций нужно helpdesk-pro.desk; для создания, редактирования и управления участниками — helpdesk-pro.people.manage.

Присоединение по домену электронной почты

Клиент сам присоединяется к организации, в которой указан домен его адреса, когда:

  • Helpdesk Pro впервые встречает его по почте (новая заявка или ответ с нового адреса), или
  • он подтверждает адрес (подтверждённая учётная запись, ссылка для входа или привязка адреса), или
  • сотрудники меняют его адрес на экране People.

Учитывается только подтверждённый адрес и только для клиента, который ещё не состоит ни в одной организации. Тот, кто регистрируется с неподтверждённым адресом, не присоединяется, поэтому никто не сможет читать обращения Acme, зарегистрировавшись как someone@acme.com. Клиент, уже состоящий в организации, никогда не переносится по домену; его переносят сотрудники.

Публичные почтовые провайдеры отклоняются. Организация не может указать gmail.com, outlook.com, icloud.com, proton.me или других публичных провайдеров, известных Helpdesk Pro, потому что к ней присоединился бы каждый с таким адресом. Добавьте других (например, регионального провайдера) через organizations.blocked_domains. Отклонённый домен возвращается как ошибка поля («gmail.com is a public email provider»), как и домен, уже указанный в другой организации.

Когда вы добавляете домен в организацию, где уже есть клиенты на нём, Add people from its domains добавляет каждого клиента с подтверждённым адресом на этом домене, который ещё не состоит в организации. Организация без участников предлагает то же на карточке Members: Add 2 people from acme.com.

К какой организации относится заявка

Заявка получает организацию заявителя при создании и сохраняет её. Перенос человека в другую организацию не переносит его более ранние заявки: они остаются с организацией, для которой были открыты, а новые заявки идут в новую. Человек, сменивший работу, не забирает обращения прежнего работодателя.

Сотрудники, которые могут редактировать заявку, переносят её кнопкой Change на карточке Organization. Перенос записывается в активность заявки для сотрудников, а когда любая из организаций делится заявками, рабочая область до переноса сообщает, кто получит или потеряет доступ.

Общий доступ к обращениям для коллег

Когда общий доступ включён, каждый участник читает обращения организации, в каком бы проекте они ни находились:

  • Они читают публичную переписку: ответы, статус и публичную активность. Никогда внутренние заметки или внутреннюю активность.
  • Они только читают. Коллега не может ответить, отключить уведомления или отметить решённым обращение, в котором его нет. Чтобы коллега участвовал, добавьте его в обращение как копию.
  • Им не отправляют писем и уведомлений об обращениях, которые они могут лишь читать. Обновления в реальном времени доходят до открытой страницы.
  • Они никогда не читают обращения другой организации, и ничего не открывается, пока общий доступ выключен.

Доступ следует за членством при каждом запросе. Тот, кого убрали из организации или чья организация выключила общий доступ, теряет доступ к её обращениям при следующей загрузке страницы.

В портале участники организации с общим доступом получают My organization в строке навигации, обращения организации по адресу {mount}/organization и переключатель Mine | Acme над обоими списками. У каждого общего обращения указано, кто спросил («Asked by Ada»). См. Справочный центр и портал. Поиск следует тому же правилу.

В рабочей области

  • Organizations (#/organizations) перечисляет каждую организацию с её доменами, участниками и заявками и ищет по именам и доменам.
  • Страница организации (#/organizations/<id>) показывает её участников (с Remove), последние заявки, домены, включает ли она общий доступ и заметки. Её действия — Edit, Add a member… (по почте; новый адрес становится новым человеком), Add people from its domains и Delete….
  • Редактор (#/organizations/new, #/organizations/<id>/edit) спрашивает перед уходом с несохранёнными изменениями.
  • Страница человека показывает его организацию, а для клиентов в меню есть Set organization….
  • Заявка имеет карточку Organization, которая ссылается на организацию и переносит заявку.
  • All tickets имеет фильтр Organization в More filters: Any, No organization или одна организация (#/tickets?organization=4 или ?organization=none).

Организации также работают в правилах (условие Organization и триггер The organization changes) и в отчётах (Top organizations).

Объединение и удаление людей

При объединении двух людей сохраняется организация оставляемого человека или, если у него её нет, берётся организация другого. Удаление человека убирает его из организации; открытые им заявки сохраняют её. См. Люди и конфиденциальность.

Настройки

На вкладке Client Organizations настроек плагина:

Ключ По умолчанию Что делает
organizations.blocked_domains [] Дополнительные домены электронной почты, которые не может указать ни одна организация, сверх публичных провайдеров, уже отклоняемых Helpdesk Pro.

API и MCP

Все маршруты находятся под /api/v1. Для чтения нужно helpdesk-pro.desk; для каждого изменения — helpdesk-pro.people.manage, кроме переноса заявки, для которого нужно право редактировать эту заявку.

Маршрут Право Запрос Ответ Инструмент MCP
GET /helpdesk-pro/organizations desk q, page, per_page Организации по имени list_organizations
POST /helpdesk-pro/organizations people.manage {name, domains, share_tickets, notes} 201 с организацией create_organization
GET /helpdesk-pro/organizations/{id} desk Организация с ETag и joinable (сколько клиентов добавил бы members/by-domain) get_organization
PATCH /helpdesk-pro/organizations/{id} people.manage If-Match; любое из {name, domains, share_tickets, notes} Организация update_organization
DELETE /helpdesk-pro/organizations/{id} people.manage 204 delete_organization
GET /helpdesk-pro/organizations/{id}/members desk page, per_page Её участники list_organization_members
POST /helpdesk-pro/organizations/{id}/members people.manage {person_id} или {email, name} Человек. Сотрудникам отказывается (422). add_organization_member
POST /helpdesk-pro/organizations/{id}/members/by-domain people.manage {added} add_organization_members_by_domain
DELETE /helpdesk-pro/organizations/{id}/members/{personId} people.manage 204 remove_organization_member
GET /helpdesk-pro/people/{id}/organization desk {organization: {id, name, share_tickets}} или {organization: null} get_person_organization
PUT /helpdesk-pro/people/{id}/organization people.manage {organization_id} или null То же set_person_organization
PUT /helpdesk-pro/tickets/{id}/organization desk, право редактировать заявку {organization_id} или null Заявка set_ticket_organization

Организация читается так:

{
  "id": 4, "name": "Acme", "domains": ["acme.com", "acme.co.uk"], "share_tickets": true,
  "notes": "Pays yearly.", "member_count": 12, "ticket_count": 87,
  "created_at": 1790000000, "updated_at": 1790000000
}

Организация заявки находится в её extra.organization как {id, name} (или null) для сотрудников; клиенты никогда не получают её через API.