Перейти к содержанию

rhr.php

Модуль управления заявками на удаленные работы (Remote Hands Requests): создание, фильтрация, обновление статусов и коммуникация по заявкам.

Методы API

Метод Действие Описание
add создание заявки Создает новую заявку на удаленную работу (RHR) с указанием типа и оборудования.
chat добавление сообщения в чат Добавляет видимое клиенту сообщение в историю заявки.
discard отмена заявки Рекурсивно меняет статус заявки на отмененную или закрытую.
list получение списка заявок Возвращает список доступных задач RHR с фильтрацией по локации, статусу и дате.

rhr/add

Создает новую заявку на удаленную работу (RHR) с указанием типа и оборудования.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: add
token string Токен авторизации
params[type] string Тип заявки (KVM, UNBLOCK, SERVICE)
params[eq_id] int ID оборудования, для которого создается заявка
params[request_origin] string Источник запроса (CLIENT или INTERNAL). Для клиентов игнорируется и принудительно ставится CLIENT.
params[order_data] object Данные заказа в формате JSON строки

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

curl -s "https://invapi.hostkey.ru/rhr.php" -X POST \
--data "action=add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[type]=KVM" \
--data "params[eq_id]=67890" \
--data "params[request_origin]=CLIENT" \
--data "params[order_data]={\"key\":\"value\"}"
Пример успешного ответа
{
"result": "OK",
"module": "rhr",
"action": "add",
"requests": [
{
"id": 12345,
"eq_id": 67890,
"type": "KVM",
"status": "PENDING",
"request_origin": "CLIENT",
"priority": "NORMAL",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"eq_location": "AMS",
"eq_name": "server-01",
"request": "Перезагрузить сервер",
"assignee": null,
"ticket": null
}
]
}
Примеры ошибок
{
"code": 400,
"message": "Please provide equipment ID, request type and origin to create a request"
}

rhr/chat

Добавляет видимое клиенту сообщение в историю заявки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: chat
token string Токен авторизации
id int ID заявки
message string Текст сообщения

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

curl -s "https://invapi.hostkey.ru/rhr.php" -X POST \
--data "action=chat" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "message=Сервер перезагружен, спасибо"
Пример успешного ответа
{
"result": "OK",
"module": "rhr",
"action": "chat",
"history": [
{
"id": 98765,
"component_id": 12345,
"type": "CLIENT",
"message": "Сервер перезагружен, спасибо",
"created_at": "2024-01-15T11:00:00Z",
"tags": []
}
],
"requests": [
{
"id": 12345,
"eq_id": 67890,
"type": "KVM",
"status": "ACTIVE",
"request_origin": "CLIENT",
"priority": "NORMAL",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z",
"eq_location": "AMS",
"eq_name": "server-01",
"request": "Перезагрузить сервер",
"assignee": "admin",
"ticket": null
}
]
}
Примеры ошибок
{
"code": 400,
"message": "Invalid history message"
}

rhr/discard

Рекурсивно меняет статус заявки на отмененную или закрытую.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: discard
token string Токен авторизации
id int ID заявки
params[response] string Комментарий к отмене

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

curl -s "https://invapi.hostkey.ru/rhr.php" -X POST \
--data "action=discard" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "params[response]=Заявка отменена"
Пример успешного ответа
{
"result": "OK",
"module": "rhr",
"action": "discard",
"history": [
{
"id": 98766,
"component_id": 12345,
"type": "CLIENT",
"message": "Заявка отменена пользователем",
"created_at": "2024-01-15T12:00:00Z",
"tags": []
}
],
"requests": [
{
"id": 12345,
"eq_id": 67890,
"type": "KVM",
"status": "CANCELED",
"request_origin": "CLIENT",
"priority": "NORMAL",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T12:00:00Z",
"eq_location": "AMS",
"eq_name": "server-01",
"request": "Перезагрузить сервер",
"assignee": "admin",
"ticket": null
}
]
}
Примеры ошибок
{
"code": 500,
"message": "Wrong final status detected"
}

rhr/list

Возвращает список доступных задач RHR с фильтрацией по локации, статусу и дате.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list
token string Токен авторизации
params[location] string Фильтр по локации (например, AMS, NY)
params[status] array<string> Фильтр по статусам (PENDING, ACTIVE, SOLVED и т.д.)
params[date_from] string Начальная дата фильтрации (YYYY-MM-DD)
params[date_to] string Конечная дата фильтрации (YYYY-MM-DD)
params[date] array<string> Массив дат для фильтрации
params[deleted] boolean Показывать ли удаленные заявки
params[eq_id] array<int> Фильтр по ID оборудования
params[type] string Фильтр по типу заявки (KVM, SERVICE и т.д.)
params[request_origin] string Фильтр по источнику заявки (CLIENT, INTERNAL)
params[request_owner] string Фильтр по владельцу заявки (email)
params[id] array<int> Фильтр по ID заявок

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

curl -s "https://invapi.hostkey.ru/rhr.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN" \
--data "params[location]=AMS" \
--data "params[status][]=PENDING" \
--data "params[status][]=ACTIVE" \
--data "params[date_from]=2024-01-01" \
--data "params[date_to]=2024-01-31" \
--data "params[eq_id][]=67890" \
--data "params[eq_id][]=67891"
Пример успешного ответа
{
"result": "OK",
"module": "rhr",
"action": "list",
"history": [],
"requests": [
{
"id": 12345,
"eq_id": 67890,
"type": "KVM",
"status": "PENDING",
"request_origin": "CLIENT",
"priority": "NORMAL",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"eq_location": "AMS",
"eq_name": "server-01",
"request": "Перезагрузить сервер",
"assignee": null,
"ticket": null,
"date_created": "2024-01-15T10:30:00Z",
"date_assigned": null,
"date_started": null,
"date_resolved": null,
"date_closed": null,
"date_failed": null,
"resolved_by": null
}
]
}
Примеры ошибок
{
"code": 403,
"message": "Authorization required"
}

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×