Оповещения
Получить список оповещений
Запрос 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
}
}
}