Триггеры
Получить список триггеров
Запрос triggers позволяет получить список триггеров для создания оповещений. Триггеры связаны с эндпойнтами, на которые будут отправляться оповещения.
triggers(filter: JSON = null
ids: [ID] = null
limit: Int = null
offset: Int = null
order: [String] = null
targetId: ID = null
withArchived: WithArchived = null): TriggerCollection!
Входные параметры:
filter: JSON: Вы можете отфильтровать список триггеров, указав один или несколько параметров:
creation_date: Точная дата создания триггера в формате ISO 8601endpoints: ID связанного эндпойнтаid: ID триггера из базы данныхis_active:last_modified: Точная дата последнего изменения триггера в формате ISO 8601meta:workspace: ID воркспейсаworkspace_id: ID воркспейса
ids: [ID]: Для получения списка конкретных триггеров укажите их ID в списке.
limit: Int: Параметр позволяет получить первые n триггеров из списка.
offset: Int: Параметр позволяет удалить первые n триггеров из списка.
order: [String]: Вы можете отсортировать список, указав значения для следующих параметров:creation_date, endpoints, id, is_active, last_modified, meta, workspace, workspace_id
targetId: ID: ID группы, к которой привязан триггер
withArchived: WithArchived: Для получения списка всех триггеров, включая заархивированные триггеры, укажите значение all. Для получения списка только заархивированных триггеров укажите значение archived.
Выходные параметры:
TriggerCollection!: Результат запроса - список триггеров со следующими параметрами:
totalCount: Int: Число возвращенных триггеровcollectionItems: [TriggerType!]!:id: ID!: ID триггераcreationDate: DateTime!: Дата создания триггера в формате ISO 8601lastModified: DateTime!: Дата последнего изменения триггера в формате ISO 8601meta: Meta!: Мета-информация триггераendpoints: [EndpointOutput!]!: Список эндпойнтов, связанных с триггеромarchived: Boolean!: Атрибут об архивации триггера
Пример запроса:
{
triggers(ids: ["3e57a95e-028c-4d27-9419-a9c4bfd6f3fb"]) {
totalCount
collectionItems {
id
creationDate
lastModified
meta {
notificationParams
conditionLanguage {
condition
variables {
name
target {
type
uuid
}
type
}
}
}
endpoints {
id
}
archived
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"triggers": {
"totalCount": 1,
"collectionItems": [
{
"id": "3e57a95e-028c-4d27-9419-a9c4bfd6f3fb",
"creationDate": "2022-07-07T08:38:22.982190+00:00",
"lastModified": "2022-07-08T05:03:48.961423+00:00",
"meta": {
"notificationParams": "{\"lifetime\": 5}",
"conditionLanguage": {
"condition": null,
"variables": [
{
"name": "0_v",
"target": [
{
"type": "Label",
"uuid": "edbb2c49-bacc-4b43-aac8-e06fd3da35eb"
}
],
"type": "presence"
}
]
}
},
"endpoints": [
{
"id": "db38ec53-c09d-45f2-bfed-5877c9bd9016"
}
],
"archived": false
}
]
}
}
}
Создать триггер для группы
Мутация createProfileGroupTrigger позволяет создать триггер для группы. При каждом обнаружении камерой персоны из этой группы система будет создавать оповещение.
createProfileGroupTrigger(endpointAliases: [DefaultAlias!] = null
endpointIds: [ID!] = null
endpointUrl: String = null
profileGroupId: ID!): TriggerManageOutput!
Входные параметры:
endpointAliases: [DefaultAlias!]: Вы можете передать значения OWNER_EMAIL или WEB_INTERFACE. В этом случае эндпойнт с аналогичным значением для параметра defaultAlias будет привязан к триггеру.
endpointIds: [ID!]: Вы можете передать список ID эндпойнтов, привязанных к триггеру.
endpointUrl: String: Вы можете передать URL в ваш вебхук. Это создаст новый эндпойнт для отправления оповещений на ваш URL адрес.
profileGroupId: ID!: ID группы для создания триггера.
title: String: Название триггера
lifetime: Int: Время (в секундах), в течение которого платформа помнит, что человек был в кадре.
Выходные параметры:
TriggerManageOutput!: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!: Атрибут успешного завершения мутацииtrigger: TriggerType!: Объект нового триггера
Ошибки входных данных:
- Группа не найдена по переданному ID:
{
"message": "Label matching query does not exist."
} - Эндпойнт не найден по переданному ID:
{
"message": "Endpoint does not exist."
}
Пример запроса:
mutation{
createProfileGroupTrigger(profileGroupId: "800f0b65-7dbe-42b2-8f66-89af95a734e7", endpointIds: ["afd7c121-3140-4a8c-b0ee-3717581eb76d"]) {
trigger {
endpoints {
id
}
id
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"createProfileGroupTrigger": {
"trigger": {
"endpoints": [
{
"id": "afd7c121-3140-4a8c-b0ee-3717581eb76d"
}
],
"id": "9675aede-3ee8-495b-ac8b-e284a07db99e"
}
}
}
}
Обновить триггер
Мутация updateTrigger позволяет обновить эндпойнты, привязанные к триггеру. Список привязанных эндпойнтов заменяется новым списком.
updateTrigger(endpointAliases: [DefaultAlias!] = null
endpointIds: [ID!] = null
triggerId: ID!): TriggerManageOutput!
Входные параметры:
endpointAliases: [DefaultAlias!]: Вы можете передать значения OWNER_EMAIL или WEB_INTERFACE. В этом случае один из эндпойнтов с аналогичным значением в параметре defaultAlias будет привязан к триггеру.
endpointIds: [ID!]: Вы можете передать список ID эндпойнтов, привязанных к триггеру.
triggerId: ID!: ID триггера
title: String: Название триггера
lifetime: Int: Время (в секундах), в течение которого платформа помнит, что человек был в кадре.
Выходные параметры:
TriggerManageOutput!: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!: Атрибут успешного завершения мутацииtrigger: TriggerType!: Объект обновленного триггера
Ошибки входных данных:
- Триггер не найден по переданному ID:
{
"message": "Trigger matching query does not exist."
} - Эндпойнт не найден по переданному ID:
{
"message": "Endpoint does not exist."
}
Пример запроса:
mutation{
updateTrigger(
triggerId: "64e0a7ec-0df4-4734-a460-601fa1b65a1f",
endpointIds: ["6e5a6d3b-8247-488e-95d7-57a306b294ed"],
endpointAliases: OWNER_EMAIL) {
ok
trigger {
id
endpoints {
id
defaultAlias
}
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"updateTrigger": {
"ok": true,
"trigger": {
"id": "64e0a7ec-0df4-4734-a460-601fa1b65a1f",
"endpoints": [
{
"id": "6e5a6d3b-8247-488e-95d7-57a306b294ed",
"defaultAlias": null
},
{
"id": "6fd67f81-a195-442b-a991-1a0eca6bbb69",
"defaultAlias": "OWNER_EMAIL"
}
]
}
}
}
}
Привязать эндпойнт к триггеру
Мутация linkEndpoint позволяет привязать эндпойнт к триггеру. Необходимо добавить эндпойнт в список эндпойнтов, привязанных к триггеру.
linkEndpoint(endpointAliases: [DefaultAlias!] = null
endpointIds: ID! = null
triggerId: ID!): MutationResult!
Входные параметры:
endpointAliases: [DefaultAlias!]: Можно передать значения OWNER_EMAIL или WEB_INTERFACE. В этом случае один из эндпойнтов с аналогичным значением для параметраdefaultAlias будет привязан к триггеру.
endpointIds: ID!: ID эндпойнта, который будет привязан к триггеру.
triggerId: ID!: ID триггера
Выходные параметры:
MutationResult!: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!: Атрибут успешного завершения мутации
Ошибки входных данных:
- Не передан ID эндпойнта для привязки к триггеру:
{
"message": "Unknown exception code for 'bad_input_data' type",
"code": "No id or alias provided"
} - Не найден эндпойнт по переданному ID:
{
"message": "Endpoint matching query does not exist."
} - Не найден триггер по переданному ID:
{
"message": "Trigger matching query does not exist."
}
Пример запроса:
mutation{
linkEndpoint(triggerId: "64e0a7ec-0df4-4734-a460-601fa1b65a1f", endpointAlias: WEB_INTERFACE) {
ok
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"linkEndpoint": {
"ok": true
}
}
}
Отвязать эндпойнт от триггера
Мутация unlinkEndpoint позволяет отвязать эндпойнт от триггера. Эндпойнт будет удален из списка эндпойнтов, привязанных к триггеру.
unlinkEndpoint(endpointAliases: [DefaultAlias!] = null
endpointIds: ID! = null
triggerId: ID!): MutationResult!
Входные параметры:
endpointAliases: [DefaultAlias!]: Вы можете передать значения OWNER_EMAIL или WEB_INTERFACE. В этом случае один из эндпойнтов с аналогичным значением параметра defaultAlias будет удален из списка эндпойнтов, привязанных к этому триггеру.
endpointIds: ID!: Вы можете передать ID эндпойнта, который необходимо удалить из списка эндпойнтов, привязанных к этому триггеру.
triggerId: ID!: ID триггера
Выходные параметры:
MutationResult!: Результат мутации - JSON-файл со следующими параметрами::
ok: Boolean!: Атрибут успешного завершения мутации
Ошибки входных данных:
- ID эндпойнта, который необходимо отвязать от триггера, не передан:
{
"message": "Unknown exception code for 'bad_input_data' type",
"code": "No id or alias provided"
} - Эндпойнт не найден по переданному ID:
{
"message": "Endpoint matching query does not exist."
} - Триггер не найден по переданному ID:
{
"message": "Trigger matching query does not exist."
}
Пример запроса:
mutation{
unlinkEndpoint(triggerId: "64e0a7ec-0df4-4734-a460-601fa1b65a1f", endpointAlias: WEB_INTERFACE) {
ok
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"unlinkEndpoint": {
"ok": true
}
}
}
Удалить триггер
Мутация deleteTrigger позволяет удалить триггер.
deleteTrigger(triggerId: ID!): MutationResult!
Входные параметры:
triggerId: ID!: ID триггера
Выходные параметры:
MutationResult!: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!: Атрибут успешного завершения мутации.
Ошибки входных данных:
- Триггер не найден по переданному ID:
{
"message": "Trigger matching query does not exist."
}
Пример запроса:
mutation{
deleteTrigger(triggerId: "64e0a7ec-0df4-4734-a460-601fa1b65a1f") {
ok
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"deleteTrigger": {
"ok": true
}
}
}