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

Камеры

Получить список камер

Запрос cameras позволяет получить список камер.

query {
cameras() { } }

Выходные параметры:

  • ids
    • Идентификаторы камер, список которых нужно получить
    • Тип данных: ID.
  • filter
    • Фильтрация списка камер (например, по внутренним полям)
    • Тип данных: JSONString.
  • order
    • Сортировка списка камер (по внутренним полям в алфавитном/обратном алфавитном порядке)
    • Тип данных: String.
  • offset
    • Позволяет удалить последние n камер из списка.
    • Тип данных: Int.
  • limit
    • Позволяет получить последние n камер из списка.
    • Тип данных: Int.
  • withArchived:
    • all: Список всех камер, включая заархивированные камеры.
    • archived: Список только заархивированных камер.

Выходные параметры:

  • totalCount
    • Общее количество найденных камер
    • Тип данных: Int.
  • collectionItems: CameraOutput:
    • id
      • Идентификатор камеры
      • Тип данных: ID.
  • creationDate
    • Дата создания камеры
    • Формат данных: Дата и время в формате ISO.
  • lastModified
    • Дата последнего изменения камеры
    • Формат данных: Дата и время в формате ISO.
  • info
    • Информация по камере, например, внутренние поля камеры
    • Формат данных: JSON.

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

query {
cameras {
totalCount
collectionItems {
id
creationDate
lastModified
info
}
}
}

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

API возвращает следующий результат:
{
"data": {
"cameras": {
"totalCount": 0,
"collectionItems": []
}
}
}

Создать камеру

Мутация createCamera позволяет получить создать объект камеры.

mutation {
cameras() { }}

Выходные параметры:

  • cameraData:
    • fields:
      • name
        • Название поля камеры
        • Тип данных: String.
      • value
        • Имя в поле камеры
        • Тип данных: String.
    • agentId
      • Идентификатор агента, к которому будет привязана камера
      • Тип данных: ID.

Выходные параметры:

  • ok
    • Статус завершения мутации
    • Тип данных: Boolean
  • camera: CameraOutput

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

mutation 
{createCamera(
cameraData: {fields: {name:"Title" value:"Camera 1"} agentId:"***"})
{
ok
camera {
id
creationDate
lastModified
info
}
}
}

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

API возвращает следующий результат:
{
"data": {
"createCamera": {
"ok": true,
"camera": {
"id": "4caa9737-b461-400b-a109-ea00f090ed20",
"creationDate": "2023-05-24T09:27:43.529604+00:00",
"lastModified": "2023-05-24T09:27:43.529563+00:00",
"info": {
"title": "Camera 1"
}
}
}
}
}

Удалить камеру

Мутация deleteCameras позволяет удалить объект камеры.

mutation {
deleteCameras() { }}

Выходные параметры:

  • cameraIds
    • Идентификаторы камер, которые нужно удалить
    • Тип данных: ID.

Выходные параметры:

  • ok
    • Статус завершения мутации
  • Тип данных: Boolean

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

mutation {
deleteCameras(cameraIds: ["***"])
{
ok
}
}

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

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

Обновить камеру

Мутация updateCamera позволяет обновить данные в объекте камеры (например, обновить данные в полях камеры).

mutation {
updateCamera() { }}

Выходные параметры:

  • cameraId
    • Идентификатор камеры, данные о которой нужно обновить
    • Тип данных: ID.
  • cameraData:
    • fields:
      • name
        • Название поля камеры
        • Тип данных: String.
      • value
        • Новое имя в поле камеры
        • Тип данных: String.
    • agentId
      • Идентификатор агента, к которому будет привязана камера
      • Тип данных: ID.

Выходные параметры:

  • ok
    • Статус завершения мутации
    • Тип данных: Boolean
  • camera: CameraOutput

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

mutation {
updateCamera(cameraId: "***"
cameraData: {fields: {name:"Title" value:"Camera 3"}})
{
ok
camera{
id
info
}
}
}

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

API возвращает следующий результат:
{
"data": {
"updateCamera": {
"ok": true,
"camera": {
"id": "***",
"info": {
"title": "Camera 3"
}
}
}
}
}

Привязать камеры к агенту

Мутация addCamerasToAgent позволяет привязывать камеры к агенту.

mutation {
addCamerasToAgent() { }}

Выходные параметры:

  • camerasIds
    • Идентификаторы камер, которые нужно привязать к агенту
    • Тип данных: ID.
  • agentId
    • Идентификатор агента, к которому будут привязаны камеры
    • Тип данных: ID.

Выходные параметры:

  • ok
    • Статус завершения мутации
    • Тип данных: Boolean
  • agent: AgentOutput

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

mutation {
addCamerasToAgent(camerasIds:"***" agentId: "***")

{
ok
agent {
id
creationDate
lastModified
token
camerasIds
cameras {
id
}
title
agentStatus
agentLastActiveTime
archived
}
}
}

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

API возвращает следующий результат:
{
"data": {
"addCamerasToAgent": {
"ok": true,
"agent": {
"id": "***",
"creationDate": "2023-05-25T07:46:15.754737+00:00",
"lastModified": "2023-05-25T08:09:34.813140+00:00",
"token": "***",
"camerasIds": [
"***",
"***"
]
"cameras": [
{
"id": "***
},
{
"id": "***"
}
]
"title": "Agent 1",
"agentStatus": "active",
"archived": false
}
}
}
}

Отвязать камеры от агента

Мутация removeCamerasFromAgent позволяет отвязать камеры от агента.

mutation {
removeCamerasFromAgent() { }}

Выходные параметры:

  • camerasIds
    • Идентификаторы камер, которые нужно отвязать от агента
    • Тип данных: ID.
  • agentId
    • Идентификатор агента, от которого будут отвязаны камеры
    • Тип данных: ID.

Выходные параметры:

  • ok
    • Статус завершения мутации
    • Тип данных: Boolean
  • agent: AgentOutput

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

mutation {
removeCamerasFromAgent(camerasIds: "***" agentId: "***")
{
ok
agent {
id
creationDate
lastModified
token
camerasIds
cameras {
id
}
title
agentStatus
archived
}
}
}

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

API возвращает следующий результат:
{
"data": {
"removeCamerasFromAgent": {
"ok": true,
"agent": {
"id": "***",
"creationDate": "2023-05-25T07:46:15.754737+00:00",
"lastModified": "2023-05-25T08:14:54.750972+00:00",
"token": "***",
"camerasIds": [
"***"
],
"cameras": [
{
"id": "***"
}
],
"title": "Agent 1",
"agentStatus": "inactive",
"archived": false
}
}
}
}

Получить список пользовательских полей камеры

Запрос collectorSettings возвращает список пользовательских полей камеры.

query {
collectorSettings() { }}

Выходные параметры:

  • cameraFields
    • Список текущих полей камер
    • Тип данных: String.

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

query {
collectorSettings
{
cameraFields
}
}

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

API возвращает следующий результат:
{
"data": {
"collectorSettings": {
"cameraFields": [
"title",
"stream",
"type",
"width",
"height",
"real_name"
]
}
}
}

Добавить пользовательское поле камеры

Мутация addCamerasField позволяет добавить пользовательское поле для камеры.

mutation {
addCamerasField() { }}

Выходные параметры:

  • fieldInput:
    • name
      • Название нового поля камеры
      • Тип данных: String.

Выходные параметры:

  • ok
    • Статус завершения мутации
    • Тип данных: Boolean.
  • fields
    • Список текущих полей камер
    • Тип данных: String.

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

mutation {
addCamerasField(fieldInput: {name: "model"})
{
ok
fields
}
}

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

API возвращает следующий результат:
{
"data": {
"addCamerasField": {
"ok": true,
"fields": [
"title",
"stream",
"type",
"width",
"height",
"real_name",
"model"
]
}
}
}

Удалить пользовательское поле камеры

Мутация removeCamerasField позволяет удалить пользовательское поле для камеры.

mutation {
removeCamerasField() { }}

Выходные параметры:

  • fieldInput:
    • name
      • Название поля камеры, которое нужно удалить
      • Тип данных: String.

Выходные параметры:

  • ok
    • Статус завершения мутации
    • Тип данных: Boolean.
  • fields
    • Список текущих полей камер
    • Тип данных: String.

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

mutation {
removeCamerasField(fieldInput: {name: "model"})
{
ok
fields
}
}

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

API возвращает следующий результат:
{
"data": {
"removeCamerasField": {
"ok": true,
"fields": [
"title",
"stream",
"type",
"width",
"height",
"real_name"
]
}
}
}