все способы связи
и решения проблем
Многоканальный телефон: (495) 989-1540, бесплатно по россии: 8-800-555-1540
 
Начало О проекте Цены Регистрация
поиск  
  На главную

API для работы с хостингом        beta

APIAPI для работы с хостингом позволяет автоматизировать управление ресурсами и анализ данных.

Примеры использования API хостинга:

  • Отслеживание состояния аккаунта и своевременный анализ уведомлений
  • Автоматическое создание, удаление, конфигурирование ресурсов
  • Доступ к данным внутреннего мониторинга 1Gb.ru, анализ качества работы VDS
  • Автоматизация типовых реакций на проблемы ресурсов и хостинга

Доступ к API хостинга активен в любом оплаченном тарифном плане. Для тестовых или бесплатных аккаунтов API не работает.

Принципы работы и примеры

Доступ происходит по протоколу HTTPS по базовому адресу https://www.1gb.ru/api/. Параметры большинства запросов можно передавать с помощью GET или POST параметров. Ответ содержит объект или массив объектов по стандарту JSON.

Перед началом работы с API требуется получить token для дальнейшей авторизации. Это делается следующим образом (приведены примеры использования GET параметров):

  • https://www.1gb.ru/api/auth/start?login=[логин_кабинета] - возвращает в ответ string, содержащий соль
  • https://www.1gb.ru/api/auth/login?login=[логин_кабинета]&salt=[соль]&response=[md5(пароль+соль+символ-перевода-строки)] - возвращает в ответ string, содержащий token;
    псевдокод для вычисления response на PHP: md5($password.$salt."\n")

Последний запрос возвращает string, в нем token, его нужно запомнить и использовать для последующей авторизации. Token утрачивает силу при смене главного пароля аккаунта, существует также возможность деактивировать отдельные token-ы со страницы кабинета "смена главного пароля аккаунта".

Примеры дальнейших запросов:

  • https://www.1gb.ru/api/billing/info?_token_=[запомненный token] - получение общих данных аккаунта

Ответы API с HTTP кодом 200 обозначают успешное исполнение операции. В ответном JSON может содержаться два разных типа:

  • [ "string" ]: либо просто "OK", либо "[число]" (необходимо привести к int), если возвращается ID созданного объекта
  • [ { ... } , { ... } ] (массив объектов): если запрос возвращает список из 0 или более структур (хеш "поле":"значение").
Другие коды (больше 200) обозначают ошибку, при этом тело ответа содержит string с объяснением, пример: "ERROR: vds.missing".

Команды API и общие соглашения

Большинство команд API, таких как /list, возвращают внутренние структуры из базы данных хостинга, которые содержат сотни полей. Документировать их трудоемко, поэтому рекомендуем просто смотреть на вывод соответствующих команд и анализировать структуры данных по очевидным названиям полей.

В том случае, если трактовка полей вызывает затруднения, пишите на support@1gb.ru, поможем разобраться.

В настоящее время идет процесс наполнения/создания полной документации к API на основе http://swagger.io/, где будет систематизирована вся доступная информация.

Общедоступные на данный момент команды

https://www.1gb.ru/api + адрес из списка ниже. Обязательный параметр каждой команды - _token_. Остальные параметры приведены после команды. В квадратных скобках - не обязательные. В круглых - примеры или умолчания.


/auth/start
	login

/auth/login
	login
	salt
	response

/c2dmkey/set
	_key_
	Internal usage, do not call.

/gcmkey/set
	_key_
	Internal usage, do not call.

/iospushkey/set
	_key_
	Internal usage, do not call.

/billing/info

/billing/limits

/billing/balance

/billing/balance.lic

/billing/debt

/updates/list
	_key_ - first ID or 0 to show all

/updates/last

/vds/list
	[_key_] - /vds/list|id

/vds/ip/list
	[_key_] - /vds/list|id

/vds/templates-list

/vds/create
	[type] (vds.dynamic) vz1|vz2|vz3|vz4|vz5|vds.dynamic
	[cr_hvmem] (2048)
	[cr_hvdsk] (30)
	[cr_hvcpu] (2)
	[template] (win2012R2x64)
	[force_memo]
	[hv_1gb_panel_version]
	[panel_install] - 1|0
	[cr_ssd1] - 1|0
	[cr_hv_all_system] - 1|0
	
/vds/update
	_key_ - /vds/list|id
	[cr_hvmem] (2048)
	[cr_hvdsk] (30)
	[cr_hvcpu] (2)	
	
/vds/ip/add
	_key_ - /vds/list|id
	
/vds/ip/delete
	_key_ - /vds/list|id
	del_ip
	
/vds/reboot
	_key_ - /vds/list|id
	
/vds/delete
	_key_ - /vds/list|id
	[force_critical] - 1|0
	
/vds/online
	_key_ - /vds/list|id
	online - 1|0

/email/list

/email/alias/list

/email/add
	add_email

/email/delete
	_key_ - email address (string)

/email/alias/delete
	_key_ - email address (string)

/website/add
	name - website name (temp subdomain), keep simple, unique and short
	srv_type -
		99901	Best for PHP
		99902	Best for ASP, ASP.NET
		99903	Best for Static Content
		8	.NET 2 - 3.5
		99904	.NET 4+
		1	Legacy ASP + .NET 2 - 3.5
		4	mod_php 5.2
		9	mod_php 5.3
		10	mod_php 5.4
		11	mod_php 5.5
		12	mod_php 5.6
		13	mod_php 7
		5	PHP - FastCGI
		6	PHP - CGI (not recommended)
		20008	Frankfurt - .NET 2 - 3.5
		29994	Frankfurt - .NET 4+
		2004	Frankfurt - mod_php 5.2
		2009	Frankfurt - mod_php 5.3
		2010	Frankfurt - mod_php 5.4
		2011	Frankfurt - mod_php 5.5
		2005	Frankfurt - PHP - FastCGI
	
/website/list

/website/delete
	_key_ - /website/list|id

/ftp/list
	(not recommented - use /website/ API)

/ftp/delete
	_key_ - /ftp/list|id
	(not recommented - use /website/ API)

/dns/list

/dns/add
	add_dns_zone
	[add_dns_record]
	[iis_site_for_dns] - /website/list|id OR "ip_a.b.c.d" string to bind to VDS
	[bind_only] - 1|0

/dns/bind
	_key_ - /dns/list|id
	[dns_to] - /website/list|id OR "ip_a.b.c.d" string to bind to VDS

/dns/delete
	_key_ - /dns/list|id

/dns/raw/managedmx
	_key_ - /dns/list|id
	upd_managed_mx - 1
	managed_mx - 1|0 - add/keep/update (1) or delete (0) hosting-managed root MX record

/dns/raw
	_key_ - /dns/list|id
	s_del = 1 to delete record
	s_add = 1 to create record
	dns_type = A,MX,CNAME,AAAA,NS,TXT,SRV
	dns_name = record name or @ for root
	dns_value = record content, dnscmd.exe format (A: [ip], CNAME: [name], MX: [priority] [target])

/database/list

/mssql/list

/dns/prolong/list

/chat/key

 

Полезный совет
      

API хостинга функционирует уже много лет для поддержки различных сценариев, таких как массовые услуги для VDS клиентов или работа наших приложений Android / IOS. Теперь мы решили предоставить к этим API публичный доступ.

Текущий функционал API не покрывает 100% возможностей хостинга, но мы готовы быстро расширить его для нужного функционала буквально в считанные дни. Если у вас есть реальная необходимость в автоматизации каких-то конкретных операций, отсутствующих в текущих функциях или пока не опубликованных здесь, смело пишите на support@1gb.ru.

Хотите стать клиентом нашего хостинга? Попробуйте наши услуги и сервис. Тестовый период бесплатен, OK регистрация занимает всего одну минуту. После регистрации можно протестировать любые услуги хостинга.

Будем рады видеть вас нашим клиентом!

 
 

Оглавление технической документации

 

Мы всегда готовы ответить на ваши вопросы!
 

 

 

 
   
 
Наверх     
© 2002-2017 In-Solve
лицензии № 100858, 100731
как получить поддержку