Агенты
Получить список агентов
Запрос agents позволяет получить список агентов.
agents( filter: JSON = null
ids: [ID] = null
limit: Int = null
offset: Int = null
order: [String] = null
withArchived: WithArchived = null): AgentsCollection!
Входные параметры:
filter: JSON: Вы можете отфильтровать список агентов, указав значения для одного или нескольких параметров:
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"
}
}
}