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/domain/getDomainPersons?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 - полное имя домена, для которого необходимо получить информацию;
Пример вызова:


// input_data приведена в не закодированном виде для наглядности
http://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 приведена в не закодированном виде для наглядности
http://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 приведена в не закодированном виде для наглядности
viskov.cp.beget.ru/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 приведена в не закодированном виде для наглядности
viskov.cp.beget.ru/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"
      }
    ]
  }