Интеграции тревог
Основная платформаalarm_integrations_connections_writeВнешние интеграцииПодключает объект к шаблону партнёра по мониторингу и управляет этим подключением: сохранение (шаблон, номер счёта, карта зон, события, поля объекта), удаление, запрос одобрения, отправка тестового сигнала, активация после успешного теста и отмена подготовленного изменения.
Действующее подключение (активное или со сбоями) изменяется только с applyMode: staged оставляет тревоги на действующих настройках, пока тест подготовленного изменения не пройдёт успешно и вы его не активируете; immediate применяет изменения сразу. Секретные поля принимаются, но никогда не возвращаются. Требуется External Integrations на объекте. Сначала прочитайте данные с помощью alarm_integrations_read connections.
Действия:
- save: Сохранить подключение. Для нового подключения требуется templateId. fields задаёт поля объекта по ключу (null сбрасывает поле; секреты шифруются). Для действующего подключения передайте applyMode, иначе вызов завершится ошибкой apply-mode-required. Требуется partnerId. Запрашивает подтверждение.
- remove: Удалить подключение. Удаляет подключение объекта к партнёру вместе с подготовленными изменениями; тревоги с этого объекта перестают поступать в этот центр мониторинга. Требуется partnerId. Запрашивает подтверждение.
- request_approval: Запросить одобрение. Просит центр мониторинга одобрить подключение или назначить номер счёта (шаблоны с одобрением партнёра). Требуется partnerId.
- send_test_signal: Отправить тестовый сигнал. Ставит в очередь реальный тестовый сигнал в центр мониторинга; проверяйте test_signal_status. staged: true тестирует подготовленное изменение вместо действующих настроек. Требуется partnerId. Запрашивает подтверждение.
- activate: Активировать подключение или изменение. Делает ожидающее подключение действующим, применяет подготовленное изменение или подтверждает непроверенное. Для активации требуется requestId теста, успешно прошедшего после последнего изменения: тест подготовленного изменения (staged: true) применяет подготовленное изменение, тест действующих настроек подтверждает непроверенное. Требуются partnerId, requestId. Запрашивает подтверждение.
- discard_pending_change: Отменить подготовленное изменение. Удаляет подготовленное изменение; действующие настройки не затрагиваются. discarded равно false, если ничего не было подготовлено. Требуется partnerId. Запрашивает подтверждение.
Параметры
| Имя | Тип | Описание |
|---|---|---|
action* | "save" | "remove" | "request_approval" | "send_test_signal" | "activate" | "discard_pending_change" | Что сделать; каждое действие описано в описании инструмента. |
facilityId | string | ID объекта. Необязателен, если имеется в виду подключённый объект. |
partnerId | string | Партнёр по мониторингу из alarm_integrations_read connections (org#<id> для собственных шаблонов организации) |
templateId | string | Опубликованный шаблон, доступный этому объекту (save) |
linkingIdentifier | stringnull | Номер счёта, под которым объект известен центру мониторинга (save) |
zoneMap | objectnull | Соответствие серийного номера кнопки зоне, например { "DS-0001": "001" } (save) |
events | arraynull | Типы событий, отправляемые партнёру (null: из шаблона) (save) |
fields | object | Значения полей объекта по ключу; null сбрасывает поле. Никогда не возвращаются. (save) |
applyMode | "staged" | "immediate" | Действующие подключения: staged (тест, затем активация) или immediate (save) |
staged | boolean | Протестировать подготовленное изменение (требуется перед его активацией) (send_test_signal) |
requestId | string | ID запроса тестового сигнала (tsr_...) из send_test_signal (activate) |
confirm | boolean | Задавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом |
alarm_integrations_destinations_writeВнешние интеграцииDuress ConfigurationДобавляет, изменяет, удаляет и тестирует пользовательские получатели тревог: собственный приёмник мониторинга, релейную плату, SMS, голосовые вызовы, электронную почту, веб-хуки, командный чат или службу оповещения дежурных (список каналов) на уровне объекта (по умолчанию), бренда или организации.
Несекретные настройки указываются в config; секреты (пароли, URL веб-хуков, ключи) указываются в fields по пути настройки, шифруются и никогда не возвращаются. Для включённых получателей требуется полный config. Для получателей объекта требуется External Integrations или Duress Configuration на этом объекте; для получателей бренда и организации — доступ на уровне всей организации. Сначала прочитайте данные с помощью alarm_integrations_read destinations.
Действия:
- save: Сохранить получателя. Без connectionId добавляет нового (требуются channel и name); с ним изменяет существующего (канал не меняется). Переданный config заменяет несекретные настройки; секреты, не указанные в fields, сохраняются. Запрашивает подтверждение.
- remove: Удалить получателя. Удаляет получателя; реле объекта также перестаёт управлять тревожным реле. Требуется connectionId. Запрашивает подтверждение.
- send_test_signal: Отправить тест получателю. Ставит в очередь реальное тестовое сообщение получателю; проверяйте alarm_integrations_read test_signal_status с указанием объекта. Получатели бренда и организации тестируются с facilityId. Требуется connectionId. Запрашивает подтверждение.
Параметры
| Имя | Тип | Описание |
|---|---|---|
action* | "save" | "remove" | "send_test_signal" | Что сделать; каждое действие описано в описании инструмента. |
facilityId | string | ID объекта. Необязателен, если имеется в виду подключённый объект. |
ownerScope | string | facility#<id>, brand#<id> или org#<id> (по умолчанию: объект) |
connectionId | string | Изменяемый получатель; не указывайте, чтобы добавить нового |
channel | "cid-csvip" | "sentinel-http" | "relay" | "sms" | "voice" | "email" | "webhook" | "slack" | "teams" | "google-chat" | "pagerduty" | "opsgenie" | Тип получателя; после создания изменить нельзя (save) |
name | string | Отображается в настройках и журнале доставки (save) |
enabled | boolean | По умолчанию true для новых получателей (save) |
events | arraynull | Получаемые типы событий (null: значения канала по умолчанию) (save) |
guestLink | "shared" | "none" | "null" | Только для каналов SMS, электронной почты и командного чата: shared (одна страница тревоги только для просмотра, по умолчанию) или none (save) |
config | object | Несекретные настройки канала (save) |
fields | object | Секретные настройки по пути, например { "webhookUrl": "https://..." }; null сбрасывает настройку (save) |
confirm | boolean | Задавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом |
alarm_integrations_readВнешние интеграцииDuress ConfigurationПоказывает, куда за пределы Performance Hub направляются тревоги Duress объекта: подключения к центрам мониторинга (партнёр, шаблон, номер счёта, карта зон, статус, препятствия для запуска, подготовленные изменения), пользовательские получатели (приёмники мониторинга, реле, SMS, голосовые вызовы, электронная почта, веб-хуки, чат, оповещение дежурных) на уровне объекта, его бренда и организации, предварительный просмотр маршрутизации, журнал доставки и результаты тестовых сигналов.
Требуется External Integrations или Duress Configuration на объекте. Секреты и зашифрованные значения никогда не показываются, только { key, secret, hasValue }; номера и адреса людей скрываются в маршрутизации и доставках. Время указывается в формате ISO. Изменяйте данные с помощью alarm_integrations_connections_write и alarm_integrations_destinations_write.
Действия:
- connections: Подключения к центрам мониторинга. Подключения объекта к партнёрам: шаблон, номер счёта (linkingIdentifier), карта зон, события, connectionStatus, missing (что мешает запуску), pendingChange (подготовлено, ещё не действует) и untestedChange. canEdit: External Integrations на этом объекте.
- destinations: Пользовательские получатели. Получатели, которые могут срабатывать для объекта (собственные, бренда и организации, у каждого есть canEdit), или с ownerScope — получатели одной области. Настройки в config; секреты в виде fields { key, secret, hasValue }.
- routing: Предварительный просмотр маршрутизации. Куда тревога направится прямо сейчас (только действующие настройки) так, как это определяет universal-api: получатели с lane, events и config без секретов, problems с объяснением всего исключённого и pendingChanges, которые ещё не маршрутизируются. eventType оставляет только тех, кто получает это событие.
- deliveries: Журнал доставки. Доставки тревог, сначала новые (статус, канал, получатель, задержка, общедоступный текст ошибки). Отфильтрованная страница может быть короткой и при этом содержать nextCursor. Оповещения устройств отображаются с kind alert.
- test_signal_status: Результат тестового сигнала. queued, пока universal-api не зафиксирует попытку, затем succeeded (получатель подтвердил получение или сигнал был отправлен) или failed, со строками доставки. Используйте объект, с которого был отправлен тест. Требуется requestId.
Параметры
| Имя | Тип | Описание |
|---|---|---|
action* | "connections" | "destinations" | "routing" | "deliveries" | "test_signal_status" | Что сделать; каждое действие описано в описании инструмента. |
facilityId | string | ID объекта. Необязателен, если имеется в виду подключённый объект. |
limit | integer | Элементов на странице (по умолчанию 25, не более 100) (connections, destinations, deliveries) |
cursor | string | nextCursor с предыдущей страницы (connections, destinations, deliveries) |
ownerScope | string | Только эта область: brand#<id> или org#<id> (destinations) |
eventType | string | например ph.duress.incident.created (routing, deliveries) |
from | string | Дата и время ISO, включительно (deliveries) |
to | string | Дата и время ISO, не включая (deliveries) |
status | array | Любое из значений sent, acknowledged, failed, shadow (deliveries) |
channel | string | Точный канал, например cid-csvip или sms (deliveries) |
destinationId | string | Точный ID получателя (deliveries) |
incidentId | string | Доставки для одной тревоги (deliveries) |
requestId | string | Доставки для одного тестового сигнала (deliveries, test_signal_status) |
search | string | Текст в любом ID, канале или ошибке (deliveries) |