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, который вернул этот метод.


getDomainPersons
Описание:
Метод возвращает список сохраненных персон, доступных для регистрации доменов.


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


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



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


 {
   "physical":[                // тип персоны (физическое лицо)

      {

         "id":"5214",             // уникальный ID персоны

         "name":"Иванов Петр Васильевич", // имя персоны

         "status":"2",            // статус персоны. 
                                  // Последняя использованная персона своего 
                                  // типа имеет статус 2. Остальные персоны 
                                  // имеют статус 1

         "fields":{
            "fio_ru":"Иванов Петр Васильевич", // ФИО персоны

            "fio_en":"Petr V Ivanov",          // ФИО на английском языке
                                               // в международном формате:
                                               // Имя Первая буква Отчества, 
                                               // если есть Фамилия
                                                

            "date_of_birth":"10.09.1980",      // Дата рождения персоны

            "passport_series":"40 04",         // Серия паспорта

            "passport_number":"123456",        // Номер паспорта

            "passport_date":"20.10.2009",      // Дата выдачи паспорта

            "passport_org":"выдан 10 ОМ",      // Организация, выдавшая паспорт

            "inn":"",                          // ИНН персоны
                                               // обязателен для ИП, 
                                               // не обязателен для физ. лиц
           
            "city_en":null,                    // Город на английском

            "state_en":null,                   // Область/край/штат 
                                               // (на английском)

            "postcode":null,                   // Почтовый индекс

            "local_address_en":null,           // Адрес владельца домена: 
                                               // улица, дом, квартира
                                               // (на английском)

            "phone":"+7 123 1234567",          // Контактный телефон

            "email":"webmaster@gmail.com",     // Контактный Email

            "country":"RU",                    // Двухбуквенный ISO-код страны 
                                               // в верхнем регистре

            "address_post_ru":"123456, CПб, ул. Ленина, д.1, кв.1" // Полный 
                                               // почтовый адрес владельца
                                               // домена на русском языке
         }
      }
   ],
   "org":[                    // тип персоны (юридическое лицо)
      {
         "id":"1632",
         "name":"ООО \"Вектор\"",
         "status":"2",
         "fields":{
            "org_name_ru":"ООО \"Вектор\"",    // Название компании 
                                               // на русском языке 
                                               // (минимум 2 слова) 
                      

            "org_name_en":"LTD Vector",       // Название компании 
                                              // на английском языке 
                                              // (минимум 2 слова)
                                              

            "inn":"1234567890",               // ИНН компании

            "kpp":"123456789",                // КПП компании

            "address_post_ru":"123456, СПб, ул. Ленина, д.1, кв.1", // Полный 
                                              // почтовый адрес организации
                                              // на русском языке

            "cont_name_en":"Petr",            // Имя контактного лица
                                              // (на английском)

            "cont_surname_en":"Ivanov",       // Фамилия контактного лица 
                                              // (на английском)

            "postcode":123456,                // Почтовый индекс организации

            "city_en":Moscow,                 // Город на английском

            "state_en":Moscow,                // Область/край/штат
                                              // (на английском)

            "local_address_en":null,          // Адрес: улица, дом, офис 
                                              // (на английском)

            "phone":"+7 123 1234567",         // Контактный телефон

            "country":"RU",                   // Двухбуквенный ISO-код страны 
                                              // в верхнем регистре

            "email":"webmaster@gmail.com",    // Контактный Email

            "address_legal_ru":"123456, СПб, ул. Ленина, д.1, кв.1" // Полный 
                                              // юридический адрес 
                                              // на русском языке
         }
      }
   ]
}



Примечание:
Поля персоны - это те данные, которые будут использованы при регистрации домена. Всегда разумно указывать реальные данные истинного владельца домена.

В ответе метода в некоторых полях может стоять значение null или пустая строка. Такое случается, когда это поле персоны еще не заполнялось (для разных доменных зон набор требуемых полей различается). Поле считается обязательным, если в его описании не указано иное.


registerVirtual
Описание:
Метод добавляет домен и оставляет заявку на его регистрацию.


Дополнительные параметры
hostname - имя домена, без зоны;
zone_id - id зоны. Получить список зон можно методом getZoneList;
period - период регистрации;
pay_type - способ оплаты;
person_type - тип используемой персоны;
person_id - id базовой персоны, тип int;
person_fields - поля персоны, массив;
pp - активировать ли услугу скрытия персональных данных (обязательна в зонах .ru / .su / .рф) (0/1);
enable_auto_renew - включить услугу автоматического продления домена (0/1).


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


// input_data приведена в не закодированном виде для наглядности
https://api.beget.com/api/domain/registerVirtual?login=userlogin&
passwd=password&input_format=json&output_format=json&input_data=
{"hostname":"newname","zone_id":1,"period":1,"pay_type":"money",
"person_type":"physical","person_id":"1553","person_fields":
{"fio_ru":"Иванов Петр Васильевич","fio_en":"Petr V Ivanov",
"date_of_birth":"10.09.1980","passport_series":"40 04",
"passport_number":"123456","passport_date":"20.10.2009",
"passport_org":"выдан 10 ОМ г. Москвы","inn":"","city_en":null,
"state_en":null,
"postcode":null,"local_address_en":null,
"phone":"+7 123 1234567","email":"webmaster@gmail.com",
"country":"RU",
"address_post_ru":"123456, Москва, ул. Ленина, д. 1, кв. 1"},
"pp":1,"enable_auto_renew":1}}

// корректный пример вызова, input_data закодирован с помощью urlencode
https://api.beget.com/api/domain/registerVirtual?login=userlogin&
passwd=password&input_format=json&output_format=json&
input_data=%7B%22hostname%22%3A%22newname%22%2C%22zone_id
%22%3A1%2C%22period%22%3A1%2C%22pay_type%22%3A%22money%22
%2C%22person_type%22%3A%22physical%22%2C%22person_id%22%3
A%221553%22%2C%22person_fields%22%3A%7B%22fio_ru%22%3A%22
%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2+%D0%9F%D0%B5%D1%82%D
1%80+%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D1%8C%D0%B5%D0%B2%D0%
B8%D1%87%22%2C%22fio_en%22%3A%22Petr+V+Ivanov%22%2C%22dat
e_of_birth%22%3A%2210.09.1980%22%2C%22passport_series%22%
3A%2240+04%22%2C%22passport_number%22%3A%22123456%22%2C%2
2passport_date%22%3A%2220.10.2009%22%2C%22passport_org%22
%3A%22%D0%B2%D1%8B%D0%B4%D0%B0%D0%BD+10+%D0%9E%D0%9C+%D0%
B3.+%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D1%8B%22%2C%22inn%22%3
A%22%22%2C%22city_en%22%3Anull%2C%22state_en%22%3Anull%2C
%22postcode%22%3Anull%2C%22local_address_en%22%3Anull%2C%
22phone%22%3A%22%2B7+123+1234567%22%2C%22email%22%3A%22we
bmaster%40gmail.com%22%2C%22country%22%3A%22RU%22%2C%22ad
dress_post_ru%22%3A%22123456%2C+%D0%9C%D0%BE%D1%81%D0%BA%
D0%B2%D0%B0%2C+%D1%83%D0%BB.+%D0%9B%D0%B5%D0%BD%D0%B8%D0%
BD%D0%B0%2C+%D0%B4.+1%2C+%D0%BA%D0%B2.+1%22%7D%2C%22pp%22
%3A1%2C%22enable_auto_renew%22%3A1%7D%7D



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


{
   "person_id":"1234", // id персоны, которая была использована при регистрации;
                       // Этот id будет совпадать с id переданной персоны,
                       // если ее поля не имели изменений. 
                       // Если было изменено ключевое поле персоны, 
                       // то будет возвращен id новой персоны, которая была 
                       // создана на основе базовой персоны. 
                       // Если были изменены любые поля, кроме ключевого поля, 
                       // то будет возвращен новый id этой же персоны. 
                       // В этом случае доступ к персоне будет осуществляться 
                       // только по новому id.

   "domain_id":"123456", // id добавленного домена;

   "pay_type":"money"    // фактический использованный способ оплаты.
}



В случае успешного выполнения метода в системе регистрации доменов BeGet будет создана заявка на регистрацию домена.

Если все данные персоны были заполнены корректно, то она будет обработана в автоматическом режиме в течении 10-15 минут. После обработки домен будет зарегистрирован и на e-mail аккаунта будет оптавлено соответствующее письмо.

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

Примечание:
Крайне рекомендуется перед запросом на регистрацию домена выполнять запрос на получение информации о возможности регистрации домена - метод checkDomainToRegister. Это позволит точно определить возможность регистрации доменного имени, стоимость регистрации и способ оплаты операции.

Параметр pay_type
Этот параметр отвечает за способ оплаты регистрации домена. В нем необходимо передать тот тип оплаты, который был предложен в результате выполнения запроса на получение информации о возможности регистрации домена методом - checkDomainToRegister.

Параметр person_id
В этом параметре необходимо указать идентификатор той персоны, поля которой будут переданы в параметре person_fields. Если необходимо отредактировать персону, то нужно передать её id и новый набор полей для нее в соответствии с описанием ниже. Будет возвращен новый id персоны, а старый id станет недоступным для использования.
Если у пользователя еще не создано ни одной персоны, то в качестве этого параметра нужно передать значение -1. В этом случае будет просто создана новая персона.

Параметр person_fields
В качестве этого параметра необходимо передать ту часть полей персоны, которая требуется для регистрации домена. Набор полей зависит от типа используемой персоны (параметра person_type) а также зоны, в которой будет регистрироваться домен (международная зона / национальная зона). Описание полей смотрите в методе - getDomainPersons.

Национальная зона, физическое лицо
Для этой зоны необходимо передать следующие поля персоны: fio_ru, fio_en, date_of_birth, passport_series, passport_number, passport_date, passport_org, address_post_ru, country, phone, email, country.
Также можно передать поле inn.

Национальная зона, юридическое лицо
Для этой зоны необходимо передать следующие поля персоны: org_name_ru, org_name_en, inn, kpp, address_post_ru, address_legal_ru, phone, email

Международная зона, физическое лицо
Для этой зоны необходимо передать следующие поля персоны: fio_ru, fio_en, passport_series, passport_number, passport_date, passport_org, date_of_birth, postcode, city_en, state_en, local_address_en, phone, email, country

Международная зона, юридическое лицо
Для этой зоны необходимо передать следующие поля персоны: org_name_ru, org_name_en, inn, cont_name_en, cont_surname_en, address_post_ru, postcode, city_en, state_en, local_address_en, phone, email.


getRenewInfo
Описание:
Метод возвращает информацию о возможности и способе продления домена.


Дополнительные параметры
id - id домена;
period - желаемый период продления.


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


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

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



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


{
      "price_renew":1200,  // итоговая стоимость продления 
      "min_period":"1",    // минимальный период продления домена в зоне  
      "max_period":"1",    // максимальный период продления домена в зоне
      "balance":1339.57,   // текущий баланс пользователя
      "tld_id":"393",      // id зоны домена
      "bonus_domains":"5", // кол-во бонусных доменов в этой зоне на аккаунте
      "pay_type":"money"   // способ оплаты регистрации домена
}



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


renew
Описание:
Метод оставляет заявку на продление заданного доменного имени на заданный период.


Дополнительные параметры
id - id домена;
pay_type - способ оплаты;
period - желаемый период продления.


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


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

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



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


 true



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

Примечание:
Перед использованием метода необходимо убедиться, что домен можно продлевать (соответствующий флаг есть в свойствах каждого домена при получении списка доменов методом - getList).
Также перед подачей заявки на продление домена необходимо уточнить способ оплаты и стоимость продления. Это можно сделать с помощью метода - getRenewInfo. В качестве типа оплаты необходимо указывать тот тип оплаты, который содержался в ответе вышеназванного метода.

После успешной подачи заявки на продление домена, она будет обработана автоматически в течении 3-х часов с момента подачи заявки. После успешного продления домена на контактный e-mail аккаунта придет письмо.


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


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


http://api.beget.com/api/domain/getPhpVersion?login=usrlogin&passwd=usrpasswd&full_fqdn=foobar.com&output_format=json


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