- Отгружено
- 12 ноября 2026 г. в 01:16 UTC
- Автор
- Kamo
- Завершение
- 5529c35
Прикрепленный к пользователю чат (<kamo-chat member-id>): - bootstrap ?memberId= возвращает публичную карточку участника (shared PublicOfficerCard: ACTIVE, unlocked TeamMember только из организации ключа; все остальное игнорируется) плюс mortgageLender (общий) MortgageBusiness). Никогда для интеграции SPECIFIC_AGENT (его агент происходит из подписанного токена). - createSupportSession / AI handoff take memberId: проверяется таким же образом, хранится в разговоре **************** и назначается непосредственно этому члену через assignToPreferredAgent (уведомление ASSIGNED, без NEW_TICKET для всей очереди). - Исключение узкого доступа **************** прикрепленный член достигает ТОТ разговор без **************** - деталь билета + присоединение, чтение сессии резервное копирование (темы/STOMP/приложения), изменения статуса, собственный список тикетов **************** значок отсчета голосов и его живой толчок. Ничего больше: нет очереди, нет другой билет, нет настройки; покидая компанию заканчивает его. Электронная почта с пропущенным сообщением уже следует за получателем. Кросс-сайт продолжение: - POST /sessions/support/transfer mints 10-минутный, одноразовый, 256-битный токен (SHA-256 в Redis chat:transfer:*) привязан к разговору + org; POST /sessions/support/resume выкупает его с атомарный GET+DEL, только через ключ того же org, возвращающий ту же сессию. Каждая неудача это один 404. Веб-адреса: - PUT /web-chat-integrations/{id} принимает allowedOrigins: нормализован к голым источникам, никогда не пустой (пустое = любой сайт), записывается в KEY и зеркально отображается на websiteUrl; сбрасывает кэш ключа шлюза. DTO теперь переносит allowedOrigins ключа.
