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

eq_callback.php

Модуль обработки асинхронных ответов от worker-ов для управления оборудованием (EQ) и виртуальными машинами. Обрабатывает статусы задач (deploy, reinstall, backup, network), обновляет биллинг и отправляет уведомления клиентам.

Методы API

Метод Действие Описание
check проверка статуса задачи Проверяет статус выполнения асинхронной задачи (job) по ключу. Возвращает текущее состояние, контекст и отладочную информацию.
reinstall переустановка сервера Запускает процесс переустановки операционной системы на сервере. Если в запросе указан параметр deploy_options=reinstall, выполняется полная очистка тегов и конфигурации после завершения.

eq_callback/check

Проверяет статус выполнения асинхронной задачи (job) по ключу. Возвращает текущее состояние, контекст и отладочную информацию.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
key string 32-символьный буквенно-цифровой ключ задачи (async key)
action string Действие для обработки колбэка
status string Текущий статус выполнения
stage string Этап выполнения задачи (по умолчанию: done)
id integer ID связанной сущности

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

curl -s "https://invapi.hostkey.ru/eq_callback" -X POST \
--data "key=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
Пример успешного ответа
{
"result": "OK",
"action": "check",
"scope": {
"id": 12345,
"location": "NL"
},
"context": {
"action": "deploy",
"id": 12345,
"ip": "1.2.3.4"
},
"debug": "some debug info",
"key": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
Примеры ошибок

``` { "code": -1, "message": "AsyncKey a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 not found" }

```

eq_callback/reinstall

Запускает процесс переустановки операционной системы на сервере. Если в запросе указан параметр deploy_options=reinstall, выполняется полная очистка тегов и конфигурации после завершения.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: reinstall
key string 32-символьный асинхронный ключ задачи
status string Статус выполнения (например, deploy_done)
params[id] integer ID сервера
params[location] string Локация выполнения
params[ticket] string ID тикета в Kayako
params[os_name] string Название установленной ОС
params[soft_name] string Название установленного ПО
params[ip] string IP адрес сервера
params[root_pass] string Пароль root
params[deploy_options] string Опции деплоя (например, reinstall)

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

curl -s "https://invapi.hostkey.ru/eq_callback" -X POST \
--data "action=reinstall" \
--data "key=7bc29eb23fb1b879b21fce509597f07c" \
--data "status=deploy_done" \
--data "params[id]=12345" \
--data "params[deploy_options]=reinstall"
Пример успешного ответа
{
"result": "OK",
"action": "reinstall",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка выполнения переустановки или неверный статус" }

```

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