Триггеры
Получить список триггеров
Запрос 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 группы для создания триггера.
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 триггера
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
}
}
}