API

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

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

Вы можете получить ключ для API по запросу:

https://cp.inferno.name/api_client.php?action=getApiKey&email={EMAIL}&pass={PASSWORD}
  • {EMAIL} – ваш email,
  • {PASSWORD} - ваш пароль для доступа к личному кабинету.

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

Допустимы GET и POST параметры.

api_client.php?action=list

Результат:

  • ostpls - список шаблонов
  • products - список тарифных планов

3. Создание заказа

api_client.php?action=create&cid=777&key=XXXXXXXX&pid=303

Входные параметры (POST или GET):

  • cid - id клиента (например 777)
  • key – API-ключ клиента
  • pid - идентификатор продукта (из предыдущей функции), например 303.

Результат:

{

    "result": "success",

    "orderid": 47000,  // идентификатор заказа, сохраните его.

    "invoiceid": 366000,

    "productids": "49700"

}

4. Получение списка заказов

Возвращает как активные, так и неоплаченные (Pending) заказы.

api_client.php?action=orders&cid=777&key=XXXXXXXXXXXX

Входные параметры (POST или GET):

  • cid - id клиента, например 777
  • key – API-ключ клиента

Результат:

"orders": {

        "47200": {

            "id": "47200",

            "ordernum": "8634530000",

            "amount": "5.00",

            "invoiceid": "366000",

            "status": "Pending"

        },

        // ......

}

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

Вы можете отменить только Pending (неоплаченный) заказ.

api_client.php?action=cancel&cid=777&key=XXXXXXXXX&orderid=46000

Входные параметры:

  • cid - id клиента (например 777)
  • key – API-ключ клиента
  • orderid - идентификатор заказа, который следует отменить

Результат:

{

    "result": "success"

}

Или:

{

    "result": "fail",

    "message": "Order ID not found or Status not Pending"

}

6. Запуск установки  VPS

В качестве входного параметра необходим оплаченный заказ.

api_client.php?action=install&cid=777&key=XXXXXXX&orderid=47000&ostpl=centos7-64-default&sshkey_ids=NNN&run=1

Входные параметры:

  • cid - id клиента (например 777)
  • key – API-ключ клиента
  • orderid - идентификатор заказа, для которого следует запустить установку
  • ostpl - имя шаблона для установки, например centos7-64-default (см. первую функцию)
  • sshkey_ids - список идентификаторов SSH-ключей через запятую (например 1,2,3)
  • run - 0 (только проверка входящих параметров) или 1 (запуск установки)

Пример правильного ответа: 

[method] => createVPS

    [result] => success

    [msg] => ok

    [retx] => Array

        (

            [result] => success

            [msg] => VSCD: VPS added to queue

            [error_code] => 0

        )

Если VPS уже создается:

Array

(

    [method] => createVPS

    [result] => fail

    [msg] => Vps exists with current main_id (21968) , W:47012

    [error_code] => 904

)

7. Получение информации о VPS

Получение информации о указанном заказе

api_client.php?action=getinfo&cid=777&key=XXXXXXXXX&orderid=47012

Входные параметры:

  • cid - id клиента (например 777)
  • key – API-ключ клиента
  • orderid - идентификатор заказа, для которого надо получить информацию.

Пример ответа:

{

    "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"

    }

}

8. Перезагрузка VPS

api_client.php?action=reboot&cid=777&key=XXXXXXXXX&orderid=47012

Входные параметры:

  • cid - id клиента ( например 777)
  • key – API-ключ клиента
  • orderid - идентификатор заказа

9. Остановка VPS

api_client.php?action=stop&cid=777&key=XXXXXXXXX&orderid=47012

Входные параметры:

  • cid - id клиента (например 777)
  • key – API-ключ клиента
  • orderid - идентификатор заказа

10. Запуск VPS

api_client.php?action=boot&cid=777&key=XXXXXXXXX&orderid=47012

Входные параметры:

  • cid - id клиента (например 777)
  • key – API-ключ клиента
  • orderid - идентификатор заказа

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

Добавить SSH ключ:

action=sshkey.add

sshkey=ssh-rsa AAAAB.. label

После создания пары ключей, содержимое файла публичного ключа необходимо закодировать в кодировке URLENCODE.

Пример:

api_client.php?action=sshkey.add&cid=777&key=XXXXXXXXX (sshkey передавать POST запросом)

Пример для CURL:

curl -d "action=sshkey.add&cid=XXXXXX&key=ZZZZZZZZZZZZZZZZZZ&sshkey=ssh-rsa%20AAAA_body_of_public_ssh_key_should_be_here_EvCSSnOQ%3D%3D%20example%40email.here" -X POST -H "Content-Type: application/x-www-form-urlencoded" https://cp.inferno.name/api_client.php

Просмотреть список ключей:

api_client.php?action=sshkey.list&cid=777&key=XXXXXXXXX

Удалить ключ:

api_client.php?action=sshkey.remove&cid=777&key=XXXXXXXXX&id=7

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