Агенты
Получить список агентов
Запрос agents
позволяет получить список агентов.
agents( filter: JSON = null
ids: [ID] = null
limit: Int = null
offset: Int = null
order: [String] = null
withArchived: WithArchived = null): AgentsCollection!
filter: JSON
: Вы можете отфильтровать список агентов, указав значения для одного или нескольких параметров:
activations
:cameras
: ID камеры, сохраненный в базе данных.creation_date
: Точная дата создания агента в формате ISO 8601id
: ID агента, сохраненный в базе данных.info__title
: Название агента.is_active
: Атрибут активности агента.last_modified
: Точная дата последнего изменения агента в формате ISO 8601workspace
: ID воркспейсаworkspace_id
: ID воркспейса
ids: [ID]
: Для получения списка конкретных агентов укажите их ID в списке.
limit: Int
: Параметр позволяет получить первые n
агентов из списка.
offset: Int
: Параметр позволяет удалить первые n
агентов из списка.
order: [String]
: Вы можете отсортировать список, указав значения для следующих параметров: activations
, cameras
, creation_date
, id
, info
, is_active
, last_modified
, workspace
, workspace_id
.
withArchived: WithArchived
: Для получения списка всех агентов, в том числе заархивированных,укажите значение all
. Для получения списка только заархивированных агентов укажите значение archived
.
AgentsCollection!
: Результат запроса - список агентов со следующими параметрами:
totalCount: Int
: Число возвращенных агентовcollectionItems: [AgentsCollection!]!
:id: ID!
: ID агентаcreationDate: DateTime!
: Дата создания агента в формате ISO 8601.lastModified: DateTime!
: Дата последнего изменения агента в формате ISO 8601.token: String!
: Токен агентаcamerasIds: [ID!]
: Список ID камер, подключенных к агенту.title: String
: Название агентаagentStatus: String!
: Статус агентаagentLastActiveTime: String
: Дата последней активности, зафиксированной камерой агента.archived: Boolean!
: Атрибут архивации агента.
Пример запроса:
{
agents {
totalCount
collectionItems {
token
title
lastModified
id
creationDate
camerasIds
archived
agentStatus
agentLastActiveTime
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"agents": {
"totalCount": 1,
"collectionItems": [
{
"token": "19df2b38-7d23-44a5-85e7-c5a29b304581",
"title": "My Agent",
"lastModified": "2022-07-12T08:50:45.296225+00:00",
"id": "19df2b38-7d23-44a5-85e7-c5a29b304581",
"creationDate": "2022-07-07T07:23:08.965949+00:00",
"camerasIds": [
"3c818dc4-352c-47a7-b32b-465fbd4a9665"
],
"archived": false,
"agentStatus": "active",
"agentLastActiveTime": "2022-07-12T08:50:45.296115"
}
]
}
}
}
Создать агент
Мутация createAgent
позволяет создать агент.
createAgent(agentData: AgentInput!): AgentCreateOutput!
agentData: AgentInput!
: Информация, которая потребуется для создания агента:
title: String
: Название агента.extra: JSON
: Дополнительная информация об агенте.
AgentCreateOutput
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!
: Атрибут успешного завершения мутации.agent: AgentOutput!
: Объект нового агента.channelCost: String
: Ежемесячная плата за обслуживание.writeoffDate: String
: Дата следующего обслуживания в формате ISO 8601.
Ошибки входных данных:
- Ошибка при создании агента из-за превышения лимита созданных агентов:
{
"message": "Agent limit exceeded",
"code": "0x6245cd00"
}
- Переданы неверные дополнительные данные:
{
"message": "'int' object has no attribute 'get'"
}
Пример запроса:
mutation{
createAgent(agentData: {title: "My new agent"}) {
ok
agent {
id
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"createAgent": {
"ok": true,
"agent": {
"id": "2b769e5a-a49a-46ac-ac38-ec924bd4ec83"
}
}
}
}
Обновить агент
Мутация updateAgent
используется для обновления информации об агенте.
updateAgent(agentData: AgentUpdateInput!
agentId: ID!): AgentManageOutput!
agentData: AgentUpdateInput!
: Информация, которая потребуется для обновления агента:
title: String
: Название агента.
agentId: ID!
: ID агента, который необходимо обновить.
AgentManageOutput
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!
: Атрибут успешного завершения мутации.agent: AgentOutput!
: Объект обновленного агента.
Ошибки входных данных:
- Агент не найден по переданному ID:
{
"message": "Camera matching query does not exist."
}
Пример запроса:
mutation{
updateAgent(
agentId: "19df2b38-7d23-44a5-85e7-c5a29b304581",
agentData: {
title: "My old agent"
}) {
ok
agent {
id
title
}
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"updateAgent": {
"ok": true,
"agent": {
"id": "19df2b38-7d23-44a5-85e7-c5a29b304581",
"title": "My old agent"
}
}
}
}
Удалить агенты
Мутация deleteAgent
позволяет удалить один или несколько агентов.
deleteAgent(agentId: ID = "" agentIds: [ID!] = null): MutationResult!
agentId: ID
: ID агента, который требуется удалить.
agentIds: [ID!]
: Список ID агентов, которые требуется удалить.
MutationResult!
: Результат мутации - JSON-файл со следующими параметрами:
ok: Boolean!
: Атрибут успешного завершения мутации.
Ошибки входных данных:
- Не передан ID для удаления агента:
{
"message": "One of the parameters agentId or agentIds is required",
"code": "0xe509f74d"
}
Пример запроса:
mutation{
deleteAgent(agentId: "19df2b38-7d23-44a5-85e7-c5a29b304581") {
ok
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"deleteAgent": {
"ok": true
}
}
}
Получить информацию об агенте
Запрос agentInfo
позволяет получить информацию об агенте.
query {
agentInfo {
}
}
Выходные параметры:
- id
- Идентификатор агента
- Тип данных: ID.
- creationDate
- Дата создания агента
- Формат данных: Дата и время в формате ISO.
- lastModified
- Дата последнего изменения агента
- Формат данных: Дата и время в формате ISO.
- token
- Токен агента
- Тип данных: ID.
- camerasIds
- Идентификаторы камер, привязанных к агенту
- Тип данных: ID.
- cameras:
- id
- Идентификатор камеры
- Тип данных: ID.
- creationDate
- Дата создания камеры
- Формат данных: Дата и время в формате ISO.
- lastModified
- Дата последнего изменения камеры
- Формат данных: Дата и время в формате ISO.
- info
- Информация по камере, например, внутренние поля камеры
- Формат данных: JSON.
- id
- title
- Имя агента
- Тип данных: String.
- agentStatus
- Статус агента
- Тип данных: String.
- agentLastActiveTime
- Время последней работы агента
- Формат данных: Дата и время в формате ISO.
- archived
- Агент находится в архиве
- Тип данных: Boolean.
- workspaceId
- Идентификатор воркспейса
- Тип данных: ID.
Пример запроса:
query{
agentInfo {
agentLastActiveTime
agentStatus
archived
camerasIds
creationDate
id
lastModified
title
token
workspaceId
}
}
Пример ответа:
API возвращает следующий результат:
{
"data": {
"agentInfo": {
"agentLastActiveTime": null,
"agentStatus": "inactive",
"archived": false,
"camerasIds": [],
"creationDate": "2023-06-02T06:33:56.386734+00:00",
"id": "1609037c-d353-4933-a75d-ddb2a6081fca",
"lastModified": "2023-06-02T06:47:15.931345+00:00",
"title": "Agent2",
"token": "1609037c-d353-4933-a75d-ddb2a6081fca",
"workspaceId": "3f04af73-7f13-49e3-88e2-50c865c97ddf"
}
}
}