Портал > База знаний > API > API документация


API документация




API документация (VPS)

0. Получение API ключа

Получить ключ для API вы можете по запросу:
curl https://cp.inferno.name/api_client.php?action=getApiKey \ -H "Content-Type: application/json" \ -d '{"email":"your_email","pass":"your_password","generate":0}'
подставив вместо {EMAIL} и {PASSWORD} ваши email и пароль для доступа к личному кабинету. Если в параметре "generate" передать 1, то будет создан новый ключ (прежний перестанет работать).
Полученные значения cid и key необходимо использовать в последующих API запросах. ВАЖНО: Перед получением ключа, пожалуйста, создайте тикет в службу поддержки и укажите, с каких IP адресов вы будете обращаться к API, мы
добавим эти адреса в Whitelist.

1. Список тарифов и шаблонов

curl https://cp.inferno.name/api_client.php?action=list -H "Content-Type: application/json"
Результат:
1) ostpls - список шаблонов
2) products - список тарифных планов

2. Получить доступный баланс

curl https://cp.inferno.name/api_client.php?action=balance \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"cid":YOUR_CLIENT_ID}'

3. Создать заказ

Входные параметры (POST,GET,JSON):
cid - ид клиента, например 777
key - апи ключ клиента
pid - идентификатор продукта (из предыдущей функции), например 303 -
api_client.php?action=create&cid=777&key=XXXXXXXX&pid=303
Результат:
{
    "result": "success",
    "orderid": 47000,  // идентификатор заказа, его следует сохранить
    "invoiceid": 366000,
    "productids": "49700"
}

4. Получить список заказов

Возвращает как активные, так и неоплаченные (Pending) заказы.
Входные параметры (POST или GET):
cid - ид клиента, например 777
key - апи ключ клиента
api_client.php?action=orders&cid=777&key=XXXXXXXXXXXX
Результат:
"orders": {
        "47200": {
            "id": "47200",
            "ordernum": "8634530000",
            "amount": "5.00",
            "invoiceid": "366000",
            "status": "Pending"
        },
        // ......
}

5. Отменить заказ

Отменить можно только Pending (неоплаченный) заказ
Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
orderid - идентификатор заказа, который следует отменить
api_client.php?action=cancel&cid=777&key=XXXXXXXXX&orderid=46000
Результат:
{
    "result": "success"
}
Или:
{
    "result": "fail",
    "message": "Order ID not found or Status not Pending"
}

6. Запустить установку/переустановку впс

В качестве входного параметра потребуется оплаченный заказ
Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
orderid - идентификатор заказа, для которого следует запустить инсталл
ostpl - имя шаблона для инсталла, например centos7-64-default (см. первую функцию)
sshkey_ids - список идентификаторов ssh ключей через запятую (например 1,2,3)
run - 0 (только проверка входящих параметров) или 1 (запуск установки) api_client.php?action=install&cid=777&key=XXXXXXX&orderid=47000&ostpl=centos7-64-default&sshkey_ids=NNN&run=1 - установка нового VPS
api_client.php?action=reinstall&cid=777&key=XXXXXXX&orderid=47000&ostpl=centos7-64-default&sshkey_ids=NNN&run=1 - переустановка ранее созданного VPS
 Пример правильного ответа: [method] => createVPS [result] => success [msg] => ok [retx] => Array ( [result] => success [msg] => VSCD: VPS added to queue [error_code] => 0 ) Если впс уже создается: Array ( [method] => createVPS [result] => fail [msg] => Vps exists with current main_id (21968) , W:47012 [error_code] => 904 ) 

7. Получить информацию о впс

Получить информацию о указанном заказе
Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
orderid - идентификатор заказа, для которого надо получить информацию.
api_client.php?action=getinfo&cid=777&key=XXXXXXXXX&orderid=47012
Пример ответа:
{
    "result": "success",
    "orderid": 47012,
    "orderStatus": "Active",
    "productStatus": "Active",
    "dedicatedip": "",
    "vps_info": {
        "result": "success",
        "message": "",
        "main_id": "21968",
        "vps_name": "37-1-0-111",
        "ip": "37.1.0.111",
        "real_state": "Включен",
        "vps_password": "XXXXXXXXXXX"
    }
}

Также вы можете передать orderid=0 и добавить параметр ip=xx.xx.xx.xx, где
xx.xx.xx.xx - IP адрес вашего VPS
 

8. Перезагрузить впс

Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
orderid - идентификатор заказа
api_client.php?action=reboot&cid=777&key=XXXXXXXXX&orderid=47012

9. Остановить впс

Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
orderid - идентификатор заказа
api_client.php?action=stop&cid=777&key=XXXXXXXXX&orderid=47012

10. Запустить впс

Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
orderid - идентификатор заказа
api_client.php?action=boot&cid=777&key=XXXXXXXXX&orderid=47012

11. SSH ключи авторизации

Добавить SSH ключ:
action=sshkey.add
sshkey=ssh-rsa AAAAB.. label 

Пример: curl https://cp.inferno.name/api_client.php?action=sshkey.add \ -H "Content-Type: application/json" \ -H "X-Key: YOUR_APIKEY" \ -d '{"cid":YOUR_CID, "sshkey":"ssh-ed25519 AAAAC3XXXXXXXXXXXXXXXX email@mail.com"}'
Просмотреть список ключей: api_client.php?action=sshkey.list&cid=777&key=XXXXXXXXX 
Удалить ключ: api_client.php?action=sshkey.remove&cid=777&key=XXXXXXXXX&id=7


12. Получить список услуг

Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
api_client.php?action=services&cid=777&key=XXXXXXXXX

13. Получить более подробную информацию об услуге (getService)

Входные параметры:
cid - ид клиента, например 777
key - апи ключ клиента
serviceid - идентификатор сервиса (полученный функцией services)
api_client.php?action=getService&cid=777&key=XXXXXXXXX&serviceid=YYY




Если у вас есть пожелания или предложения по улучшению API и добавлению новых функций, сообщите нам об этом




Этот ответ был полезен?

Добавить в избранное Добавить в избранное    Распечатать статью Распечатать статью