getList
Описание:
Метод возвращает список доменов на аккаунте пользователя.


Пример вызова:


https://api.beget.com/api/domain/getList?login=userlogin&
passwd=password&output_format=json



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


[
   {
      "id":"132456",                    // идентификатор домена    
  
      "fqdn":"mylogin.bget.ru",         // полное имя домена (кириллические
                                        // домены передаются в кирилице)      

      "date_add":"2011-10-24 15:01:40", // дата и время добавления домена

      "auto_renew":"0",                 // статус опции "автоматическое 
                                        // продление домена"

      "date_register":"2011-10-24",     // дата регистрации домена
                                        // (если на обслуживании в BeGet)

      "date_expire":0,                  // дата окончания срока делегирования 
                                        // (если на обслуживании в BeGet)

      "can_renew":"0",                  // статус возможности продления

      "registrar":null,                 // регистратор доменного имени 
                                        // (если на обслуживании в BeGet)

      "registrar_status":null,          // статус домена у регистратора 
                                        // (если на обслуживании в BeGet). 
                                        // Может быть: delegated, not_active, 
                                        // undelegated

      "register_order_status":null,     // статус заявки на регистрацию домена 
                                        // (если домен был добавлен в рамках 
                                        // заявки на его регистрацию). 
                                        // Может быть: new, registred, delete

      "register_order_comment":null,    // комментарий, к заявке на регистрацию 
                                        // (чаще всего это комментарий 
                                        // о причине аннулирования заявки)

      "renew_order_status":"0",         // статус заявки на продление домена. 
                                        // Может быть: pending, delete, 
                                        // canceled error, success

      "is_under_control":0              // статуc показывает, находится ли 
                                        // домен на обслуживании в BeGet. 
                                        // Определяет возможность выполнения 
                                        // таких действий, как: 
                                        // продление домена,
                                        // заказ доп. услуг у регистратора, 
                                        // смена сереров DNS
   }
]




getZoneList
Описание:
Метод возвращает список зон.


Пример вызова:


https://api.beget.com/api/domain/getZoneList?login=userlogin&
passwd=password&output_format=json



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


{
   "ru":{
      "id":"1",               // идентификатор зоны
      "zone":"ru",            // наименование зоны
      "price":"120",          // стоимость регистрации домена в зоне
      "price_renew":"120",    // стоимость продления домена в зоне
      "price_idn":null,       // стоимость регистрации IDN-домена в зоне
      "price_idn_renew":null, // стоимость продления IDN-домена в зоне
      "is_idn":"0",           // поддерживает ли зона IDN-домены
      "is_national":"1",      // является ли зона национальной
      "min_period":"1",       // минимальный срок регистрации домена (в годах)
      "max_period":"1"        // максимальный срок регистрации домена (в годах)
   },
}




addVirtual
Описание:
Метод добавляет домен.


Дополнительные параметры
hostname - доменное имя, без зоны (например, domain);
zone_id - id зоны, тип int;


Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/addVirtual?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data={"hostname":"domain","zone_id": 1}

// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/addVirtual?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data=%7B%22hostname%22%3A%22domain%22%2C%22zone_id%22%3A+1%7D



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


 12510



Возвращается ID добавленного домена.


delete
Описание:
Метод удаляет домен. Если домен был прилинкован к сайту, то он будет отлинкован от него. Также будут удалены все поддомены этого домена.


Дополнительные параметры
id - id домена;


Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/delete?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data={"id":12510}

// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/delete?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data=%7B%22id%22%3A12510%7D



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


 true



Возвращается признак удачного или нет выполнения.


getSubdomainList
Описание:
Метод возвращает список поддоменов


Пример вызова:


https://api.beget.com/api/domain/getSubdomainList?login=userlogin&
passwd=password&output_format=json



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


[
   {
      "id":"132456",                // id поддомена
      "fqdn":"subodmain.domain.ru", // полное имя поддомена
      "domain_id":"12345"           // id родительского домена
   },
   {
      "id":"123457",
      "fqdn":"user.forum.domain.com",
      "domain_id":"12347"
   }
]




addSubdomainVirtual
Описание:
Метод добавляет заданный поддомен.


Дополнительные параметры
subdomain - имя поддомена;
domain_id - id родительского домена;


Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/addSubdomainVirtual?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data={"subdomain": "subdomain","domain_id": 1000}

// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/addSubdomainVirtual?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data=%7B%22subdomain%22%3A+%22subdomain
%22%2C%22domain_id%22%3A+1000%7D



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


 12345



Возвращается ID добавленного поддомена.


deleteSubdomain
Описание:
Метод удаляет заданный поддомен.


Дополнительные параметры
id - id поддомена.


Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/deleteSubdomain?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data={"id": 1000}

// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/deleteSubdomain?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data=%7B%22id%22%3A+1000%7D



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


 true



Возвращается признак удачного или нет выполнения.


checkDomainToRegister
Описание:
Метод возвращает информацию о возможности регистрации заданного доменного имени.


Дополнительные параметры
hostname - доменное имя, без зоны;
zone_id - id зоны, получить список зон можно с помощью метода getZoneList;
period - период регистрации (в годах), тип int.


Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/checkDomainToRegister?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data={"hostname": "domain", "zone_id": 3, "period":1}

// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/checkDomainToRegister?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data=%7B%22hostname%22%3A+%22domain%22%2C+%22zone_id
%22%3A+3%2C+%22period%22%3A1%7D



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


{
   "may_be_registered":true, // свободен ли домен для регистрации 
                             // (на основании сервиса WHOIS)

   "bonus_domains":0,        // текущее количество бонусных доменов 
                             // на аккаунте в выбранной зоне

   "balance":289.46,         // текущий баланс аккаунта

   "pay_type":null,          // способ оплаты регистрации домена. Может быть:
                             // null - оплатить домен невозможно;
                             // money - оплата будет со счета аккаунта;
                             // bonus_domain - оплата будет за счет бонуса.
                                                   
   "price":350,              // итоговая стоимость регистрации домена 
                             // (с учетом периода)

   "in_system":false         // находится ли уже такой домен 
                             // на обслуживании BeGet
}



Примечание:
Для окончательного решения о возможности регистрации домена необходимо проанализировать три поля: may_be_registered, pay_type и in_system

Их значения должны быть:

may_be_registered - true
pay_type - money или bonus_domain
in_system - false

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


getPhpVersion
Описание:
Метод возвращает информацию о текущей версии php для домена, включен ли php как cgi и доступных для установки версиях php


Дополнительные параметры
full_fqdn - полное имя домена, для которого необходимо получить информацию;
Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/getPhpVersion?login=usrlogin&passwd=usrpasswd&full_fqdn=foobar.com&output_format=json


// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/getPhpVersion?login%3Dusrlogin%26passwd%3Dusrpasswd%26full_fqdn%3Dfoobar.com%26output_format%3Djson



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


"status": "success",
	"answer": {
		"status": "success",
		"result": {
			"full_fqdn": "foobar.com",
			"php_version": "5.6",
			"cgi": "disabled",
			"allowed_versions": [
				"4.4",
				"5.2",
				"5.3",
				"5.4",
				"5.5",
				"5.6"
			]
		}
	}


changePhpVersion
Описание:
Метод возвращает информацию о текущей версии php для домена, включен ли php как cgi и доступных для установки версиях php


Дополнительные параметры
full_fqdn - полное имя домена, для которого необходимо получить информацию;
php_version - версия php в формате указанном в списке доступных версии, полученного командой getPhpVersion;
is_cgi - включить ли php как cgi, по умолчанию нет. Не обязательный параметр. 1 - включить php как cgi, 0 - выключить cgi (включает как apache mod_php);

Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/changePhpVersion?login=usrlogin&passwd=usrpasswd&full_fqdn=foobar.com&php_version=5.6&is_cgi=1&output_format=json


// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/changePhpVersion?login%3Dusrlogin%26passwd%3Dusrpasswd%26full_fqdn%3Dfoobar.com%26php_version%3D5.6%26is_cgi%3D1%26output_format%3Djson



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


// ответ после корректного вызова метода
"status": "success",
	"answer": {
		"status": "success",
		"result": {
			"full_fqdn": "foobar.com",
			"result": "changes will take effect in some time",
			"php_version": "5.6",
			"cgi": "enabled"
		}
	}


// ответ возникающий, если передана не верная версия php
"status": "success",
	"answer": {
		"status": "error",
		"errors": [
			{
				"error_code": "METHOD_FAILED",
				"error_text": "You trying to set php version which is not allowed. Chose one: 4.4; 5.2; 5.3; 5.4; 5.5; 5.6"
			}
		]
	}


// ответ возникающий, если не удалось найти домен, у пользователя
"status": "success",
	"answer": {
		"status": "error",
		"errors": [
			{
				"error_code": "METHOD_FAILED",
				"error_text": "Failed to find domain"
			}
		]
	}


// ответ возникающий, если команда вызвана для домена, который не прилинкован ни к одной директории
"status": "success",
	"answer": {
		"status": "error",
		"errors": [
			{
				"error_code": "METHOD_FAILED",
				"error_text": "Domain must be linked when changing php version"
			}
		]
	}



Примечание:
При установки версии php 4.4 возможна работа только как CGI, передавать is_cgi=0 не имеет смысла



getDirectives
Описание:
Метод возвращает список директив apache модуля mod_php(php_admin_flag, php_admin_value, php_value, php_flag) для домена.


Дополнительные параметры
full_fqdn - полное имя домена, для которого необходимо получить информацию;

Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/getDirectives?login=usrlogin&passwd=usrpassword&full_fqdn=foobar.com




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


// ответ после корректного вызова метода
  "status": "success",
  "answer": {
    "status": "success",
    "result": [
      {
        "name": "php_admin_value",
        "value": "mbstring.func_overload 2"
      },
      {
        "name": "php_admin_value",
        "value": "default_socket_timeout 60"
      },
      {
        "name": "php_admin_value",
        "value": "session.entropy_length 128"
      },
      {
        "name": "php_admin_flag",
        "value": "short_open_tag 1"
      },
      {
        "name": "php_admin_flag",
        "value": "display_errors 1"
      },
      {
        "name": "php_admin_flag",
        "value": "allow_url_include Off"
      },
      {
        "name": "php_admin_flag",
        "value": "allow_url_fopen Off"
      },
      {
        "name": "php_admin_value",
        "value": "mbstring.internal_encoding UTF-8"
      }
    ]
  }


// ответ возникающий, если не удалось найти домен, у пользователя
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Failed to find domain"
      }
    ]
  }


// ответ возникающий, если команда вызвана для домена, который не прилинкован ни к одной директории
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Domain must be linked"
      }
    ]
  }


// ответ возникающий, если команда вызвана для домена, php для которого работает как cgi
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Php for domain: voksiv.ru run as cgi, change it to apache mod_php with api method changePhpVersion"
      }
    ]
  }




addDirectives
Описание:
Добавляет в VirtualHost домена переданные директивы, если они находятся в списке разрешенных (php_admin_flag, php_admin_value, php_value, php_flag).


Дополнительные параметры
full_fqdn - полное имя домена, для которого необходимо получить информацию;
directives_list - список директив котрые необходимо добавить, в формате [{"name":"dirictive name","value":"dirictive value"}];

Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/addDirectives?login=usrlogin&passwd=usrpasw&input_format=json&output_format=json&input_data=
{
  "full_fqdn":"foobar.ru",
  "directives_list":[{"name":"php_admin_value","value":"mbstring.internal_encoding UTF-8"}]
}




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


// ответ после корректного вызова метода
  "status": "success",
  "answer": {
    "status": "success",
    "result": true
  }


// ответ возникающий, если не удалось найти домен, у пользователя
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Failed to find domain"
      }
    ]
  }


// ответ возникающий, если команда вызвана для домена, который не прилинкован ни к одной директории
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Domain must be linked"
      }
    ]
  }


// ответ возникающий, если команда вызвана для домена, php для которого работает как cgi
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Php for domain: voksiv.ru run as cgi, change it to apache mod_php with api method changePhpVersion"
      }
    ]
  }


// ответ возникающий, если directives_list содержит директиву без заданного имени
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "All directives in directive list must contain name."
      }
    ]
  }


// ответ возникающий, если directives_list содержит директиву без заданного значения
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "All directives in directive list must contain value."
      }
    ]
  }


// ответ возникающий, если directives_list содержит директиву с именем директивы, которая не разрешена для редактирования значения
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Only directives php_admin_flag, php_admin_value, php_value, php_flag allowed."
      }
    ]
  }


// ответ возникающий, если directives_list не содержит ни одной директивы
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Directives list must contain at least one directive."
      }
    ]
  }


// ответ возникающий, если VirtualHost не проходит валидацию, после добавления указанных директив
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Syntax error in apache configuration"
      }
    ]
  }




removeDirectives
Описание:
Удаляет из VirtualHost домена переданные директивы, если они находятся в списке разрешенных (php_admin_flag, php_admin_value, php_value, php_flag) для редактирования.


Дополнительные параметры
full_fqdn - полное имя домена, для которого необходимо получить информацию;
directives_list - список директив котрые необходимо удалить, в формате [{"name":"dirictive name","value":"dirictive value"}];

Пример вызова:


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/removeDirectives?login=usrlogin&passwd=usrpasw&input_format=json&output_format=json&input_data=
{
  "full_fqdn":"foobar.ru",
  "directives_list":[{"name":"php_admin_value","value":"mbstring.internal_encoding UTF-8"}]
}




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


// ответ после корректного вызова метода
  "status": "success",
  "answer": {
    "status": "success",
    "result": true
  }


// ответ возникающий, если не удалось найти домен, у пользователя
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Failed to find domain"
      }
    ]
  }


// ответ возникающий, если команда вызвана для домена, который не прилинкован ни к одной директории
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Domain must be linked"
      }
    ]
  }


// ответ возникающий, если команда вызвана для домена, php для которого работает как cgi
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Php for domain: voksiv.ru run as cgi, change it to apache mod_php with api method changePhpVersion"
      }
    ]
  }


// ответ возникающий, если directives_list содержит директиву без заданного имени
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "All directives in directive list must contain name."
      }
    ]
  }


// ответ возникающий, если directives_list содержит директиву без заданного значения
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "All directives in directive list must contain value."
      }
    ]
  }


// ответ возникающий, если directives_list содержит директиву с именем директивы, которая не разрешена для редактирования значения
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Only directives php_admin_flag, php_admin_value, php_value, php_flag allowed."
      }
    ]
  }


// ответ возникающий, если directives_list не содержит ни одной директивы
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Directives list must contain at least one directive."
      }
    ]
  }



// ответ возникающий, если VirtualHost не проходит валидацию, после удаления указанных директив
"status": "success",
  "answer": {
    "status": "error",
    "errors": [
      {
        "error_code": "METHOD_FAILED",
        "error_text": "Syntax error in apache configuration"
      }
    ]
  }