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 и добавлению новых функций, сообщите нам об этом.