Перейти к основному содержимому
Версия: 1.16.2

Оповещения

Получить список оповещений

Запрос notifications позволяет получить список оповещений.

notifications(filters: NotificationFilter
order: NotificationOrdering
pagination: OffsetPaginationInput): NotificationOutputCountList!

filters: NotificationFilter: Можно настроить получение списка конкретных оповещений

  • id: Фильтрация по ID оповещений:
    • exact: ID: Получить точный объект оповещения по ID оповещения.
    • iExact: ID: Получить точный объект оповещения по ID оповещения. Без учета регистра.
    • contains: String: Получить объекты оповещений, в которых значение является частью ID оповещения.
    • iContains: String: Получить объекты оповещений, в которых значение является частью ID оповещения. Без учета регистра.
    • inList: [ID!]: Получить точные объекты оповещений по списку ID оповещений.
    • gt: ID: Получить объекты оповещений с ID больше(>) переданных ID. Используется сравнение строк.
    • gte: ID: Получить объекты оповещений с ID больше или равным (>=) переданным ID. Используется сравнение строк.
    • lt: ID: Получить объекты оповещений с ID меньше (<) переданных ID. Используется сравнение строк.
    • lte: ID: Получить объекты оповещений с ID меньше или равным(<=) переданным ID. Используется сравнение строк.
    • startsWith: String: Получить объекты оповещений, чьи ID начинаются с переданного значения.
    • iStartsWith: String: Получить объекты оповещений, чьи ID начинаются с переданного значения. Без учета регистра.
    • endsWith: String: Получить объекты оповещений, чьи ID заканчиваются переданным значением.
    • iEndsWith: String: Получить объекты оповещений, чьи ID заканчиваются переданным значением. Без учета регистра.
    • range: [ID!]: Получить объекты оповещений, чьи ID находятся в диапазоне переданных ID. Используется сравнение строк.
    • isNull: Boolean: Получить объекты оповещений, чьи ID равны(true) или не равны (false) нулю null.
    • regex: String: Получить объекты оповещений, чьи ID соответствуют переданному регулярному выражению.
    • iRegex: String: Получить объекты оповещений, чьи ID соответствуют переданному регулярному выражению. Без учета регистра.
  • creationDate: DatetimeFilterLookupCustom: Фильтрация по дате создания оповещения. Параметры аналогичны параметрам для фильтрации по ID.
  • lastModified: DatetimeFilterLookupCustom: Фильтрация по дате последнего изменения оповещения. Параметры аналогичны параметрам для фильтрации по ID.
  • isViewed: Boolean: Фильтрация просмотренных (true) и непросмотренных (false) оповещений.
  • isActive: Boolean: Фильтрация активных (true) и неактивных (false) оповещений.
  • endpointId: UUID: Фильтрация оповещений по ID эндпойнта, на который отправляются оповещения.
  • isSent: Boolean: Фильтрация оповещений по оповещениям внутри системы (true) и оповещениям, направленным на внешние эндпойнты (false).
  • triggerId: ID: Фильтрация оповещений по ID триггера.
  • profileId: ID: Фильтрация оповещений по ID профиля.
  • type: NotificationType: Фильтрация оповещений по типу.
  • profileGroupTitle: String: Фильтрация оповещений по названию группы.

order: NotificationOrdering: Вы можете настроить сортировку списка оповещений:

  • id: Ordering: Сортировка по ID. Используется сравнение строк. (ASC: Сортировка по возрастанию, DESC: Сортировка по убыванию)
  • creationDate: Ordering: Сортировка по дате создания оповещения.
  • lastModified: Ordering: Сортировка по дате последнего изменения оповещения.

pagination: OffsetPaginationInput:

  • limit: Int!: Этот параметр позволяет получить первые n оповещений из списка.
  • offset: Int!: Этот параметр позволяет удалить первые n оповещений из списка.

NotificationOutputCountList!: Результат запроса - список оповещений со следующими параметрами:

  • totalCount: Int!: Общее число оповещений.
  • collectionItems: [NotificationOutput!]!:
    • id: ID!: ID оповещения.
    • isActive: Boolean!: Атрибут о том, что оповещение активно.
    • isViewed: Boolean!: Атрибут о том, что оповещение просмотрено.
    • lastModified: DateTime: Дата последнего изменения оповещения в формате ISO 8601.
    • activityId: ID: ID активности, вызвавшей оповещение.
    • avatarId: ID: ID аватара профиля.
    • agentTitle: String: Название агента.
    • cameraId: ID: ID камеры, обнаружившей активность.
    • cameraTitle: String: Название камеры
    • creationDate: DateTime!: Дата создания оповещения в формате ISO 8601.
    • currentCount: Int: Число людей в поле зрения камеры
    • description: String: Описание профиля
    • endpointStatuses: [EndpointStatusOutput!]: Список эндпойнтов со статусами:
      • endpoint: EndpointOutput!: Объект эндпойнта.
      • status: String!: Статус передачи.
    • limit: Int: Максимальное число персон.
    • name: String: Имя профиля.
    • profileGroupColor: String: Цвет группы, привязанной к триггеру.
    • profileGroupId: ID: ID группы, привязанной к триггеру.
    • profileGroupTitle: String: Название группы, привязанной к триггеру.
    • profileId: ID: ID профиля.
    • realtimeBodyPhotoId: String: ID изображения человека, обнаруженного камерой (Отсутствует в анонимном режиме).
    • realtimeFacePhotoId: String: ID изображения лица человека, обнаруженного камерой (Отсутствует в анонимном режиме).
    • triggerId: ID: ID триггера, вызвавшего оповещение.
    • type: String!: Тип оповещения.

Пример запроса:

{
notifications(filters: {
id: {
exact: "ed1a55af-6daf-4368-ac68-0defdff5159c"
}
}) {
totalCount
collectionItems {
profileGroupColor
activityId
avatarId
agentTitle
cameraId
cameraTitle
creationDate
currentCount
description
id
endpointStatuses {
status
endpoint {
id
}
}
isActive
isViewed
lastModified
limit
name
profileGroupId
profileGroupTitle
profileId
realtimeBodyPhotoId
realtimeFacePhotoId
triggerId
type
}
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"notifications": {
"totalCount": 1,
"collectionItems": [
{
"profileGroupColor": "red.600",
"activityId": "f3bf0ac7-5849-45d7-85e0-12de925633da",
"avatarId": "4312809b-99b2-47a7-beb9-b60b87c07594",
"agentTitle": "My Agent",
"cameraId": "3c818dc4-352c-47a7-b32b-465fbd4a9665",
"cameraTitle": "My Camera",
"creationDate": "2022-07-07T13:10:53.619145+00:00",
"currentCount": null,
"description": "gap\n",
"id": "ed1a55af-6daf-4368-ac68-0defdff5159c",
"endpointStatuses": [
{
"status": "success",
"endpoint": {
"id": "db38ec53-c09d-45f2-bfed-5877c9bd9016"
}
}
],
"isActive": false,
"isViewed": true,
"lastModified": "2022-07-07T13:11:12.264337+00:00",
"limit": null,
"name": null,
"profileGroupId": "97c1a9fa-bfde-460a-9bda-f610060423ca",
"profileGroupTitle": "My persons",
"profileId": "b4a16647-1336-4ed8-a440-e4e8896e1de3",
"realtimeBodyPhotoId": "339a4020-a9af-49e8-83d4-3fc34ef794e5",
"realtimeFacePhotoId": null,
"triggerId": "66b3eb1a-de88-469e-83c9-697785a0a4c2",
"type": "presence"
}
]
}
}
}

Просмотреть оповещение

Мутация viewingNotifications отмечает одно или несколько оповещений как просмотренные.

viewingNotifications(notificationIds: [String!]!): MutationResult!

notificationIds: [String!]!: Список ID оповещений, отмеченных как просмотренные.

MutationResult:Результат мутации - JSON-файл со следующими параметрами:

  • ok: Boolean!: Атрибут успешного завершения мутации.

Пример запроса:

mutation{
viewingNotifications(notificationIds: ["5a1a1bed-5bc0-4e8e-8154-e56c5ef5ea87"]) {
ok
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"viewingNotifications": {
"ok": true
}
}
}

Просмотреть все оповещения

Мутация markAllNotificationsAsViewed отмечает все оповещения как просмотренные.

markAllNotificationsAsViewed: MutationResult!

MutationResult: Результат мутации - JSON-файл со следующими параметрами:

  • ok: Boolean!: Атрибут успешного завершения мутации.

Пример запроса:

mutation{
markAllNotificationsAsViewed {
ok
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"markAllNotificationsAsViewed": {
"ok": true
}
}
}