Для повышения удобства технического взаимодействия клиентов и партнёров компании «Регистратор доменных имён REG.RU» с распределённой системой регистрации (далее RegRuSRS) был реализован простой и доступный программный интерфейс — REG.API, работающий поверх протокола HTTP. Мы думаем, что использование REG.API делает наше техническое взаимодействие с клиентами и партнёрами более эффективным.
Данное руководство описывает интерфейс доступа к REG.API второй версии, являющейся развитием API предыдущих версий, и предназначено для программистов, автоматизирующих взаимодействие с RegRuSRS.
Предполагается, что читатель знаком с основами HTTP и имеет навыки программирования.
Презентация по преимуществам API 2.0.
Транспортным протоколом для вызова функций REG.API является HTTP (HTTPS). В REG.API поддерживаются как GET, так и POST запросы. Однако рекомендуемым является метод POST, т.к. он не имеет ограничений на длину запроса.
Каждый вызов является атомарным и синхронным, то есть все запросы независимы друг от друга. Также все операции являются синхронными: результат операции возвращается сразу же, нет промежуточных состояний при выполнении операции. Выбор в пользу такого способа взаимодействия был сделан для удобства подключения к REG.API со стороны клиентов.
URL для вызова функций выглядит следующим образом:
Таким образом, для каждой функции имеем собственный URL для её вызова (в API 1.0 URL для всех функций был одинаковым, а вызываемая функция идентифицировалась с помощью параметра action).
Практически все функции требуют дополнительных параметров для своего вызова.
Передаваемые параметры можно разделить на несколько категорий:
Из перечисленных четырех видов входных параметров обязательными практически для всех функций являются параметры аутентификации. Конкретный набор необходимых параметров варьируется от функции к функции и документирован в описании конкретных функций.
Все дополнительные параметры, если они есть, можно передавать в виде стандартных HTTP-параметров GET или POST, где передаваемые данные кодируются как x-www-form-urlencoded.
Пример передачи параметров через GET запрос:
Параметры функции также можно передавать в форматах JSON или XML В этом случае все параметры, сериализованные в строку, передаются как один HTTP-параметр через поле input_data.
Пример передачи сериализованных параметров через запрос GET:
Пример вызова со сложной структурой можно посмотреть, например, в описании функции set_rereg_bids.
При необходимости передачи сложных структур данных использование JSON и XML — единственный способ их передать.
Передача данных возможна в нескольких форматах: как простые параметры HTTP-запроса (GET/POST), который далее условно будет называться «PLAIN», так и JSON и XML. Для наглядности их лучше рассмотреть на примерах передачи данных с ответом в JSON и выводом всех полученных данных, дополнительно указав для этого входной параметр show_input_params=1. Чтобы показать возможность передачи списка данных, в запрос добавлен список leftdata, не несущий никакой функциональности.
{
"input_params" : {
"show_input_params" : "1",
"output_content_type" : "plain",
"domain_name" : "qqq.ru",
"password" : "test",
"leftdata" : [
"1",
"2",
"3"
],
"username" : "test"
},
"answer" : {
"service_id" : "123456"
},
"result" : "success"
}
{
"input_params" : {
"domain_name" : "qqq.ru",
"show_input_params" : "1",
"output_content_type" : "plain",
"password" : "test",
"input_format" : "json",
"leftdata" : [
"1",
"2",
"3"
],
"username" : "test",
},
"answer" : {
"service_id" : "123456"
},
"result" : "success"
}
{
"input_params" : {
"domain_name" : "qqq.ru",
"show_input_params" : "1",
"output_content_type" : "plain",
"password" : "test",
"input_format" : "xml",
"leftdata" : [
"1",
"2",
"3"
],
"username" : "test",
},
"answer" : {
"service_id" : "123456"
},
"result" : "success"
}
Конкретный набор необходимых параметеров варьируется от функции к функции, однако часть параметров применима ко всем или к большинству функций. Эти параметры описаны в данном разделе.
Эти параметры являются необходимыми для функций, требующих аутентификации. Это поля username + password либо username + signature (выбор варианта зависит от используемого способа авторизации).
| Параметр | Описание |
|---|---|
| Аутентификация по паролю | |
| username | Имя пользователя (login) в системе RegRuSRS. |
| password | Основной пароль пользователя в системе регистрации REG.RU, либо альтернативный пароль для API, который задаётся на странице «Настройки Партнёра». |
| Аутентификация по сигнатуре | |
| username | Имя пользователя (login) в системе RegRuSRS. |
| signature |
Строка, вычисляемая на основе пароля и передаваемых данных.
Используется для того, чтобы не передавать пароль в явном виде при работе через API.
См. Способ формирования подписи. |
К дополнительным параметрам можно отнести общие параметры управления работой API и параметры идентификации услуги.
К общим параметрам управления работой API относятся функции управления форматом входных и выходных параметров функции, выбора рабочей кодировки и языка.
Параметры идентификации услуги требуются при выполнении операций над конкретной ранее заказанной услугой, когда её надо сначала идентифицировать.
Возможны следующие варианты идентификации:
Наиболее точной и быстрой является идентификация по числовому идентификатору услуги, поэтому мы рекомендуем хранить на своей стороне и использовать ID домена/услуги и при вызовах передавать идентификатор услуги.
| Параметр | Описание |
|---|---|
| Идентификация по ID-услуги (рекомендуется) | |
| service_id | Числовой идентификатор услуги. |
| Идентификация по ID-услуги, задаваемому пользователем | |
| user_servid | Число-буквенный идентификатор услуги, для его использования надо сам идентификатор задать при создании услуги/домена. Получить ранее заданный идентификатор можно используя функцию service/get_info. |
| Идентификация доменов по имени | |
| domain_name | Имя домена. Русские имена доменов передаются в кодировке punycode либо в национальной кодировке. |
| Идентификация услуг по имени домена и типу услуги (кроме VPS) | |
| domain_name | Имя домена, к которому привязана услуга. Русские имена доменов передаются в кодировке punycode либо в национальной кодировке. |
| servtype | Тип услуги. Например «srv_hosting_ispmgr» для хостинга или «srv_webfwd» для услуги web-forwarding. |
| Идентификация услуг по ID родительской услуги, типу услуги и подтипу услуги | |
| uplink_service_id | ID родительской услуги, с которой связана искомая услуга. |
| servtype | Тип услуги. Например «srv_hosting_ispmgr» для хостинга или «srv_webfwd» для услуги web-forwarding. |
| subtype | Подтип услуги. Например «pro» для лицензии ISP Manger Pro. |
| Параметр | Описание |
|---|---|
| domains | список, каждый элемент которого содержит имя домена или его servive_id в соответствии со стандартными параметрами идентификации услуги. |
| services | список, каждый элемент которого содержит имя домена + тип сервиса или его servive_id в соответствии со стандартными параметрами идентификации услуги. |
В общем виде input_data в формате JSON для такого запроса выглядит так:
Ответ при запросе со списком услуг будет так же содержать список и для каждой услуги будет указан результат в поле result. В случае успеха это будет success, в случае ошибки -- текст самой ошибки, а так же поле error_code со стандартным кодом ошибки, совпадающим с кодом при запросе 1 домена.
Пример: получение service_id услуг используя service/nop с ошибками в двух последних значениях
{
"answer" : {
"services" : [
{
"dname" : "test.ru",
"service_id" : "12345",
"servtype" : "domain",
"result" : "success"
},
{
"dname" : "test.su",
"service_id" : "12346",
"servtype" : "srv_hosting_ispmgr",
"result" : "success"
},
{
"dname" : "test12347.ru",
"service_id" : "111111",
"servtype" : "domain",
"result" : "success"
},
{
"service_id" : "22bug22",
"result" : "service_id is invalid",
"error_code" : "INVALID_SERVICE_ID"
},
{
"surprise" : "surprise.ru",
"result" : "domain_name not given or empty",
"error_code" : "NO_DOMAIN"
}
]
},
"result" : "success"
}
Ниже, при детальном описании каждой функции, будет указана поддержка обработки списка услуг
В данном разделе описаны способы идентификации папок.
Наиболее точной и быстрой идентификацией папок является идентификация по числовому идентификатору папки folder_id, поэтому мы рекомендуем хранить на своей стороне и использовать ID папки и при вызовах передавать числовой идентификатор папки.
| Параметр | Описание |
|---|---|
| folder_id | Числовой идентификатор папки (рекомендуется). |
| folder_name | Имя папки. |
В данном разделе описаны общие параметры для функций, связанных заказом или продлением услуг, т. е. функций, которые задействуют оплату.
| Параметр | Описание |
|---|---|
| point_of_sale | Любая строка, идентифицирующая систему / интернет-сайт, через который покупателем сделан заказ на данный домен. Необязательное поле. Пример: "regpanel.ru". |
| pay_type |
Payment option. Currently available payment options:
(WM, bank, pbank, prepay, yamoney, rapida,
moneymail, robox, assist, paymer, cash, chronopay)
Значение по умолчанию: prepay. Заметьте, что автоматически счёт может быть оплачен только при выборе способа оплаты prepay и наличии достаточного количества средств на лицевом счёте. В противном случае заявка будет помечена как неоплаченная и Вам нужно убдет вручную оплачивать её из «Личного кабинета». |
| ok_if_no_money | Enable to create bill when not enough funds to complete the operation. In this case requested operation is stored in the system, however it will be processed after submitting "change payment method" request via web interface. Return error if this flag not set and not enough funds to complete the operation. |
Все функции могут возвращать ответы в форматах JSON, YAML, XML и plain text. По умолчанию используется JSON. Выходной формат передачи данных переключается с помощью опции output_format.
Некоторые функции имеют дополнительные форматы вывода, помимо перечисленных. Например, функция get_rereg_data может отдавать данные в CSV формате.
{
"error_text" : "No username given",
"result" : "error",
"error_code" : "NO_USERNAME"
}
--- error_code: NO_USERNAME error_text: No username given result: error
<opt error_code="NO_USERNAME" error_text="No username given" result="error" />
В данном формате ответ возвращается в упрощённом виде: не возвращаются сложные / вложенные структуры данных. В связи с данным ограничением не рекомендуется использовать этот формат.
error; NO_USERNAME; No username given
Все ответы API функций (как ошибки, так и успешные ответы) стандартизованы.
Обязательным полем для любого ответа является result. Оно может иметь значения "error" или "success".
Поля, присутствующие в положительном ответе:
| Поле | Описание |
|---|---|
| result | Имеет значение success. |
| answer | Хеш, содержащий результат работы функции. |
| input_params | Хеш с параметрами, переданными при вызове функции. Присутствует, если вызов был с show_input_params=1. |
Пример положительного ответа:
{
'answer' => {
'user_id' => '0',
'login' => 'test'
},
'result' => 'success'
}
Поля, возвращаемые в случае ошибки:
| Поле | Описание |
|---|---|
| result | Имеет значение error. |
| error_code | Код ошибки, который представляет себой предложение в верхнем регистре с использованием "_" в качестве разделителей и является уникальным внутри системы. Предназначен для анализа ошибок на уровне программ. Для пользователей создано поле error_text. |
| error_text | Подробное описание ошибки на английском или русском, в зависимости от входного параметра lang. |
| error_params | Параметры, подставляемые в стандартный текст ошибки, могут быть полезны при автоматическом разборе ошибок. |
| input_params | Хеш с параметрами, переданными при вызове функцию. Присутствует, если вызов был с show_input_params=1. |
Пример ответа, возвращающего ошибку:
{
'error_text' => 'Username/password Incorrect',
'error_code' => 'PASSWORD_AUTH_FAILED',
'result' => 'error'
}
| Error_code | Error_text | Описание |
|---|---|---|
| Ошибки авторизации | ||
| NO_USERNAME | No username given. | Не указано имя пользователя. |
| NO_AUTH | No authorization mechanism selected. | Не определён способ авторизации (возможно, не найдены поля password или signature). |
| PASSWORD_AUTH_FAILED | Username/password Incorrect. | Ошибка аутентификации по паролю. |
| SIGNATURE_AUTH_FAILED | Signature authentication failed. | Ошибка аутентификации по сигнатуре. |
| RESELLER_AUTH_FAILED | Only resellers can access to this function. | Только партнёры имеют доступ к этой функции. |
| ACCESS_DENIED | Your access to API denied. Please, contact us. | Ваш доступ к API заблокирован, обратитесь, пожалуйста, в техподдержку. |
| PURCHASES_DISABLED | Purchases disabled for this account. | Покупки/заказы для этого аккаунта запрещены. |
| Ошибки идентификации доменов, сервисов, папок | ||
| DOMAIN_NOT_FOUND | Domain $domain_name not found or not owned by you. | Домен <имя_домена> не найден, или Вы не являетесь его владельцем. |
| SERVICE_NOT_FOUND | Service $servtype for ext domain $domain_name not found. | Услуга <тип_услуги> для домена <имя_домена> не найдена. |
| SERVICE_NOT_SPECIFIED | Service identification failed. | Ошибка идентификации сервиса. |
| SERVICE_ID_NOT_FOUND | Service $service_id not found or not owned by You. | Услуга <код_услуги> не найдена, или Вы не являетесь её владельцем. |
| NO_DOMAIN | domain_name not given or empty. | domain_name не указано или пустое. |
| INVALID_DOMAIN_NAME_FORMAT | Domain_name is invalid or domain from unsupported zone. | Формат domain_name неверен или домен из необслуживаемой зоны. |
| INVALID_SERVICE_ID | Service_id is invalid. | Формат service_id неверен. |
| INVALID_DOMAIN_NAME_PUNYCODE | Invalid punycode value for domain_name. | Значение punycode для domain_name неверно. |
| BAD_USER_SERVID | Invalid value for user_servid. | Недопустимое значение для user_servid. |
| USER_SERVID_IS_NOT_UNIQUE | Not Unique value in user_servid. | Неуникальное значение поля user_servid при заказе сервиса/домена. |
| Ошибки доступности | ||
| DOMAIN_BAD_NAME | Invalid domain name: $domain_name | Недопустимое имя: <имя домена> |
| DOMAIN_BAD_NAME_ONLYDIGITS | Domain names that contains only digits can not be registered in this zone | Регистрация доменов, имя которых состоит только из цифр, в данной зоне не допускается |
| HAVE_MIXED_CODETABLES | You can't mix latin and cyrillic letters in domain names | Недопустимо смешивать кириллические и латинские буквы в имени домена |
| DOMAIN_BAD_TLD | Registration in $tld TLD is not available | Регистрация доменов в зоне <tld> не доступна |
| TLD_DISABLED | Registration in $tld TLD is not available | Регистрация доменов в зоне <tld> не доступна |
| DOMAIN_NAME_MUSTBEENG | Russian letters are not allowed in chosen TLD ( $tld ) | Русские буквы недопустимы в названии домена для выбранной зоны (<tld>) |
| DOMAIN_NAME_MUSTBERUS | Latin letters are not allowed in chosen TLD ( $tld ) | Латинские буквы недопустимы в названии домена для выбранной зоны (<tld>) |
| DOMAIN_ALREADY_EXISTS | Domain already exists, use whois service | Домен уже существует, проверьте через whois |
| DOMAIN_INVALID_LENGTH | Invalid domain name length, You have entered too short or too long name | Недопустимая длина имени домена, Вы ввели либо слишком короткое, либо слишком длинное имя |
| DOMAIN_STOP_LIST | Domain is unavailable, this domain name is either reserved or this is premium-domain with special price | Недоступное имя, Этот домен является зарезервированным, либо premium-доменом, предлагаемым по специальной цене |
| DOMAIN_STOP_PATTERN | Unfortunately domain name ($domain_name) can't be registered | К сожалению, имя (<domain_name>) невозможно зарегистрировать |
| FREE_DATE_IN_FUTURE | Domain freeing date is in the long time future | Дата освобождения домена <domain_name> наступает в будущем, ПОСЛЕ следующей даты массового освобождения доменов |
| NO_DOMAINS_CHECKED | You have chosen no domains for registration | Вы не выбрали ни одного домена для регистрации |
| NO_CONTRACT | Filing preschedule for the domain registration after freeing is impossible before You signing up the contract on the domain registration | Подача ДОСРОЧНОЙ заявки на регистрацию домена после освобождения невозможна до заключения Вами договора о регистрации доменов |
| INVALID_PUNYCODE_INPUT | Invalud Punycode name (error while converting from punycode) | Неверно заданное имя в punycode (ошибка при попытке перекодировки из Punycode) |
| CONNECTION_FAILED | Domain check failed: can't connect to server. Please, try again later | Не удалось проверить состояние домена: невозможно установить соединение. Попробуйте повторить попытку позднее |
| DOMAIN_ALREADY_ORDERED | The domain name $domain_name was order by you, You can pay for the registration and domain will be registered | Доменное имя <domain_name> уже заказано Вами ранее к регистрации, Вы можете оплатить его и заявка на регистрацию будет исполнена |
| DOMAIN_EXPIRED | Domain $domain_name is either expired or will expire in near future | К сожалению, срок делегирования домена <domain_name> либо уже истёк, либо истекает в ближайшее время |
| DOMAIN_TOO_YOUNG | From registration date of domain $domain_name passed less than 60 days. Please, try to transfer domain later | К сожалению, с момента регистрации домена <domain_name> прошло менее 60-ти дней, попробуйте перенести домен позже |
| CANT_OBTAIN_EXPDATE | Can't determine expiration date of domain $domain_name | Невозможно определить дату окончания делегирования домена <domain_name> |
| DOMAIN_CLIENT_TRANSFER_PROHIBITED | Domain $domain_name prohibited for transfer, contact previous registrar to unlock domain transfer | Домен <domain_name> запрещён к переносу, cвяжитесь с предыдущим регистратором для разблокирования домена |
| DOMAIN_TRANSFER_PROHIBITED_UNKNOWN | Domain $domain_name transfer prohibited, contact our technical support staff for details | Домен <domain_name> запрещён к переносу вышестоящим регистратором, cвяжитесь со службой технической поддержки для выяснения подробностей |
| DOMAIN_REGISTERED_VIA_DIRECTI | Automatical internal transfers are unavailable in present time | Автоматический перенос доменного имени <domain_name> внутри DirectI запрещён |
| NOT_FOUND_UNIQUE_REQUIRED_DATA | Not found all data for check unique: dname, servtype or user_id | Не найдены данные для проверки уникальности: dname, servtype или user_id |
| ORDER_ALREADY_PAYED | Order on $dname $servtype is already payed | Заказ на <dname> <servtype> уже оплачен ранее |
| DOUBLE_ORDER | You already have not payed order on $dname $servtype | У Вас уже есть неоплаченный заказ на <dname> <servtype> |
| Ошибки при работе с DNS-зонами | ||
| DOMAIN_IS_NOT_USE_REGRU_NSS | This domain not use REG.RU name services | Этот домен не использует DNS-сервера REG.RU |
| REVERSE_ZONE_API_NOT_SUPPORTED | Reverse zone not supported now | Настройка реверсных зон на данный момент не поддерживается |
| ZONES_VARY | Domains in list have vary zones | Домены в списке имеют различные настройки зон |
| IP_INVALID | Invalid IP address | Ошибка в IP адресе |
| SUBD_INVALID | Invalid subdomain | Неверный поддомен |
| CONFLICT_CNAME | Can not set CNAME record together with other record for one subdomain | Для одного поддомена нельзя указывать записи CNAME совместно с другими записями |
| Другие ошибки | ||
| NO_SUCH_COMMAND | Command $command_name not found. | Команда <название_команды> не найдена. |
| HTTPS_ONLY | Access to api over non secure interface (http) prohibited! Please use https only. | Доступ к API по небезопасному интерфейсу (http) запрещён! Используйте, пожалуйста, https. |
| PARAMETER_MISSING | $param required. | <параметр(ы)> не найден(ы). |
| PARAMETER_INCORRECT | $param has incorrect format or data. | <параметр> имеет неверный формат или данные. |
| NOT_ENOUGH_MONEY | Not enough money at account for this operation. | Недостаточно денег для этой операции. |
| INTERNAL_ERROR | Internal error: $error_detail. | Неизвестная ошибка: <подробности_ошибки>, сообщите разработчикам. |
| SERVICE_OPERATIONS_DISABLED | Operations on this service disabled | Операции с услугой запрещены |
| UNSUPPORTED_CURRENCY | Unsupported currency | Валюта не поддерживается в системе |
Вследствие того что в этом способе аутентификации логин и пароль передаются в явном виде, лучше избегать им пользоваться, особенно при использовании HTTP-протокола, т.к. в этом случае пароль легко может быть перехвачен.
Список полей с описанием, используемых для аутентификации, перечислен в разделе «Параметры для аутентификации».
Список полей с описанием, используемых для аутентификации, перечислен в разделе «Параметры для аутентификации».
При аутентификации по сигнатуре в явном виде передается только username, а signature вычисляется для каждого уникального вызова (при этом поле password не используется!).
Значение поля signature формируется следующим образом:secretkey_hash = SHA1_HEX( secretkey ) message_digest = "action_name:value1:value2:value2:value3:secretkey_hash" signature = SHA1_HEX( message_digest )Функции и значения переменных, участвующих в формуле:
my %query_fields = (
action => 'nop',
domain_name => 'testdom.ru',
timestamp => 12345,
username => 'test',
signature => Digest::SHA1::sha1_hex(
'nop:testdom.ru:12345:test:'.Digest::SHA1::sha1_hex('test')
),
);
Пример кода для генерации подписи для любого запроса (на языке Perl):
my @fields_to_sign =
map { $query_fields{$_} }
grep { $_ ne 'signature' && $_ !~ /^_/ }
sort keys %query_fields;
push @fields_to_sign, $secretkey_hash;
my $string_to_sign = join ':', @fields_to_sign;
my $signature = Digest::SHA1::sha1_hex( $string_to_sign );
Специально для отладки аутентификации по подписи введён тестовый параметр _return_string_to_sign.
Пример вызовы функции nop с параметрами _return_string_to_sign и show_input_params:
Возможные ошибки аутентификации см. в стандартных кодах ошибок
Для отладки работы с API предусмотрен тестовый доступ; для этого имя пользователя и пароль должны иметь значение "test".
При таком режиме работы осуществляются все проверки входных параметров, выдаётся ответ,
но никаких действий не производится, и деньги за операции не снимаются.
При вызове функций в тестовом режиме никаких реальных данных о доменах не возвращается.
Также для отладочных целей есть несколько специализированных функций, которые предназначены для вызовов под реальными идентификационными данными. Это nop, reseller_nop, user/nop, domain/nop, service/nop. Они не выполняют никаких действий, но позволяют проверить доступность системы без её дополнительной нагрузки и, соответственно, с минимальным временем отклика. Ниже каждая из этих функций описана подробнее.
| Функция | Краткое описание | Доступность |
|---|---|---|
| Функции общего назначения (функции вне категории) | ||
| nop | возвращает login и пароль | клиенты |
| reseller_nop | возвращает login и пароль | партнёры |
| get_service_id | возвращает service_id домена или услуги | клиенты |
| Работа с учётной записью (категория user) | ||
| user/nop | тестовая функция | все |
| user/get_statistics | получение статистики по пользователю | клиенты |
| Работа с доменами (категория domain) | ||
| domain/nop | тестовая функция | все |
| domain/get_prices | получение цен на регистрацию/продление доменов во всех доступных зонах | все |
| domain/get_suggest | подбор имени домена | партнёры |
| domain/check | проверка доступности регистрации домена | партнёры |
| domain/create | подать заявку на регистрацию домена | клиенты |
| domain/get_rereg_data | получить список освобождающихся доменов с характеристиками | клиенты |
| domain/set_rereg_bids | сделать ставки на освобождающиеся домены | клиенты |
| domain/get_docs_upload_uri | получение ссылки на закачивание документов из интернета для .RU/.SU/.РФ доменов | клиенты |
| domain/update_contacts | обновление контактных данных доменов | клиенты |
| domain/update_private_person_flag | изменение флага Private Person скрытия/отображения части контактных данных в whois | клиенты |
| domain/register_ns | внести nameserver в NSI-registry | клиенты |
| domain/delete_ns | удалить nameserver из NSI-registry | клиенты |
| domain/get_nss | Получение DNS серверов доменов | клиенты |
| domain/update_nss | Изменение списка DNS серверов | клиенты |
| domain/delegate | Установка флага делегирования домена | партнёры |
| domain/undelegate | Снятие флага делегирования домена | партнёры |
| Управление DNS-зоной (категория zone) | ||
| zone/nop | тестовая функция | клиенты |
| zone/get_resource_records | получение ресурсных записей зоны для каждого домена | клиенты |
| zone/add_alias | cвязать поддомен с IP-адресом | клиенты |
| zone/add_aaaa | cвязать поддомен с IPv6-адресом | клиенты |
| zone/add_cname | cвязать поддомен с адресом другого домена | клиенты |
| zone/add_mx | указать почтовый сервер в виде доменного имени или IP-адреса, который будет принимать почту для вашего домена | клиенты |
| zone/add_ns | передать управление поддоменами на другие DNS-сервера | клиенты |
| zone/add_txt | добавить произвольную текстовую запись (TXT) для поддомена | клиенты |
| zone/add_srv | добавить сервисную запись | клиенты |
| zone/remove_record | удалить ресурсную запись | клиенты |
| zone/update_records | добавить/удалить несколько ресурсных записей одним запросом | партнёры |
| zone/update_soa | изменить время жизни кеша для зоны | клиенты |
| zone/tune_forwarding | настройка зоны для web-форвардинга | клиенты |
| zone/clear_forwarding | уладить записи настройки зоны для web-форвардинга | клиенты |
| zone/tune_parking | настройка зоны для парковки | клиенты |
| zone/clear_parking | удалить записи настройки зоны для парковки | клиенты |
| zone/clear | удалить все ресурсные записи зоны | клиенты |
| Работа с услугами (категория service) | ||
| service/nop | тестовая функция | клиенты |
| service/get_servtype_details | получение цен для услуги | клиенты |
| service/create | заказ услуги | клиенты |
| service/get_info | Получить информацию о услугах | клиенты |
| service/get_list | Получить список активных услуг | клиенты |
| service/get_folders | Получить список папок в которые входит сервис | клиенты |
| service/get_details | получение параметров услуги | клиенты |
| service/service_get_details | получение параметров услуги | клиенты |
| service/update | настройка услуги | клиенты |
| service/renew | продление услуги | клиенты |
| service/set_autorenew_flag | установить/снять флаг автопродления | клиенты |
| service/suspend | Приостановить услугу (для домена - снятие делегирования) | клиенты |
| service/resume | Возобновить услугу (для домена - установить делегирование) | клиенты |
| service/get_depreciated_period | Расчитать дробное число периодов до истечения срока действия услуги | клиенты |
| service/upgrade | Произвести повышение подтипа (тарифа) услуги | клиенты |
| Работа с папками (категория folder) | ||
| folder/nop | тестовая функция | все |
| folder/create | создание папки | клиенты |
| folder/remove | удаление папки | клиенты |
| folder/rename | переименование папки | клиенты |
| folder/get_services | выдать список услуг в папке | клиенты |
| folder/add_services | добавление услуг в папку | клиенты |
| folder/remove_services | удаление услуг из папки | клиенты |
| folder/replace_services | перезаписывание услуг в папке | клиенты |
| folder/move_services | перенос услуг из одной папки в другую | клиенты |
| Поле | Описание |
|---|---|
| login | Имя пользователя, переданное в запросе как username. |
| user_id | Идентификатор пользователя в системе. |
{
answer => {
user_id => '0',
login => 'test'
},
result => 'success'
}
{
error_text => 'Username/password Incorrect',
error_code => 'PASSWORD_AUTH_FAILED',
result => 'error'
}
Также см. другие cтандартные коды ошибок
| Поле | Описание |
|---|---|
| login | Имя пользователя, переданное в запросе как username. |
| user_id | Идентификатор пользователя в системе. |
{
error_text => 'Only resellers can access to this function',
error_code => 'RESELLER_AUTH_FAILED',
result => 'error'
}
Такая ошибка будет в случае попытки доступа не по HTTPS соединению:
{
error_text => 'Access to api over non secure interface (http) prohibited!',
error_code => 'HTTPS_ONLY',
result => 'error'
}
| Поле | Описание |
|---|---|
| service_id | идентификатор домена или услуги |
{
answer => {
service_id => '123456',
},
result => 'success'
}
{
result => 'success'
}
| Поле | Описание |
|---|---|
| date_from | задать начальную дату для параметров, необязательный параметр |
| date_till | задать конечную дату для параметров, необязательный параметр |
| Поле | Описание |
|---|---|
| balance_total | текущий баланс |
| costs_for_period | потрачено средств за указанный период |
| active_domains_cnt | кол-во активных доменов, в т.ч. полученных в частичное управление |
| active_domains_get_ctrl_cnt | кол-во доменов, полученных в частичное управление |
| renew_domains_cnt | кол-во доменов, требующих продления |
| renew_domains_get_ctrl_cnt | кол-во доменов, требующих продления из полученных в частичное управление |
| trans_in_domains_cnt | кол-во доменов, ожидающих переноса в REG.RU, если такие есть |
| undelegated_domains_cnt | кол-во неделегированных доменов |
| reg_domains_cnt | кол-во зарегистрированных доменов за период |
| domain_folders_cnt | кол-во доменных папок |
{
answer => {
renew_domains_get_ctrl_cnt => 1,
domain_folders_cnt => 2,
active_domains_get_ctrl_cnt => 3,
renew_domains_cnt => 4,
active_domains_cnt => 5,
undelegated_domains_cnt => 6,
balance_total => 100.00
},
result => 'success'
}
| Поле | Описание |
|---|---|
| service_id | идентификатор домена, присутствует только при передаче имени домена в поле domain_name/dname |
{
result => 'success'
}
| Поле | Описание |
|---|---|
| Параметры для аутентификации | используйте аутентификацию для получения партнерских цен. |
| show_renew_data | флаг возврата цен для продления регистрации (1/0). Необязательное поле. |
| currency | Идентификатор валюты, в которой будут возвращаться цены (RUR, UAH, USD, EUR). Необязательное поле, по умолчанию цены указываются в рублях. |
| Поле | Описание |
|---|---|
| currency | валюта, в которой возвращены цены |
| price_group | тарифный план |
| prices | цены по зонам Цены указаны за год. Для некоторых зон минимальный срок регистрации больше года. Если для зоны разрешена регистрация русских имен доменов, и она отличается от цены для регистрации доменов с использованием только латинских букв, то для этой зоны возвращается дополнительная запись с префиксом '__idn.'. |
{
'answer' => {
currency => 'RUR',
price_group => 'Retail',
prices => {
'ru' => {
'reg_max_period' => 1,
'reg_min_period' => 1,
'reg_price' => '590',
},
'__idn.com' => {
'reg_max_period' => 10,
'reg_min_period' => 1,
'reg_price' => '960',
},
'com' => {
'reg_max_period' => 10,
'reg_min_period' => 1,
'reg_price' => '450',
},
'рф' => {
'reg_max_period' => 1,
'reg_min_period' => 1,
'reg_price' => '1200',
},
},
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | массив со списком вариантов имён доменов |
{
answer => {
domains => [
'test1.ru',
'test2.ru',
'test3.ru',
'test4.ru',
'test5.ru'
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domain_name | Имя домена, поле не совместимо со спиcком domains. |
| domains | Массив со списком вариантов имён доменов, каждый элемент массива является хешем с ключём dname или domain_name. Используется только в случае запроса в форматах JSON, XML. |
| is_transfer | При значении 1 делается проверка на возможность переноса домена в REG.RU, при нулевом значении — обычная проверка на возможность регистрации, по умолчанию — 0 |
| subtype | Тип регистрации. Опциональное поле. Возможное значение (кроме пустого значения по умолчанию): «preorder» — предзаказ доменов .РФ. |
| Поле | Описание |
|---|---|
| domains | Массив со списком хешей, содержащий имена доменов dname и их доступность. При положильном ответе поле result будет иметь значение Available. |
{
answer => {
domains => [
{
dname => 'ya.ru',
result => 'Domain already exists, use whois service',
error_code => 'DOMAIN_ALREADY_EXISTS'
},
{
dname => 'yayayayayaya.ru',
result => 'Available'
},
{
dname => 'xn--000.com',
result => 'Invalid punycode value for domain_name',
error_code => 'INVALID_DOMAIN_NAME_PUNYCODE'
},
{
dname => 'china.cn',
result => 'Registration in .cn TLD is not available',
error_code => 'TLD_DISABLED'
},
{
dname => 'ййй.me',
result => 'Invalid domain name: ййй.me',
error_code => 'DOMAIN_BAD_NAME'
},
{
dname => 'wwww.ww',
result => 'domain_name is invalid or unsupported zone',
error_code => 'INVALID_DOMAIN_NAME_FORMAT'
},
{
dname => 'a.ru',
result => 'Invalid domain name length, You have entered too short or too long name',
error_code => 'DOMAIN_INVALID_LENGTH'
},
{
dname => 'qqйй.com',
result => 'You can not mix latin and cyrillic letters in domain names',
error_code => 'HAVE_MIXED_CODETABLES'
}
]
},
result => 'success'
}
| Field Name | Min Length | Max Length | Field Description |
|---|---|---|---|
| domain_name | зависят от зоны |
Имя регистрируемого домена. Допустимые символы (есть или нет IDN) и длинна поля зависят от доменной зоны.
Обязательное поле. P.S. Возможность оптовой регистрации (большое количество доменов одной зоны) одним запросом для VIP-клиентов. |
|
| period | 1 | 2 | Период, на который производится регистрация домена, допустимые значения зависят от доменной зоны, например, для .ru и .su только 1. Обязательное поле. |
| enduser_ip | 11 | 15 | IP-address of enduser (user that made an order). It is mandatory field. |
| contacts | — | Группирующий хеш полей контактных данных. Список полей зависит от регистрируемой зоны и/или является ли будущий владелец домена физ. или юридическим лицом. Применим только при передаче данных в JSON или XML форматах. | |
| profile_type | — | Тип профиля контактных данных пользователя. Параметр не совместим с явным указанием контактных данных (имеет больший приоритет — перезаписывает их) и требует указания имени профиля profile_name. На данный момент допустимы такие варианты: GTLD, EU, RU.PP, RU.ORG. В дальнейшем их количество будет увеличено. | |
| profile_name | — | Имя профиля контактных данных пользователя. Параметр не совместим с явным указанием контактных данных (имеет больший приоритет — перезаписывает их) и требует указания имени профиля profile_type. Для разных типов профилей имена могут повторяться. На данные момент создаются профили только через web-интерфейс. | |
| nss | — | Группирующий хеш полей имён и IP-адресов NS-серверов. Применим только при передаче данных в JSON или XML форматах. | |
| not_delegated | 1 | При выставлении этого флага для .ru, .su и .рф доменов игнорируются значения полей NS-серверов, хеша NSS и домен регистрируется неделегированным. Для остальных зон не применим. Допустимые значения 0 и 1. | |
| user_servid | 32 | 32 | ID домена, задаваемый пользователем. Допустимые символы: цифры 0..9 и латинские буквы a..f. Автоматически идентификатор не создаётся, т.е. если он не был задан при создании услуги, то поле остаётся пустым. Необязательное поле. |
| comment | 0 | 255 | Comment. Not required field. |
|
point_of_sale pay_type ok_if_no_money |
— | См. Общие параметры оплаты. | |
| subtype | 0 | 15 | Тип регистрации. Опциональное поле. Возможное значение (кроме пустого значения по умолчанию): «preorder» — предзаказ доменов .РФ. |
Описание полей для работы с папками
Поля этой категории являются необязательными.| Field Name | Field Description |
|---|---|
| folder_name | Folder name, in which domain will be added. If folder not exist and no_new_folder is not set then new folder will be created. |
| folder_id | Numeric folder identifier, in which domain will be added. |
| no_new_folder | Do not create folder if not exist. |
Описание полей контактных данных
Контактные данные для .ru/.su доменов.| Field Name | Min Length | Max Length | Field Description |
|---|---|---|---|
| descr | 5 | 255 | Domain description in English. Optional. |
| Organization contacts (only for organizations, do not use for private persons) | |||
| org | 6 | 255 multi- line |
Organization name in latin letters - domain administrator. Will be used as WHOIS data of domain. Could be multiline. Example: Karla-Marla Uryupinsk State University Example2: "ROGA I KOPYTA", LTD. |
| org_r | 10 | 255 multi- line |
Full organization name in russian language - domain administrator, according to ????.
For non-residents filled in native or english language.Could be multiline.
Example: Общество с ограниченной ответственностью "Рога и Копыта" Example2: Общество с ограниченной ответственностью "Рога и Копыта" |
| code | 10 | 10 | Organization INN code (for Russian organizations) - domain administrator. Could be empty, if domain administrator is non-resident of Russia and have no INN code. Example: 7701107259 |
| kpp | 9 | 9 | Organization KPP code (for Russian organizations). Optional field. Example: 632946014 |
| country | 2 | 2 | 2-letter ISO-code of country where company is registered. Example: RU |
| address_r | 15 | 255 multi- line |
The legal address of organization in russian language. Could be multiline. Example: 101000, Москва, УЛ.Пупкина, 1, стр. 2 |
| p_addr | 15 | 255 multi- line |
The postal address of domain administrator in russian language.
Could be multiline. Example: 101000, Москва, ул.Пупкина, 1, стр. 2, отдел мебели, офис 433 (для В. Лоханкина) |
| phone | 8 | 255 multi- line |
The phone numbers of domain administrator. Format: international code (including +) and phone number. International code, local code and phone number should be splitted by spaces. No parentheses and dashes allowed. Could be multiline. Example: +7 495 8102233\n+7 3432 811221 |
| fax | 8 | 255 multi- line |
The fax numbers of domain administrator. Format: international code (including +) and phone number. International code, local code and phone number should be splitted by spaces. No parentheses and dashes allowed. Could be multiline. Example: +7 3432 811221 |
| e_mail | 6 | 255 multi- line |
The email addresses of domain administrator according to RFC-822. Could be multiline. Example: ncc@test.ru\ntest@test.ru |
| Private persons contacts (only for private persons, do not use for organizations) | |||
| person | 8 | 64 | First name, first letter of patronymic (without point) and last name
of domain administrator. Will be used as WHOIS data of domain. For non-residents
this field contains name in native language or in english transliteration. Example: Vassily N Pupkin |
| person_r | 9 | 64 | First name, first letter of patronymic (without point) and last name
of domain administrator in russian language, according to passport. For non-residents this field contains name in native language or in english transliteration. Example: Василий Николаевич Пупкин Example2: John Smith |
| private_person_flag | 1 | 1 | Активация услуги Private Person |
| passport | 20 | 255 multi- line |
The serie, number, issuer and issue date of passport. Date format: DD.MM.YYYY For non-residents its possible to use another document, drivers' licence for example. In this case document type should be stated in the first line. Field could be multiline. Example: 32 02 651241 выдан 48 о/м г.Москвы 26.12.1990 Example2: driver's licence\n AA 1234 BB John Smith |
| birth_date | 10 | 10 | The birth date of domain administrator in DD.MM.YYYY format. Example: 07.11.1917 |
| country | 2 | 2 | 2-letter ISO-code of country. Example: RU |
| p_addr | 15 | 255 multi- line |
The postal address of domain administrator in russian language. Field could be multiline. Example: 101000, Москва, ул.Пупкина, 1, стр. 2, отдел мебели, офис 433 |
| phone | 8 | 255 multi- line |
The phone numbers of domain administrator. Format: international code (including +) and phone number. International code, local code and phone number should be splitted by spaces. No parentheses and dashes allowed. Could be multiline. Example: +7 495 8102233\n+7 3432 811221 |
| fax | 8 | 255 multi- line |
The fax numbers of domain administrator. Format: international code (including +) and phone number. International code, local code and phone number should be splitted by spaces. No parentheses and dashes allowed. Could be multiline. Example: +7 3432 811221 |
| e_mail | 6 | 255 multi- line |
The email addresses of domain administrator according to RFC-822. Could be multiline. Example: ncc@test.ru\ntest@test.ru |
| code | 12 | 12 | INN code of domain administrator - private businessmen. Only for private businessmen. Example: 789012345678 |
Контактные данные для доменной зоны .tj
На данный момент все контактные данные должны заполняться латинскими буквами.| Field Name | Min Length | Max Length | Field Description |
|---|---|---|---|
| Domain owner contacts | |||
| o_type | 1 | 1 | Тип контакта. "1" для регистрации домена на физическиое лицо, "2" - для регистрации домена на юридическое лицо. |
| o_whois | 2 | 64 | Описание домена. Отображается в whois-запросе. |
| o_full_name | 2 | 64 | Владелец домена: полное название организации или ФИО владельца. |
| o_email | 6 | 90 | Адрес электронной почты владельца домена в формате RFC-822. |
| o_phone | 10 | 16 |
Телефон владельца домена, указывается в международном формате с пробелами
между кодом страны, кодом города и внутренним номером. (Пример: +7 495 1234567 или +662 22 1234567) |
| o_fax | 10 | 16 |
Факс владельца домена, указывается в международном формате с пробелами
между кодом страны, кодом города и внутренним номером. (Пример: +7 495 1234567 или +662 22 1234567) |
| o_addr | 2 | 128 | Адрес владельца домена: юридический адрес организации в соответствии с учредительными документами или адрес проживания владельца домена. |
| o_city | 2 | 64 | Адрес владельца домена: город. |
| o_country_code | 2 | 2 |
Двухбуквенный ISO-код страны владельца домена. Список кодов всех стран можно найти здесь |
| Domain administrator contacts | |||
| a_full_name | 2 | 64 | ФИО администратора домена. |
| a_nic_name | 2 | 32 | Краткое имя администратора или его nicname, одно слово. |
| a_email | 6 | 90 | Адрес электронной почты администратора домена в формате RFC-822. |
| a_fax | 10 | 16 |
Телефон(!) администратора домена, указывается в международном формате с пробелами
между кодом страны, кодом города и внутренним номером. (Пример: +7 495 1234567 или +662 22 1234567) |
| a_addr | 2 | 128 | Адрес администратора домена. |
| a_city | Адрес администратора домена: город. | ||
| a_postcode | 3 | 10 | Адрес администратора домена: почтовый индекс. |
| a_country_code | 2 | 2 |
Двухбуквенный ISO-код страны администратора домена. Список кодов всех стран можно найти здесь |
| Domain technical administrator contacts | |||
| t_full_name | 2 | 64 | ФИО технического администратора домена. |
| t_nic_name | 2 | 32 | Краткое имя технического администратора или его nicname, одно слово. |
| t_email | 6 | 90 | Адрес электронной почты технического администратора домена в формате RFC-822. |
| t_fax | 10 | 16 |
Телефон(!) технического администратора домена, указывается в международном формате с пробелами
между кодом страны, кодом города и внутренним номером. (Пример: +7 495 1234567 или +662 22 1234567) |
| t_addr | 2 | 128 | Адрес технического администратора домена. |
| t_city | 2 | 64 | Адрес технического администратора домена: город. |
| t_postcode | 3 | 10 | Адрес технического администратора домена: почтовый индекс. |
| t_country_code | 2 | 2 |
Двухбуквенный ISO-код страны технического администратора домена. Список кодов всех стран можно найти здесь |
Регистрация доменов в зонах com.ua, kiev.ua
На данный момент все контактные данные должны заполняться латинскими буквами.| Field Name | Min Length | Max Length | Field Description |
|---|---|---|---|
| Domain administrator contacts | |||
| a_company | 5 | 80 | Domain organisation contacts. Set to "Private person" if domain owner is Private person. |
| a_first_name | 2 | 40 | First name |
| a_last_name | 2 | 40 | Last name |
| a_email | 6 | 80 | The email address of domain contact person. |
| a_phone | 8 | 20 | The phone numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| a_fax | 8 | 20 | The fax numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| a_addr | 8 | 80 | Address of contact person: street, building, apartment (office) |
| a_city | 2 | 80 | Address of contact person: city |
| a_state | 2 | 40 | Address of contact person: region/state |
| a_postcode | 3 | 10 | Postal code of contact person |
| a_country_code | 2 | 2 | 2-letter ISO-code of country. List of coutry ISO code can be found here |
| Domain technical contacts | |||
| t_company | 5 | 80 | Specify the name of the Organization to which the technical contact belongs. |
| t_first_name | 2 | 40 | First name |
| t_last_name | 2 | 40 | Last name |
| t_email | 6 | 80 | The email address of domain contact person. |
| t_phone | 8 | 20 | The phone numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| t_fax | 8 | 20 | The fax numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| t_addr | 8 | 80 | Address of contact person: street, building, apartment (office) |
| t_city | 2 | 80 | Address of contact person: city |
| t_state | 2 | 40 | Address of contact person: region/state |
| t_postcode | 3 | 10 | Postal code of contact person |
| t_country_code | 2 | 2 | 2-letter ISO-code of country. List of coutry ISO code can be found here |
Регистрация доменов в зоне pp.ua
На данный момент все контактные данные должны заполняться латинскими буквами.Регистрация доменов в других зонах
| Field Name | Min Length | Max Length | Field Description |
|---|---|---|---|
| Domain owner contacts | |||
| o_company | 5 | 80 | Domain organisation contacts. Set to "Private person" (without parenthises) if domain owner is Private person. |
| o_first_name | 2 | 40 | First name |
| o_last_name | 2 | 40 | Last name |
| o_email | 6 | 90 | The email address of domain owner. |
| o_phone | 8 | 20 | The phone numbers of domain owner. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| o_fax | 8 | 20 | The phone numbers of domain owner. Format: international code (including +) and phone number. Optional. (Example: +7.4952171179). |
| o_addr | 8 | 80 | Address of domain owner: street, building, apartment (office) |
| o_city | 2 | 80 | Address of domain owner: city |
| o_state | 2 | 40 | Address of domain owner: region/state |
| o_postcode | 3 | 10 | Postal code of domain owner |
| o_country_code | 2 | 2 | 2-letter ISO-code of country. List of coutry ISO code can be found here |
| Domain administrator contacts | |||
| a_company | 5 | 80 | Domain organisation contacts. Set to "Private person" if domain owner is Private person. |
| a_first_name | 2 | 40 | First name |
| a_last_name | 2 | 40 | Last name |
| a_email | 6 | 80 | The email address of domain contact person. |
| a_phone | 8 | 20 | The phone numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| a_fax | 8 | 20 | The fax numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| a_addr | 8 | 80 | Address of contact person: street, building, apartment (office) |
| a_city | 2 | 80 | Address of contact person: city |
| a_state | 2 | 40 | Address of contact person: region/state |
| a_postcode | 3 | 10 | Postal code of contact person |
| a_country_code | 2 | 2 | 2-letter ISO-code of country. List of coutry ISO code can be found here |
| Domain technical contacts | |||
| t_company | 5 | 80 | Specify the name of the Organization to which the technical contact belongs. |
| t_first_name | 2 | 40 | First name |
| t_last_name | 2 | 40 | Last name |
| t_email | 6 | 80 | The email address of domain contact person. |
| t_phone | 8 | 20 | The phone numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| t_fax | 8 | 20 | The fax numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| t_addr | 8 | 80 | Address of contact person: street, building, apartment (office) |
| t_city | 2 | 80 | Address of contact person: city |
| t_state | 2 | 40 | Address of contact person: region/state |
| t_postcode | 3 | 10 | Postal code of contact person |
| t_country_code | 2 | 2 | 2-letter ISO-code of country. List of coutry ISO code can be found here |
| Domain billing contacts | |||
| b_company | 5 | 80 | Specify the name of the Organization to which the billing contact belongs. |
| b_first_name | 2 | 40 | First name |
| b_last_name | 2 | 40 | Last name |
| b_email | 6 | 80 | The email address of domain contact person. |
| b_phone | 8 | 20 | The phone numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| b_fax | 8 | 20 | The fax numbers of contact person. Format: international code (including +) and phone number. (Example: +7.4952171179). |
| b_addr | 8 | 80 | Address of contact person: street, building, apartment (office) |
| b_city | 2 | 80 | Address of contact person: city |
| b_state | 2 | 40 | Address of contact person: region/state |
| b_postcode | 3 | 10 | Postal code of contact person |
| b_country_code | 2 | 2 | 2-letter ISO-code of country. List of coutry ISO code can be found here |
| Дополнительные данные для доменов в зон .COM, .NET, .ORG, .BIZ, .NAME, .INFO, .MOBI, .UK, .CC, .TV, .WS, .BZ, .ME | |||
| private_person_flag | 1 | 1 | Активация услуги Privacy Protection |
| Additional fields for .US zone | |||
| RselnexusAppPurpose | 2 | 2 | Domain usage area
Allowed options: P1 - Commercial purpose P2 - Non commercial purpose P3 - Personal usage P4 - Educational purpose P5 - Government purpose |
| RselnexusCategory | 3 | 3 | Domain owner:
Allowed options: C11 - Private individual, USA citizen C12 - Private individual, resident of USA C21 - A legal person or organization, incorporated in any US state C31 - A legal person or organization, legally operating in US C32 - A legal person or organization who ownes office or other real estate in US |
Domain DNS servers
Required at least 2 DNS servers.| Field Name | Min Length | Max Length | Field Description |
|---|---|---|---|
| ns0 | 6 | 80 | Primary DNS server. |
| ns1 | 6 | 80 | Secondary DNS server. |
| ns2 | 6 | 80 | Third DNS server. |
| ns3 | 6 | 80 | Fourth DNS server. |
| ns0ip | 8 | 15 | Specify the IP-address of Primary name server hostname (only if hostname is based on the domain name). Optional. |
| ns1ip | 8 | 15 | Specify the IP-address of Secondary name server hostname (only if hostname is based on the domain name). Optional. |
| ns2ip | 8 | 15 | Specify the IP-address of Third name server hostname (only if hostname is based on the domain name). Optional. |
| ns3ip | 8 | 15 | Specify the IP-address of Fourth name server hostname (only if hostname is based on the domain name). Optional. |
| Поле | Описание |
|---|---|
| bill_id | Номер счёта, созданного по запросу. |
| payment | Сумма заказа в рублях. |
| pay_type | Способ оплаты. На данный момент возможна только предоплата, prepay. |
| pay_notes | Комментарий, относящийся к используемому способу оплаты. |
| domains |
Список доменов с результатом, содержит поля: dname — имя домена, result — поле результатов, service_id — внутреннний id домена в случае успешного принятия заявки.
Поле result может иметь следующие значения: success — заказ на регистрацию принят, Invalid TLD — ошибка в имени доменной зоны, Registraion in this TLD unavailable — регистрация доменов этой зоны ещё недоступна, Invalid punycode input — ошибка в punycode имени домена, Domain_name is invalid or unsupported zone — ошибка в доменном имени или неподдерживаемая зона, Unavailable domain name — такое доменное имя не доступно для регистрации. |
$jsondata = {
contacts => {
descr => 'Vschizh site',
person => 'Svyatoslav V Ryurik',
person_r => 'Рюрик Святослав Владимирович',
passport => '22 44 668800, выдан по месту правления 01.09.1164',
birth_date => '01.01.1101',
p_addr => '12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому',
phone => '+7 495 1234567',
e_mail => 'test@test.ru',
country => 'RU',
},
nss => {
ns0 => 'ns1.reg.ru',
ns1 => 'ns2.reg.ru',
},
domain_name => 'vschizh.su',
};
$jsondata = JSON::XS->new->utf8->encode( $jsondata );
и сам запрос:
тоже самое, но предполагается что контактные данные храняться в профиле my_like_ru_profile:
$jsondata = {
profile_type => 'RU.PP',
profile_name => 'my_like_ru_profile',
nss => {
ns0 => 'ns1.reg.ru',
ns1 => 'ns2.reg.ru',
},
domain_name => 'vschizh.su',
};
$jsondata = JSON::XS->new->utf8->encode( $jsondata );
и сам запрос:
{
answer => {
domains => [
{
dname => 'vschizh.ru',
result => 'success',
service_id => 12345
}
],
payment => '600',
pay_notes => 'Amount successfully charged',
pay_type => 'prepay',
bill_id => '1234'
},
result => 'success'
}
пример ответа на второй запрос (запрос в JSON формате):
{
answer => {
domains => [
{
dname => 'vschizh.su',
result => 'success',
service_id => 12345
}
],
payment => '600',
pay_notes => 'Amount successfully charged',
pay_type => 'prepay',
bill_id => '1234'
},
result => 'success'
}
| Поле | Описание |
|---|---|
| lot_type | Тип ставки |
| dname | Имя домена |
| lot_date | Дата создания лота |
| ripn_delete_date | Дата удаления из реестра |
| price0 | Минимальная ставка |
| price | Максимальная ставка |
| uni_avg_attendance | Среднее кол-во посетителей за день |
| avg_viewings | Среднее кол-во просмотров за день |
| all_avg_traffic | Средний трафик за день |
| search_query_list | Список поисковых запросов |
| yandex_tic | Яндекс тИЦ |
| google_pr | Google Page Rank |
| is_recommended | Премиум домен |
{
answer => [
{
uni_avg_attendance => 100,
lot_date => '2000-01-01 00:00:00',
price0 => '225.00',
ripn_delete_date => '2010-12-31',
avg_viewings => 2,
all_avg_traffic => 3,
yandex_tic => 1000,
search_query_list => 'слово дело',
dname => 'qqq.ru',
google_pr => 9,
price => '2500.00',
is_recommended => 1,
lot_type => 'rereg'
},
{
uni_avg_attendance => 0,
lot_date => '2000-01-01 00:00:00',
price0 => '400.00',
ripn_delete_date => '2020-12-31',
avg_viewings => 0,
all_avg_traffic => 0,
yandex_tic => 0,
search_query_list => undef,
purchase_date => undef,
dname => 'qqq.su',
google_pr => 0,
price => '600.00',
is_recommended => 0,
lot_type => 'rereg'
},
],
result => 'success'
}
| Поле | Описание |
|---|---|
| contacts | Хеш контактных данных; описание контактных данных, являющихся ключами хеша, см. в функции domain/create. |
| nss | Хеш NS-серверов; описание формата NS-серверов, являющихся ключами хеша, см. в функции domain/create. |
| domains | Массив со списком доменов, каждый элемент массива является хешем с ключами dname — имя домена и price — ценой/ставкой на этот домен. |
| Поле | Описание |
|---|---|
| bill_id | Номер счёта, созданного по запросу. |
| payment | Сумма заказа в рублях. |
| pay_type | Способ оплаты. На данный момент возможна только предоплата, prepay. |
| pay_notes | Комментарий, относящийся к используемому способу оплаты. |
| domains |
Список доменов с результатом по каждому, поле результатов может иметь такие значения: success — ставка сделана, Invalid domain zone — для этой зоны нет возможности заказа освобождающихся доменов, Domain not found — домен не обслуживается REG.RU, Rereg not found — домен не найден в списке доступных освобождающихся доменов (например, он уже имеет предельную ставку), Invalid bid — недопустимая ставка, More bid found — найдена такая же или большая ставка. |
$jsondata = {
contacts => {
descr => 'Vschizh site',
person => 'Svyatoslav V Ryurik',
person_r => 'Рюрик Святослав Владимирович',
passport => '22 44 668800, выдан по месту правления 01.09.1164',
birth_date => '01.01.1101',
p_addr => '12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому',
phone => '+7 495 1234567',
e_mail => 'test@test.ru',
country => 'RU',
},
nss => {
ns0 => 'ns1.reg.ru',
ns1 => 'ns2.reg.ru',
},
domains => [
{ dname => 'vschizh.ru', price => 225 },
{ dname => 'vschizh.su', price => 400 },
],
};
$jsondata = JSON::XS->new->utf8->encode( $jsondata );
Пример запроса с использованием wget для post-запроса (параметр --post-data) и выводом ответа в консоль:
{
"answer" : {
"domains" : [
{
"dname" : "vschizh.ru",
"result" : "success",
"service_id" : 12345
},
{
"dname" : "vschizh.su",
"result" : "success",
"service_id" : 12346
}
],
"bill_id" : "1234",
"pay_type" : "prepay",
"pay_notes" : "Amount successfully charged",
"payment" : "625",
},
"result" : "success"
}
| Error_code | Error_text | Описание |
|---|---|---|
| CONTACTS_NOT_FOUND | Contacts list not found. | Контактная информация не найдена. |
| INVALID_CONTACTS | Contacts user data is invalid: $error_detail. | Ошибка в контактных данных пользователя: <уточнение>. |
| NSS_NOT_FOUND | Name servers list not found. | Список NS-серверов не найден. |
| DOMAINS_NOT_FOUND | Domains list not found. | Список доменов не найден. |
| UNKNOWN_CONTYPE | Can't guess registrant type (person or organization). | Не определён тип контакта (физ.лицо или организация). |
| Поле | Описание |
|---|---|
| docs_upload_sid | идентификатор закачиваемого документа |
| url | ссылка для закачивания документа, включает в себя идентификатор docs_upload_sid |
{
answer => {
url => 'http://www.reg.ru/user/docs/add?userdoc_secretkey=123456',
docs_upload_sid => '123456',
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| CANT_GET_DOCS_UPLOAD_SID | Can't get documents upload sid. | Не удалось получить sid загрузки документов. |
| Поле | Описание |
|---|---|
| contacts | Хеш контактных данных; описание контактных данных, являющихся ключами хеша, см. в функции domain/create. Нужно только в случае запроса в форматах JSON, XML |
| domains |
Массив со списком доменов, каждый элемент массива является хешем с ключём dname, имя домена, или service_id.
Домены в списке должны быть однотипные, т.е. все относится к одной доменной зоне или принадлежать к одной из групп: – .ru, .su и тип контактных данных person; – .ru, .su и тип контактных данных org; – .com.ua, .kiev.ua; – .com, .net, .org, .biz, .info, .name, .mobi. Нужно только в случае запроса в форматах JSON, XML |
| Поле | Описание |
|---|---|
| domains | список доменов с параметрами dname, service_id и/или error_code c кодом ошибки |
{
answer => {
domains => [
{
dname => 'vschizh.ru',
service_id => '12345',
result => 'success'
},
{
dname => 'vschizh.su',
service_id => '12346',
result => 'success'
}
],
}
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| INCOMPATIBLE_CONTYPES | Incompatible .ru/.su/.рф domain contypes | Несовместимые типы контактов для .ru/.su/.рф доменов |
| INCOMPATIBLE_ZONES | Incompatible domain zones | Несовместимые доменные зоны |
| PP_UPDATE_FAIL | Part success: update contacts is OK, update Private Person is fail | Частичное выполнение: контатные данные обновлены успешно, изменение Private Person завершилось с ошибкой |
| Поле | Допустимые значения |
Описание |
|---|---|---|
| private_person_flag | 0 и 1 | Требуемое значения для установки/снятия флага, значение по умолчанию 0 |
| Поле | Описание |
|---|---|
| domains | список доменов с параметрами dname, service_id и/или error_code c кодом ошибки |
| pp_flag |
соответствует переданному значению входного параметра private_person_flag, возможные ответы: 'is set' и 'is cleared' |
{
answer => {
domains => [
{
dname => 'vschizh.ru',
service_id => '12345',
result => 'success'
},
{
dname => 'vschizh.su',
service_id => '12346',
result => 'success'
}
],
pp_flag => 'is set'
}
result => 'success'
}
| Поле | Описание |
|---|---|
| domain_name | домен, nameserver которого будет добавляться |
| ns0 | nameserver |
| ns0ip | IP адрес добавляемого nameservar-а |
| Поле | Описание |
|---|---|
| resp | детализированный ответ регистратора NSI-доменов, присутствует при положительном ответе, обычно является хешем |
{
answer => {
resp => {
actionstatusdesc => 'Addition Completed Successfully',
status => 'success',
description => 'test.com',
actiontypedesc => 'Addition of Child Nameserver ns0.test.com with IP [1.2.3.4]',
actionstatus => 'success',
actiontype => 'AddCns',
},
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domain_name | домен, nameserver которого будет удаляться |
| ns0 | nameserver |
| ns0ip | IP адрес удаляемого nameservar-а |
| Поле | Описание |
|---|---|
| resp | детализированный ответ регистратора NSI-доменов, присутствует при положительном ответе, обычно является хешем |
{
answer => {
resp => {
actionstatusdesc => 'Modification Completed Successfully',
status => 'success',
description => 'test.com',
actiontypedesc => 'Deletion of IP Address [1.2.3.4] from Child Nameserver ns0.test.com',
actionstatus => 'success',
actiontype => 'DelCnsIp',
},
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов с параметрами dname, service_id и nss, или error_code c кодом ошибки идентификации услуги |
| nss | список DNS с параметрами ns и ip, если он был указан ранее |
{
answer => {
domains => [
{
dname => 'test.ru',
nss => [
{
ns => 'ns1.reg.ru'
},
{
ns => 'ns2.reg.ru'
}
],
service_id => 12345
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domain_name | Имя домена |
| ns0...ns3 | Имена DNS серверов в порядке убывания приоритета |
| ns0ip...ns3ip | IP адреса DNS серверов. Необязательные поля. Используются только если имя DNS сервера содержит имя регистрируемого домена |
| nss | Хеш, содержащий список NS-серверов и, если надо, IP адресов. В ключами хеша будут поля ns0...ns3 и ns0ip...ns3ip, описанные выше. Только для запросов в JSON/XML формате |
| undelegate | Установка/снятие домена с делегирования. 0 - Делегировать, 1 - Снять делегирование |
| Поле | Описание |
|---|---|
| domains | список доменов с параметрами dname и service_id, или error_code c кодом ошибки идентификации услуги |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
}
]
},
result => 'success'
}
Несколько доменов, один из которых содержит ошибочные данные:
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.su',
service_id => 12346,
result => 'success'
},
{
dname => '----.ru',
result => 'domain_name is invalid or unsupported zone',
error_code => 'INVALID_DOMAIN_NAME_FORMAT'
}
]
},
result => 'success'
}
Успешный ответ смены флага делигирования домена без NS-серверов (запрос см. выше)
{
answer => {
services => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
}
]
},
result => 'success',
}
| Error_code | Error_text | Описание |
|---|---|---|
| INVALID_NSS | Invalid nameservers | Сервера имен указаны неверно |
| NSS_NOT_FOUND | Name servers list not found | Список NS-серверов не нейден |
| Поле | Описание |
|---|---|
| services | список услуг с параметрами dname и service_id, или error_code c кодом ошибки идентификации услуги |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.su',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| services | список услуг с параметрами dname и service_id, или error_code c кодом ошибки идентификации услуги |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.su',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов, где для доменов у которых можно управлять зоной поле result будет иметь значение success, иначе — код ошибки указывающий причину |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов, где для доменов у которых можно управлять зоной поле result будет иметь значение success, иначе — код ошибки указывающий причину |
| rrs | Ресурсные записи домена |
| subname | поддомен для которого создана ресурсная запись: * для всех поддоменов кроме указанных явно, @ для самого домена, или конкретное имя поддомена |
| rectype | класс, тип записи: A, AAAA, CNAME, MX, NS и другие |
| state | статус записи: N — неактивна (обычно сразу после добавления, но ещё до активации); A — активна; D — помечена к удалению |
| priority | приоритет записи |
| content | содержимое записи: IP адрес для А, IPv6 адрес для АААА, и др |
| soa | Время жизни кеша зоны |
{
answer => {
domains => [
{
dname => 'test.ru',
rrs => [
{
subname => 'www',
content => '111.222.111.222',
prio => '0',
rectype => 'A',
state => 'A'
}
],
service_id => 12345,
soa => {
ttl => '1d',
minimum_ttl => '12h'
},
result => 'success'
},
{
dname => 'test.com',
rrs => [
{
subname => 'www',
content => '111.222.111.222',
prio => '0',
rectype => 'A',
state => 'A'
}
],
service_id => 12346,
soa => {
ttl => '1d',
minimum_ttl => '12h'
},
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| subdomain | Имя поддомена, которому назначается IP-адрес. Чтобы назначить IP-адрес самому домену, передайте значение '@', чтобы назначить IP-адрес всем поддоменам, не обозначенным явно в других записях, передайте '*'. |
| ipaddr | IP-адрес, назначемый поддомену. |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| subdomain | Имя поддомена, которому назначается IPv6-адрес. Чтобы назначить IP-адрес самому домену, передайте значение '@', чтобы назначить IP-адрес всем поддоменам, не обозначенным явно в других записях, передайте '*'. |
| ipaddr | IPv6-адрес, назначемый поддомену. |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| subdomain | Имя поддомена, которому назначается адрес |
| canonical_name | Имя домена, которому назначаются синонимы |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| CNAME_INVALID | Invalid CNAME | Неверное имя для CNAME |
| CNAME_ANDOTHERDATA | For this CNAME have other data already | Для этого CNAME уже есть другие данные |
| Поле | Описание |
|---|---|
| subdomain | Имя поддомена, которому назначается адрес, по умолчанию подразумевается сам домен, т.е. значение @ |
| priority | приоритет почтового сервера, 0 — высший, 10 — минимальный, значение по умолчанию 0 |
| mail_server | Имя домена или IP-адрес почтового сервера (желательно вводить имя домена, т.к. не все почтовые сервера могут понимать IP-адрес) |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| MAILHOST_INVALID | Error in mail_server IP address or domain name | Некорректно указан IP адрес или имя домена в поле mail_server |
| Поле | Описание |
|---|---|
| subdomain | Имя поддомена, который будет управляться другими DNS-серверами |
| dns_server | Доменное имя DNS-сервера |
| record_number | Порядковый номер NS-записи, который будет определять относительное расположение NS-записей для поддомена |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| NSADDR_INVALID | Invalid DNS-server address | Неверный адрес DNS-сервера |
| Поле | Описание |
|---|---|
| subdomain | Имя поддомена, для которого добавляется текстовая запись |
| text | текст, допустимо использовать только алфавитноцифровые символы из набора ASCII |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| TEXT_NOT_FOUND | Text for record not found | Текст не найден |
| TEXT_TOOLONG | Text too long | Превышен лимит длинны строки |
| Поле | Описание |
|---|---|
| service | сервис, который будет сопоставлен указанному серверу, например для назначения SIP серверу sip.test.ru по upd протоколу надо прописать _sip._udp |
| priority | приоритет записи |
| weight | нагрузка, которую могут обработать системы, необязательное поле, значение по умолчанию 0 |
| target | сервер обслуживающий службу |
| port | порт обслуживающий службу |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| SERVICE_INVALID | Service not found or have incorrect data | Поле service не найдено или содержит некорректные данные |
| PRIORITY_INVALID | Priority not found or have not digital data | Поле priority не определено или содержит нецифровые данные |
| WEIGHT_INVALID | Weight have not digital data | Поле weight содержит нецифровые данные |
| PORT_INVALID | Port not found or have not digital data | Поле port не определено или содержит нецифровые данные |
| Поле | Описание |
|---|---|
| subdomain | поддомен для которого будет удаляться запись, обязательное поле |
| record_type | класс, тип удаляемой записи, обязательное поле |
| priority | приоритет записи, опциональное поле, значение по умолчанию 0 |
| content | содержимое записи, опциональное поле, при его отсутствии помечаются к удалению все записи, попадающие под условие остальных параметров |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| action_list |
Массив хешей, где каждый хеш содержит параметры для добавления/удаления ресурсной записи.
Класс/тип добавляемой записи указывает поле action,
допустимые варианты: add_alias, add_aaaa, add_cname,
add_mx, add_ns, add_txt, add_srv, remove_record.
Остальные поля хеша зависят от action и соответствуют функциям, описанным выше. Для примера, приведённого ниже, структура action_list будет иметь следующий вид:
action_list => [
{
action => 'add_alias',
subdomain => 'www',
ipaddr => '11.22.33.44'
},
{
action => 'add_cname',
subdomain => '@',
canonical_name => 'www.test.ru'
}
]
Массив action_list может быть как общим для всего списка доменов (см. 1-й пример запроса),
так и особым для каждого домена в списке (см. 2й пример запроса).
|
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
action_list => [
{
action => 'add_alias',
result => 'success'
},
{
action => 'add_cname',
result => 'success'
}
],
result => 'success'
}
]
},
result => 'success'
}
Ответ на второй запрос, содержащий ошибку:
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
error_params => {
action => 'add_aalias'
},
error_code => 'INVALID_ACTION',
error_text => 'Invalid action: add_aalias'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| INVALID_ACTION | Action is invalid or not found | Действие ошибочно или не найдено |
| Поле | Описание |
|---|---|
| ttl | Время жизни кеша для зоны. Либо число в секундах, либо число с суффиксами m для месяцев, w для недель, d для дней, h для часов |
| minimum_ttl | Время жизни кеша для негативного ответа на запрос в зонe. Формат поля как и в TTL |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| SOA_RECORD_INVALID | Invalid time for SOA record | Некорректно указано время для SOA-записи |
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| domains | список доменов c результатами выполнения запроса |
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| service_id | идентификатор услуги, если переданы dname+servtype |
{
answer => {
services => [
{
dname => 'test.ru',
service_id => 12345,
servtype => 'domain',
result => 'success'
}
]
},
result => 'success'
}
| Поле | Описание |
|---|---|
| servtype |
Вид услуги: srv_webfwd — «Web-форвардинг», srv_parking — «Парковка домена», srv_dns_both — «Поддержка DNS», srv_hosting_ispmgr — «Хостинг», srv_certificate — «Сертификат на домен». |
| subtype | Подтип услуги |
| unroll_prices | Показывать цены в развернутом виде |
| Поле | Описание |
|---|---|
| servtype | Вид услуги |
| subtype | Подтип услуги |
| unit | Единица измерения для периода "YEAR" или "MONTH" |
| extparams | Дополнительные параметры |
| is_renewable | 1 - возможно продление 0 - услуга без продления |
| commonname, middlename, title_new_rus, title_new_eng, title_renew_rus, title_renew_eng |
Различные форматы описания |
| Поле | Описание |
|---|---|
| periods_new | Диапазон возможных сроков регистрации |
| periods_renew | Диапазон возможных сроков продления |
| price_new | Цена заказа сервиса |
| price_renew | Цена продления сервиса |
| Поле | Описание |
|---|---|
| prices_new | Список периодов и цен для заказа услуги |
| prices_renew | Список периодов и цен для продления услуги |
{
"answer" : [
{
"commonname" : "Web-forwarding",
"title_new_rus" : "Web-forwarding[% IF dname %] для домена [% dname %][% END %] [% p_rus %]",
"periods_renew" : "1-10",
"middlename" : "Web-forwarding [% ru ? \"для\" : \"for\"%] [% dname %]",
"title_renew_rus" : "Продление web-forwarding для домена [% dname %] [% p_rus %]",
"title_new_eng" : "Web-forwarding[% IF dname %] for [% dname %][% END %] [% p_eng %]",
"subtype" : "",
"unit" : "year",
"extparams" : {},
"periods_new" : "1-10",
"is_renewable" : "1",
"price_renew" : "120.00",
"title_renew_eng" : "Prolongation of web-forwarding for [% dname %] domain [% p_eng %]",
"servtype" : "srv_webfwd",
"price_new" : "120.00"
}
],
"result" : "success"
}
| Параметр | Описание |
|---|---|
| Общие | |
| domain_name | Имя домена, для которого заказывается услуга. |
| servtype |
Вид заказываемой услуги: srv_webfwd — «Web-форвардинг», srv_parking — «Парковка домена», srv_dns_both — «Поддержка DNS», srv_hosting_ispmgr — «ISPManager хостинг», srv_hosting_cpanel — «CPanel хостинг», srv_ssl_certificate — «SSL сертификат», srv_certificate — «Сертификат на домен», srv_vps — «VPS сервер», srv_license_isp — «Лицензия ISP Manager», srv_addip — «Дополнительный IP». |
| period |
Срок, на который заказывается услуга, единица измерения (год или месяц) зависит от вида заказываемой услуги.
Значения единиц измерения для различных услуг Вы можете получить с помощью функции service/get_servtype_details. |
| user_servid | ID домена, задаваемый пользователем. Допустимые символы: цифры 0..9 и латинские буквы a..f, длина поля 32 символа. Автоматически идентификатор не создаётся, т.е. если он не был задан при создании услуги, то поле остаётся пустым. Необязательное поле. |
| Параметры оплаты (необязательны) | |
|
point_of_sale pay_type ok_if_no_money |
См. Общие параметры оплаты. |
| Прочие общие параметры (необязательны) | |
| folder_name или folder_id |
Задает название папки, куда будут добавлены услуги. (см. стандартные параметры идентификации папок) |
| no_new_folder |
Если указано имя несуществующей папки: 0 - (по-умолчанию) - Создавать новую папку. 1 - Не создавать папку, возвращать код ошибки. Необязательное поле. |
| comment | Комментарий - любая строка описывающая заказ. Необязательное поле. |
| admin_comment | Комментарий для администраторов — любая строка описывающая заказ. Необязательное поле. |
| ISPManager хостинг (srv_hosting_ispmgr) | |
| e-mail-адрес для создаваемого хостинг-аккаунта. | |
| plan (deprecated) | Тарифный план, сейчас доступны: "Host-Lite-0910", "Host-0-0910", "Host-1-1209", "Host-2-1209", "Host-3-1209", "Host-CMS-1209". Для указания тарифного плана рекомендуется использовать параметр "subtype" |
| subtype | Тарифный план, сейчас доступны: "Host-Lite-0910", "Host-0-0910", "Host-1-1209", "Host-2-1209", "Host-3-1209", "Host-CMS-1209". |
| Cpanel хостинг (srv_hosting_cpanel) | |
| e-mail-адрес для создаваемого хостинг-аккаунта. | |
| subtype | Тарифный план, сейчас доступны: "Host-0", "Host-1", "Host-2", "Host-3", "Host-CMS". |
| SSL сертификат (srv_ssl_certificate) | |
| org_name, org_street, org_city, org_state, org_postal_code, org_country, org_phone, org_fax | Название, адрес, город, штат(провинция), почтовый индекс, страна, телефон, факс организации. |
| admin_firstname, admin_lastname, admin_jobtitle, admin_telephone, admin_email | Имя, фамилия, должность, телефон, e-mail адрес администратора. |
| tech_firstname, tech_lastname, tech_jobtitle, tech_telephone, tech_email | Имя, фамилия, должность, телефон, e-mail адрес технического специалиста. |
| approveremail | E-mail адрес для подтверждения сертификата. |
| software | Программное обеспечение. Возможные значения: IIS - Internet Information Services Other - Другое ПО |
| csrString | Закодированный CSR включая маркеры начала и окончания. |
| subtype | Вид сертификата. Возможные значения: fssl, sgc, ssl, wild |
| Сертификат на домен (srv_certificate) | |
| obtain_cert | способ получения сертификата: in_office — В офисе REG.RU дополнительные параметры: office, phone, remark free_mail — Почтой в любой город Российской Федерации (доставка бесплатная) дополнительные параметры: postcode, name, addr paid_mail — Почтой в любой другой город мира (доставка платная) дополнительные параметры: postcode, name, addr, city, country_code, state |
| office | Допустимые значения: moscow, samara, kiev, piter |
| phone | телефон в международном формате: знак "+", код страны, номер телефона. |
| remark | Примечание |
| p_postcode | Почтовый индекс для бесплатной отправки сертификата по России |
| p_addr | Адрес в России |
| p_name | Фамилия, Имя, Отчество по-русски |
| a_postcode | Почтовый индекс для международного письма |
| a_addr | Почтовый адрес для международного (только латиницей) |
| a_name | Полное имя для международного письма (только латиницей) |
| a_state | Область, штат |
| a_city | Город для международной отправки сертификата |
| a_country_code | Код страны (например UK) |
| VPS сервер (srv_vps) | |
| subtype | Тарифный план, сейчас доступны: "VPS-1", "VPS-2", "VPS-3", "VPS-4". |
| vpsname | Наименование сервера для идентификации в списке услуг. |
| ostmpl | Шаблон предустановленной операционной системы. Сейчас доступны: "debian-x86", "debian-x86_64", "centos-x86", "centos-x86_64", "fedora-x86", "fedora-x86_64", "suse-x86", "suse-x86_64". |
| contype | Тип контактных данных. Принимает значение "pp" при регистрации сервера на данные физического лица и значение "org" при регистрации сервера на данные юридического лица. |
| e-mail-адрес для создаваемого хостинг-аккаунта. | |
| phone | Телефон. Необязательное поле |
| country | Двухбуквенный ISO-код страны, в которой зарегистрировано(а) физическое лицо (организация). |
| person_r | Указывается при использовании параметра "contype" со значением "pp".
Фамилия, имя и отчество администратора сервера на русском языке в соответствии с паспортными данными.
Для иностранцев поле содержит имя в оригинальном написании (при невозможности в английской транскрипции). Пример1: Пупкин Василий Николаевич Пример2: John Smith |
| passport | Указывается при использовании параметра "contype" со значением "pp".
Серия и номер паспорта, а также наименование органа, выдавшего паспорт,
и дата выдачи (в указанной последовательности, с разделением пробелами).
В написании римских цифр допустимо использование только латинских букв.
Дата записывается в формате ДД.ММ.ГГГГ.
Знак номера перед номером паспорта не ставится.
Паспорта СССР (паспорта старого образца) не принимаются.
В случае использования документа, отличного от паспорта
(допустимо ТОЛЬКО для нерезидентов России), в начале строки указывается
наименование вида документа. Запись может быть многострочной. Пример: 34 02 651241 выдан 48 о/м г.Москвы 26.12.1990 |
| org_r | Указывается при использовании параметра "contype" со значением "org".
Полное наименование организации-администратора домена на русском языке в соответствии с
учредительными документами. Для нерезидентов указывается написание на национальном языке (либо на английском языке).
Запись может быть многострочной. Пример1: Урюпинский государственный университет\nимени Карлы-Марлы Пример2: Общество с ограниченной ответственностью "Рога и Копыта" |
| code | Указывается при использовании параметра "contype" со значением "org".
Идентификационный номер налогоплательщика (ИНН), присвоенный организации-администратору.
Запись может содержать пустую строку, если администратором является нерезидент РФ, не имеющий
идентификационного номера налогоплательщика. Пример: 7701107259 |
| Лицензия ISP Manager (srv_license_isp) | |
| uplink_service_id | ID родительской услуги, к которой заказывается лицензия ISP Manager. Заказ лицензии возможен только для VPS (srv_vps). |
| subtype | Тип лицензии, доступны: "lite", "pro". Необязательный параметр, значение по умолчанию: "lite" |
| installation_way | Тип переустановки ОС на VPS. Принимает значение "auto" для автоматической переустановки ОС и
значение "manual" только для заказа лицензии. Необязательный параметр, значение по умолчанию: "manual" |
| ostmpl | Шаблон предустановленной операционной системы. Необязательный параметр, может потребоваться в том случае если шаблон установленной ОС не поддерживается ISP Manager'ом. Поддерживаются следующие шаблоны ОС:
|
| Дополнительный IP (srv_addip) | |
| uplink_service_id | ID родительской услуги, к которой заказывается дополнительный IP. Заказ дополнительного IP возможен только для VPS (srv_vps). |
| subtype | Тип дополнительного IP, доступны: "same_subnet" для заказа доп. IP находящегося в одной подсети с основным адресом VPS-сервера, "other_subnet" для заказа доп. IP находящегося в другой подсети класса C относительно основного адреса VPS-сервера. Необязательный параметр, значение по умолчанию: "same_subnet" |
| Поле | Описание |
|---|---|
| descr | Общее описание сделанного заказа. |
| bill_id | Номер счёта заказа. |
| payment | Цена заказа. |
| pay_notes | Результат проведения оплаты. |
| service_id | Числовой идентификатор услуги. |
{
'result' => 'success';
'answer' => {
'descr' => 'service srv_hosting_ispmgr is ordered for domain qqq.ru',
'payment' => '100',
'pay_notes' => 'Amount successfully charged',
'bill_id' => '1234',
'service_id' => '987654'
}
}
| Error_code | Error_text | Описание |
|---|---|---|
| NEEDS_CONFIRMATION | Service already ordered and need confirmation. | Услуга уже заказана и требует подтверждения. |
| WAITING | Service already ordered but not processed. | Услуга уже заказана но еще не отработана. |
| Поле | Значения | Описание |
|---|---|---|
| show_folders | 0 и 1 | Дополнительно привести список папок, в которые входит услуга, по умолчанию — 0 |
| Поле | Описание |
|---|---|
| services | Список хешей параметров услуг. |
| subtype | подтип услуги (для хостинга: идентификатор тарифного плана) |
| state |
состояние услуги, допустимые варианты:
|
| creation_date | дата активации услуги |
| expiration_date | дата истечения оплаченного периода услуги |
{
"answer" : {
"services" : [
{
"future_periods" : "0",
"expiration_date" : "2101-01-01",
"service_id" : "12345",
"state" : "A",
"subtype" : "test",
"creation_date" : "2001-01-01",
"servtype" : "domain",
"result" : "success"
},
{
"future_periods" : "0",
"expiration_date" : "2101-01-01",
"service_id" : "111111",
"state" : "A",
"subtype" : "test",
"creation_date" : "2001-01-01",
"servtype" : "domain",
"result" : "success"
}
]
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| servtype |
Вид услуги: domain — «Домен», srv_webfwd — «Web-форвардинг», srv_parking — «Парковка домена», srv_dns_both — «Поддержка DNS», srv_hosting_ispmgr — «Хостинг», srv_certificate — «Сертификат на домен». Если значение не указано, возвращаются услуги всех видов. |
| Поле | Описание |
|---|---|
| services | Список хешей параметров услуг. |
| service_id | числовой идентификатор услуги |
| dname | имя домена |
| subtype | подтип услуги (для хостинга: идентификатор тарифного плана) |
| state |
состояние услуги, допустимые варианты:
|
| creation_date | дата активации услуги |
| expiration_date | дата истечения оплаченного периода услуги |
{
"answer" : {
"services" : [
{
"subtype" : "test",
"dname" : "test.ru",
"creation_date" : "2009-04-18",
"uplink_service_id" : "0",
"expiration_date" : "2011-04-18",
"servtype" : "domain",
"service_id" : "111",
"state" : "A"
},
{
"subtype" : "test",
"dname" : "foo-test.ru",
"creation_date" : "2009-04-29",
"uplink_service_id" : "0",
"expiration_date" : "2011-04-29",
"servtype" : "srv_hosting_ispmgr",
"service_id" : "222",
"state" : "A"
}
]
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| folders | список папок, может быть пустым |
| folder_id | идентификатор папки |
| folder_name | имя папки |
{
{
answer => {
folders : [
{
folder_name => 'test_folder',
folder_id => 12345
}
]
},
result => 'success'
}
| Поле | Допустимые значения |
Описание |
|---|---|---|
| separate_groups | 0 и 1 | При значении 1 делается разбивка выходных данных по группам, группы для каждого сервиса или доменной зоны свои, значение по умолчанию 0 |
| show_contacts_only | 0 и 1 | При значении 1 возвращаются только контактные данные, что удобно при работе с доменами, для других сервисов не имеет смысла, значение по умолчанию 0 |
| Поле | Описание |
|---|---|
| services | список доменов с параметрами dname, servtype, service_id, details и contacts, или error_code c кодом ошибки идентификации услуги |
| details | список всех дополнительных данных сервиса, в случае вызова функции с параметром separate_groups делается разбивка данных по группам. |
| contacts | список контактов конкретного домена, подробное описание для каждой доменной зоны см. в описании функции domain/create, возвращается только при вызове с параметром show_contacts_only |
| Дополнительные поля, возвращаемые для услуги хостинга | |
| login | логин хостинг-аккаунта |
| passwd | пароль хостинг-аккаунта |
| server_ip | IP-адрес сервера, на котором обслуживается аккаунт |
| nss | список NS-серверов хостинга |
| Дополнительные поля, возвращаемые для услуги web-форвардинга | |
| fwds | Список всех web-перенаправлений домена. Содержит поля fwdfrom(Переадресация с), fwdto(Переадресовывать на), webfwd_type(Способ переадресации), title(Заголовок окна, если webfwd_type = frames). |
{
'answer' => {
'services' => [
{
'dname' => 'vschizh.ru',
'servtype' => 'domain',
'service_id' => '12345'
'details' => {
'country' => 'RU',
'e_mail' => 'test@test.ru',
'person_r' => 'Рюрик Святослав Владимирович',
'id_state' => 'VERIFIED',
'phone' => '+7 495 1234567',
'birth_date' => '01.01.1101',
'descr' => 'test contacts',
'person' => 'Svyatoslav V Ryurik',
'p_addr' => '12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому',
'passport' => '22 44 668800, выдан по месту правления 01.09.1164'
},
'result' => 'success'
},
{
'dname' => 'vschizh.org',
'servtype' => 'domain',
'service_id' => '12346'
'details' => {
'o_email' => 'test@test.ru',
'o_addr' => 'Vschizh Goverment, house 1, Knyazheska str',
'o_phone' => '+7.4951234567',
'o_state' => 'VSZ',
'o_postcode' => '12345',
'o_city' => 'Vschizh',
'o_first_name' => 'Svyatoslav',
'o_last_name' => 'Ryurik',
'o_company' => 'Vschizh City',
'o_country_code' => 'RU',
'o_fax' => '+7.4951234567'
},
'result' => 'success'
}
]
},
'result' => 'success'
}
Ответ на запрос с параметром separate_groups
{
'answer' => {
'services' => [
{
'dname' => 'vschizh.ru',
'service_id' => '12345',
'servtype' => 'domain',
'details' => {
'ru_id' => {
'id_state' => 'VERIFIED'
},
'ru_dd' => {
'descr' => 'test user domain'
},
'ru_pp' => {
'country' => 'RU',
'e_mail' => 'test@test.ru',
'person_r' => 'Рюрик Святослав Владимирович',
'phone' => '+7 495 1234567',
'birth_date' => '01.01.1101',
'person' => 'Svyatoslav V Ryurik',
'p_addr' => '12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому',
'passport' => '22 44 668800, выдан по месту правления 01.09.1164'
}
},
'result' => 'success'
}
]
},
'result' => 'success'
}
Ответ на запрос с параметром show_contacts_only
{
'answer' => {
'services' => [
{
'contacts' => {
'country' => 'RU',
'e_mail' => 'test@test.ru',
'person_r' => 'Рюрик Святослав Владимирович',
'phone' => '+7 495 1234567',
'birth_date' => '01.01.1101',
'descr' => 'test user domain'
'person' => 'Svyatoslav V Ryurik',
'p_addr' => '12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому',
'passport' => '22 44 668800, выдан по месту правления 01.09.1164'
},
'dname' => 'vschizh.ru',
'service_id' => '12345',
'servtype' => 'domain',
'result' => 'success'
}
]
},
'result' => 'success'
}
| Поле | Описание |
|---|---|
| Поля, возвращаемые для любой услуги | |
| subtype | подтип услуги (для хостинга: идентификатор тарифного плана) |
| state |
состояние услуги, допустимые варианты:
|
| creation_date | дата активации услуги |
| expiration_date | дата истечения оплаченного периода услуги |
| Поля, возвращаемые для услуги хостинга | |
| login | логин хостинг-аккаунта |
| passwd | пароль хостинг-аккаунта |
| server_ip | IP-адрес сервера, на котором обслуживается аккаунт |
| nss | список NS-серверов хостинга |
| Поля, возвращаемые для услуги web-форвардинга | |
| fwds | Список всех web-перенаправлений домена. Содержит поля fwdfrom(Переадресация с), fwdto(Переадресовывать на), webfwd_type(Способ переадресации), title(Заголовок окна, если webfwd_type = frames). |
{
answer : {
passwd : "test",
creation_date : "2008-12-31",
expiration_date : "2009-01-01",
servtype : "srv_hosting_ispmgr",
server_ip : "89.253.240.98",
login : "test",
state : "A",
subtype : "Host-1"
},
result : "success"
}
{
result : "success",
answer : {
fwds : [
{
fwdfrom : "/",
fwdto : "http://mysite1.ru",
webfwd_type : "frames",
title : "Мой сайт"
},
{
fwdfrom : "/news/",
fwdto : "http://mysyte2.ru",
webfwd_type : "redirect"
}
],
creation_date : "2008-12-31",
expiration_date : "2009-01-01",
servtype : "srv_webfwd",
state : "A",
subtype : ""
}
}
| Параметр | Описание |
|---|---|
| Общие | |
| dname | Имя домена настраиваемого сервиса. |
| servtype |
Вид заказываемой услуги: srv_webfwd — «Web-форвардинг», srv_ssl_certificate — «SSL-Сертификат», srv_vps — «VPS», srv_hosting_cpanel — «Cpanel хостинг». |
| Web-форвардинг (srv_webfwd) | |
| fwd_action | Действие, доступны: addfwd(добавить перенаправление), rmfwd(удалить перенаправление), rmall(удалить все перенаправления). DEPRECATED. Используйте параметр subtask. |
| subtask | Действие, доступны: addfwd(добавить перенаправление), rmfwd(удалить перенаправление), rmall(удалить все перенаправления). |
| fwdfrom | «Переадресация с», укажите относительный адрес (без имени домена), с которого требуется осуществлять перенаправление(если не указано, то «/»). |
| fwdto | «Переадресовывать на», укажите URL, на который следует перенаправлять посетителей. |
| webfwd_type | Способ переадресации, может принимать значения: redirect(перенаправление запроса), frames(маскировку адреса во фрейме). Если не указано, то redirect. |
| title | Заголовок окна, имеет смысл только в случае использования маскировки адреса во фрейме. Указанный заголовок будет заголовком страницы (будет отображаться в качестве заголовка окна браузера). |
| SSL сертификат (srv_ssl_certificate) | |
| org_name, org_street, org_city, org_state, org_postal_code, org_country, org_phone, org_fax | Название, адрес, город, штат(провинция), почтовый индекс, страна, телефон, факс организации. |
| admin_firstname, admin_lastname, admin_jobtitle, admin_telephone, admin_email | Имя, фамилия, должность, телефон, e-mail адрес администратора. |
| tech_firstname, tech_lastname, tech_jobtitle, tech_telephone, tech_email | Имя, фамилия, должность, телефон, e-mail адрес технического специалиста. |
| approveremail | E-mail адрес для подтверждения сертификата. |
| software | Программное обеспечение. Возможные значения: IIS - Internet Information Services Other - Другое ПО |
| csrString | Закодированный CSR включая маркеры начала и окончания. |
| subtype | Вид сертификата. Возможные значения: fssl, sgc, ssl, wild |
| reissue | Ненулевое значение инициирует переиздание сертификата с новыми полями
csrString, software, approweremail. Нулевое значение или отсутствие флага вызывает обновление полей, без переиздания сертификата. Такой режим используется для подготовки полей перед продлением сертификата. |
| VPS (srv_vps) | |
| subtask |
Действие, доступны: reboot(загрузить/перезагрузить VPS), stop(остановить VPS), change_password(сменить пароль на root), change_hostname(сменить доменное имя VPS), reinstall(переустановить VPS). |
| new_ostmpl |
Шаблон ОС, используется при переустановке VPS (параметр subtask = reinstall).
Доступны следующие шаблоны ОС:
|
| new_hostname | Доменное имя VPS, используется совместно с параметром subtask = change_hostname. |
| reinstall_ispmgr | Флаг, определяющй переустанавливать ли ISP Manager, используется при переустановке VPS (параметр subtask = reinstall). |
| Cpanel хостинг (srv_hosting_cpanel) | |
| subtask |
Действие, доступны: change_pass(сменить пароль на хостинг). |
| Поле | Описание |
|---|---|
| descr | Общее описание сделанного заказа. |
{
'result' => 'success';
'answer' => {
'descr' => 'service srv_webfwd is updated for domain qqq.ru'
}
}
| Поле | Описание |
|---|---|
| period | Период продления. |
| Параметры оплаты (необязательны) | |
| point_of_sale pay_type ok_if_no_money |
См. Общие параметры оплаты. |
| allow_create_bills |
Флаг, указывающий, что в случае недостатка денег на счету,
запрос будет завершен без ошибки — будет создана выписка пополнения через банк.
DEPRECATED. Не использовать! |
| Поле | Описание |
|---|---|
| period | Установленный период продления. |
| bill_id | Номер счёта заказа. |
| payment | Цена заказа. |
| currency | Валюта указанной цены. |
| status | Состояние заказа. Допустимые варианты: renew_success и only_bill_created для случаев успешного прохождения счёта и нехватки денег соответственно. |
{
'answer' => {
'period' => '2',
'payment' => '100',
'currency' => 'RUR',
'status' => 'renew_success',
'dname' => 'test12345.ru',
'bill_id' => '123456',
'servtype' => 'domain'
},
'result' => 'success',
}
Ответ на список из 2х доменов в JSON формате
{
'answer' => {
'currency' => 'RUR',
'payment' => '200',
'period' => '2',
'services' => [
{
'dname' => 'test12345.ru',
'service_id' => '12345',
'servtype' => 'domain',
'result' => 'success'
},
{
'dname' => 'test12346.ru',
'service_id' => '12346',
'servtype' => 'domain',
'result' => 'success'
}
],
'bill_id' => '123456',
'status' => 'renew_success',
},
'result' => 'success',
}
Ответ при передаче флага allow_create_bills (случай, когда не хватило денег и создан лишь счёт):
{
'answer' => {
'period' => '1',
'payment' => '100',
'currency' => 'RUR',
'status' => 'only_bill_created',
'dname' => 'test12345.ru',
'bill_id' => '123123',
'servtype' => 'domain'
},
'result' => 'success',
}
| Error_code | Error_text | Описание |
|---|---|---|
| INCORRECT_STATE | Operation allowed only for suspended or active services. | Операция возможна только для активной или приостановленной услуги. |
| PROLONG_ERROR | Prolong error: $error_detail. | Ошибка продления: <подробности_ошибки>. |
| Поле | Описание |
|---|---|
| flag_value | Флаг для установки, допустимые значения 0 и 1, любое ненулевое значение считается равным 1 |
{
'result' => 'success'
}
{
'result' => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| SERVICE_NOT_ACTIVE | Service not active | Услуга уже приостановлена |
{
'result' => 'success'
}
| Error_code | Error_text | Описание |
|---|---|---|
| SERVICE_NOT_SUSPENDED | Service not suspended | Услуга не приостановлена |
| SERVICE_EXPIRED | Service expired | Срок действия услуги истек |
| Поле | Описание |
|---|---|
| depreciated_period | Дробное число периодов, оставшихся до даты истечения срока действия услуги |
{
"answer" : {
"depreciated_period" : "1"
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| subtype | Новый подтип (тариф) услуги. Для услуг хостинга ("srv_hosting_ispmgr") допустимыми значениями являются: "Host-Lite-0910", "Host-0-0910", "Host-1-1209", "Host-2-1209", "Host-3-1209", "Host-CMS-1209" Для услуг VPS ("srv_vps") допустимыми значениями являются: "VPS-2", "VPS-3", "VPS-4". |
| period | Число периодов, на который заказывается новая услуга |
| Поле | Описание |
|---|---|
| withdrawed_amount | Количество денежных средств, списанных по операции |
| returned_amount | В том числе зачислено на лицевой счет |
| new_service_id | Идентификатор нового сервиса с новым подтипом (тарифом) |
{
"answer" : {
"returned_amount" : "100",
"withdrawed_amount" : "100",
"new_service_id" : "-1"
},
"result" : "success"
}
| Error_code | Error_text | Описание |
|---|---|---|
| SERVICE_UPGRADE_NOT_ALLOWED | Service upgrade is not allowed | Услуга имеет недопустимый тип или невозможно сменить подтип услуги на заданный |
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Идентифицирует папку, с которой будет совершено действие. (см. стандартные параметры идентификации папок) |
{
"answer" : {
"name" : "test_folder_name",
"id" : "-1"
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name | Задает название новой папки. |
{
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Идентифицирует папку, с которой будет совершено действие. (см. стандартные параметры идентификации папок) |
{
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Идентифицирует папку, с которой будет совершено действие. (см. стандартные параметры идентификации папок) |
| new_folder_name | Задает новое имя папки |
{
"result" : "success"
}
"answer" : {
"folder_content" : [
{
"domain_name" : "test1.ru",
"service_id" : "1000",
"servtype" : "domain"
},
{
"domain_name" : "test2.ru",
"service_id" : "1001",
"servtype" : "domain"
}
],
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Задает название папки, куда будут добавлены услуги. (см. стандартные параметры идентификации папок) |
| services |
Задает список услуг, с которыми будет произведено действие. (см. стандартные параметры идентификации услуг) |
| return_folder_contents | Если значение этого поля уставновлено в "1", то в ответе системы будет присутствовать список услуг в папке, с которой совершено действие. |
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
{
"answer" : {
"services" : [
{
"dname" : "test01.ru",
"service_id" : "123456",
"servtype" : "domain",
"result" : "success"
},
{
"dname" : "test11.ru",
"result" : "Domain test11.ru not found or not owned by You",
"error_params" : {
"domain_name" : "test11.ru"
},
"error_code" : "DOMAIN_NOT_FOUND"
}
],
"folder_content" : [
{
"domain_name" : "test1.ru",
"service_id" : "1000"
},
{
"domain_name" : "test2.ru",
"service_id" : "1001"
}
]
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Задает название папки, откуда будут удалены услуги. (см. стандартные параметры идентификации папок) |
| services |
Задает список услуг, с которыми будет произведено действие. (см. стандартные параметры идентификации услуг) |
| return_folder_contents | Если значение этого поля уставновлено в "1", то в ответе системы будет присутствовать список услуг в папке, с которой совершено действие. |
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
{
"answer" : {
"services" : [
{
"dname" : "test01.ru",
"service_id" : "123456",
"servtype" : "domain",
"result" : "success"
},
{
"dname" : "test11.ru",
"result" : "Domain test11.ru not found or not owned by You",
"error_params" : {
"domain_name" : "test11.ru"
},
"error_code" : "DOMAIN_NOT_FOUND"
}
],
"folder_content" : [
{
"domain_name" : "test1.ru",
"service_id" : "1000"
},
{
"domain_name" : "test2.ru",
"service_id" : "1001"
}
]
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Задает название папки, куда будут перезаписаны услуги. (см. стандартные параметры идентификации папок) |
| services |
Задает список услуг, с которыми будет произведено действие. (см. стандартные параметры идентификации услуг) |
| return_folder_contents | Если значение этого поля уставновлено в "1", то в ответе системы будет присутствовать список услуг в папке, с которой совершено действие. |
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
{
"answer" : {
"services" : [
{
"dname" : "test01.ru",
"service_id" : "123456",
"servtype" : "domain",
"result" : "success"
},
{
"dname" : "test11.ru",
"result" : "Domain test11.ru not found or not owned by You",
"error_params" : {
"domain_name" : "test11.ru"
},
"error_code" : "DOMAIN_NOT_FOUND"
}
],
"folder_content" : [
{
"domain_name" : "test1.ru",
"service_id" : "1000"
},
{
"domain_name" : "test2.ru",
"service_id" : "1001"
}
]
},
"result" : "success"
}
| Поле | Описание |
|---|---|
| folder_name или folder_id |
Задает название папки, откуда будут перенесены услуги. (см. стандартные параметры идентификации папок) |
| new_folder_name или new_folder_id |
Задает название папки, куда будут перенесены услуги (см. стандартные параметры идентификации папок) |
| services |
Задает список услуг, с которыми будет произведено действие. (см. стандартные параметры идентификации услуг) |
| return_folder_contents | Если значение этого поля уставновлено в "1", то в ответе системы будет присутствовать список услуг в папке, с которой совершено действие. |
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
{
"answer" : {
"services" : [
{
"dname" : "test01.ru",
"service_id" : "123456",
"servtype" : "domain",
"result" : "success"
},
{
"dname" : "test11.ru",
"result" : "Domain test11.ru not found or not owned by You",
"error_params" : {
"domain_name" : "test11.ru"
},
"error_code" : "DOMAIN_NOT_FOUND"
}
],
"folder_content" : [
{
"domain_name" : "test1.ru",
"service_id" : "1000"
},
{
"domain_name" : "test2.ru",
"service_id" : "1001"
}
]
},
"result" : "success"
}
За время более чем двухлетней эксплуатации Reg.API был накоплен значительный опыт технического взаимодействия с партнёрами, выявлены типичные проблемы взаимодействия.
Одной из проблем, с которой сталкиваются партнёры, является превышение лимита запросов к Reg.API (1200 запросов в час).
Анализ подобных ситуаций позволяет однозначно заключить, что проблема в подобных случаях заключается в неправильном / нецелевом использовании API в связи с ошибками либо архитектурными просчётами в программном обеспечении на стороне партнёров.
Считаем своим долгом дать ряд практических советов, которые позволят, с одной стороны, уменьшить вероятность превышения допустимого количества запросов к Reg.API и следующего за этим временного блокирования операций партнёра и, с другой стороны, снизить нагрузку на систему регистрации RegRuSRS.
Рекомендуем осуществлять WHOIS-запросы по доменам (для отображения информации WHOIS на Ваших сайтах) не через Reg.API, а обращаясь напрямую к WHOIS-серверам соответствующих доменных зон.
При этом Вы получаете следующие преимущества:
а) ответ на WHOIS-запрос будет получен Вами быстрее,
б) предлагаемая схема более надёжна, поскольку исключаются лишние звенья,
в) уменьшается вероятность блокировки при превышении лимита запросов к API за счёт сокращения общего количества API-запросов.
Мы предлагаем готовые программные решения, которые могут облегчить Ваши трудозатраты перехода на правильную схему
реализации функционала для осуществления WHOIS-запросов.
А именно мы предлагаем готовый код для осуществления WHOIS-запросов для языков
Perl и
PHP.
В случае возникновения вопросов по предоставляемому нами коду, Вы можете задать эти вопросы в специально созданном форуме для разработчиков.
Рекомендуем обращаться к API только для совершения заказов / изменения данных,
но не для получения информации. Программное обеспечение некоторых наших партнёров либо не хранит,
либо хранит неполную информацию о доменах в локальной базе данных.
В результате эта информация очень часто динамически скачивается с нашей системы регистрации
через функции domain_list, service/get_info, domain/get_contacts, domain/get_nss и т. п.
Рекомендуем хранить полную информацию о доменах и услугах локально
и обращаться к Reg.API только при необходимости изменения информации в реестре.
В этом случае Ваша система будет работать быстрее и надёжнее,
будет меньше зависеть от доступности нашей системы регистрации с Вашего сервера.
Рекомендуем выполнять все запросы на изменение данных асинхронно.
Программное обеспечение некоторых наших партнёров осуществляет операции по регистрации доменов и услуг и изменению данных непосредственно в момент обработки HTTP-запроса от клиента. При этом если API-запрос не выполняется по каким-либо причинам сразу (отсутствие связи, превышение лимита запросов, блокировки параллельных запросов), то соответствующий запрос фактически теряется и клиент партнёра получает сообщение об ошибке.
Подобная схема взаимодействия является крайне ненадёжной и в конечном итоге неудобной для Ваших клиентов.
Рекомендуем осуществлять все запросы по заказу услуг / изменению данных асинхронно, через механизм очередей.
В этом случае:
а) исключаются блокировки API-запросов (параллельно выполняется только один
API-запрос, поскольку очередь можно обрабатывать в один поток);
б) в случае отсутствия связи запрос может повторяться, пока он не будет выполнен
(таким образом существенно увеличивается надёжность системы);
в) в случае ошибок при обработке запросов (если Reg.API вернул код ошибки)
партнёр может решить проблему и повторить заявку, при этом клиент не получает лишних сообщений об ошибках —
большинство проблем могут решаться партнёром самостоятельно, без ведома и участия клиента.
Рекомендуем выполнять на Вашей стороне логирование всех API-запросов и ответов. При этом в случае возникновения каких-либо проблем в процессе взаимодействия наличие журнала позволит гораздо эффективнее диагностировать проблемы на Вашей стороне, а также более грамотно обращаться в нашу службу технической поддержки, приводя выдержки из журналов, описывающие проблему.
Надеемся, что данная информация может быть для Вас полезной и позволит улучшить качество нашего технического взаимодействия.