Содержание
1. Введение
Для повышения удобства технического взаимодействия
клиентов и партнёров компании «Регистратор доменных имён REG.RU»
с распределённой системой регистрации (далее RegRuSRS)
был реализован простой и доступный программный интерфейс — REG.API,
работающий поверх протокола HTTP.
Мы думаем, что использование REG.API делает наше техническое
взаимодействие с клиентами и партнёрами более эффективным.
Данное руководство описывает интерфейс доступа к REG.API второй версии,
являющейся развитием API предыдущих версий,
и предназначено для программистов,
автоматизирующих взаимодействие с RegRuSRS.
Предполагается, что читатель знаком с основами HTTP и имеет навыки программирования.
1.1. Преимущества API 2.0 по сравнению с API 1.0
-
Унифицированная передача сложных структур данных.
-
Большая гибкость в выборе форматов передачи данных:
возможность передачи входных параметров в форматах plain HTTP, JSON или XML,
выходных — в виде JSON, YAML, XML или plain text.
-
Возможность параллельного выполнения нескольких операций одним пользователем.
-
Возможность работы с различными кодировками (по умолчанию utf8; также поддерживаются cp1251, koi8-r, koi8-u, cp866).
-
Многоязычные варианты ответов системы.
-
Выдача расширенной информации об ошибках.
-
Унифицированный способ идентификации доменов и услуг, с которыми производится операция.
-
Различные способы идентификации услуг: кроме имени домена, теперь вы можете
использовать наши идентификаторы услуг в системе,
которые позволяют всегда точно и легко указать нужную услугу.
-
Расширенные возможности отладки: различные тестовые функции,
возможность просмотра входных параметров (с целью контроля правильности их передачи и декодирования).
-
Возможность выставлять в поле Content-type в ответах системы
любое удобное для Вас значение.
-
Большая часть функций доступна и обычным пользователям!
Вам необязательно быть партнёром!
Презентация по преимуществам API 2.0.
2. Общее описание Reg.API 2.0
2.1. Общий принцип взаимодействия
Транспортным протоколом для вызова функций REG.API является
HTTP (HTTPS).
В REG.API поддерживаются как GET, так и POST запросы.
Однако рекомендуемым является метод POST, т.к. он не имеет ограничений на длину запроса.
Каждый вызов является атомарным и синхронным, то есть все запросы независимы друг от друга.
Также все операции являются синхронными:
результат операции возвращается сразу же, нет промежуточных состояний при выполнении операции.
Выбор в пользу такого способа взаимодействия был сделан для удобства подключения к REG.API со стороны клиентов.
2.2. Формат запроса
URL для вызова функций выглядит следующим образом:
https://api.reg.ru/api/regru2/<имя_категории_функции>/<имя_функции>[?<HTTP_параметры_для_запросов_GET>]
Таким образом, для каждой функции имеем собственный URL для её вызова
(в API 1.0 URL для всех функций был одинаковым, а вызываемая функция
идентифицировалась с помощью параметра action).
Практически все функции требуют дополнительных параметров для своего вызова.
2.2.1. Виды входных параметров
Передаваемые параметры можно разделить на несколько категорий:
- параметры аутентификации;
- параметры идентификации услуги;
- параметры управления работой API;
- параметры, специфичные для конкретной функции.
Из перечисленных четырех видов входных параметров обязательными
практически для всех функций являются параметры аутентификации.
Конкретный набор необходимых параметров варьируется от функции к функции
и документирован в описании конкретных функций.
2.2.2. Передача входных параметров
Все дополнительные параметры, если они есть, можно передавать в виде
стандартных HTTP-параметров GET или POST, где передаваемые данные кодируются
как x-www-form-urlencoded.
Пример передачи параметров через GET запрос:
https://api.reg.ru/api/regru2/nop?username=test&password=test&output_content_type=plain
Параметры функции также можно передавать в форматах JSON или XML
В этом случае все параметры, сериализованные в строку,
передаются как один HTTP-параметр через поле input_data.
Пример передачи сериализованных параметров через запрос GET:
https://api.reg.ru/api/regru2/nop?input_format=json&input_data=%7B%22username%22%3A%22test%22%2C%22password%22%3A%22test%22%2C%22output_content_type%22%3A%22plain%22%7D
Пример вызова со сложной структурой можно посмотреть, например, в описании функции
set_rereg_bids.
При необходимости передачи сложных структур данных
использование JSON и XML — единственный способ их передать.
2.2.3. Форматы входных параметров
Передача данных возможна в нескольких форматах: как простые параметры HTTP-запроса (GET/POST),
который далее условно будет называться «PLAIN», так и JSON и XML.
Для наглядности их лучше рассмотреть на примерах передачи данных с ответом в JSON и выводом всех полученных данных,
дополнительно указав для этого входной параметр show_input_params=1.
Чтобы показать возможность передачи списка данных,
в запрос добавлен список leftdata, не несущий никакой функциональности.
2.2.3.1. Формат «PLAIN» (простые параметры HTTP)
- Поля input_format и input_data
- отсутствуют
- Пример запроса:
-
https://api.reg.ru/api/regru2/domain/nop?username=test&password=test&output_content_type=plain&show_input_params=1&domain_name=qqq.ru&leftdata=1&leftdata=2&leftdata=3
- Пример успешного ответа:
-
{
"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"
}
2.2.3.2. Формат JSON
- Значение поля input_format
- json
- Пример запроса:
-
https://api.reg.ru/api/regru2/domain/nop?username=test&password=test&input_format=json&input_data={"output_content_type":"plain","show_input_params":1,"domain_name":"qqq.ru","leftdata":[1,2,3]}
- Пример успешного ответа:
-
{
"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"
}
2.2.3.3. Формат XML
- Значение поля input_format
- xml
- Пример запроса:
-
https://api.reg.ru/api/regru2/domain/nop/username=test&password=test&input_format=xml&input_data=<opt domain_name="regrutestuser.ru" output_content_type="plain" show_input_params="1"><leftdata>1</leftdata><leftdata>2</leftdata><leftdata>3</leftdata></opt>
- Пример успешного ответа:
-
{
"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"
}
2.2.4. Общие входные параметры
Конкретный набор необходимых параметеров варьируется от функции к функции,
однако часть параметров применима ко всем или к большинству функций.
Эти параметры описаны в данном разделе.
2.2.4.1. Параметры для аутентификации
Эти параметры являются необходимыми для функций, требующих аутентификации.
Это поля username + password
либо
username + signature
(выбор варианта зависит от используемого способа авторизации).
| Параметр |
Описание |
| Аутентификация по паролю |
| username |
Имя пользователя (login) в системе RegRuSRS. |
| password |
Основной пароль пользователя в системе регистрации REG.RU, либо альтернативный пароль для API,
который задаётся на странице «Настройки Партнёра».
|
| Аутентификация по сигнатуре |
| username |
Имя пользователя (login) в системе RegRuSRS. |
| signature |
Строка, вычисляемая на основе пароля и передаваемых данных.
Используется для того, чтобы не передавать пароль в явном виде при работе через API.
См. Способ формирования подписи.
|
2.2.4.2. Параметры для управления работой API
К дополнительным параметрам можно отнести общие параметры управления работой API
и параметры идентификации услуги.
К общим параметрам управления работой API относятся
функции управления форматом входных и выходных параметров функции,
выбора рабочей кодировки и языка.
| Параметр |
Описание |
Значение по умолчанию |
| io_encoding |
Параметр позволяет явно (вместо стандартной utf8) указать кодировку,
используемую для обмена данными (в данный момент поддерживаются cp1251, koi8-r, koi8-u, cp866).
|
utf8 |
| Управление входными данными |
| input_format |
Формат данных, передаваемый при вызове функции API. Сами данные при этом передаются с полем input_data.
На данный момент обрабатываются значения json и xml,
любое другое приравнивается к значению по умолчанию, plain, и разбор данных не производится.
|
plain |
| input_data |
Данные в формате, указанном в input_format.
При этом данные аутентификации (username + password/signature) не должны передаваться внутри input_data.
|
— |
| Управление выходными данными |
| output_format |
Параметр позволяет задать формат ответов системы —
«json» (по умолчанию),
«yaml»,
«xml» или
«plain» (формат Reg.API 1.0).
В отношении YAML надо отметить, что данные отдаются закодированными в Base64.
|
json |
| view |
Синоним для output_format. Устарело. |
json |
| output_content_type |
Возможность задать content type, не изменяя формата ответа, для text/plain достаточно указать plain.
|
Зависит от значения поля output_format.
|
| lang |
Язык текста ошибки error_text, сейчас доступны русский и английский: ru, en.
При этом код ошибки error_code остаётся неизменным. По умолчанию текст ошибок: английский.
|
en |
| show_input_params |
Возвращает все входные поля как хеш параметра input_params, при этом если входные данные были в json или xml формате,
то данные отображаются после обработки json- или xml-парсером.
Т.е. если указать input_format=json и output_format=xml, то для input_params будет сделано преобразование из JSON в XML.
|
0 |
2.2.4.3. Параметры для идентификации услуги
Параметры идентификации услуги требуются при выполнении операций над конкретной
ранее заказанной услугой, когда её надо сначала идентифицировать.
Возможны следующие варианты идентификации:
- по ID услуги (как для доменов так и для услуг),
- по имени домена (для доменов),
- по имени домена и типу услуги (для услуг),
- по ID родительской услуги, типу услуги и подтипу услуги (для услуг).
Наиболее точной и быстрой является идентификация по числовому идентификатору
услуги, поэтому мы рекомендуем хранить на своей стороне и использовать
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.
|
2.2.4.4. Параметры для идентификации списка услуг
В общем виде input_data в формате JSON для такого запроса выглядит так:
input_data={"services":[{"параметр_идентификации_услуги_1":"значение",...},{"параметр_идентификации_услуги_2":"значение",...}]}
Ответ при запросе со списком услуг будет так же содержать список и для каждой
услуги будет указан результат в поле 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"
}
Ниже, при детальном описании каждой функции, будет указана поддержка обработки списка услуг
2.2.4.5. Параметры для идентификации папки
В данном разделе описаны способы идентификации папок.
Наиболее точной и быстрой идентификацией папок является идентификация по
числовому идентификатору папки folder_id,
поэтому мы рекомендуем хранить на своей стороне и использовать ID папки
и при вызовах передавать числовой идентификатор папки.
| Параметр |
Описание |
| folder_id |
Числовой идентификатор папки (рекомендуется).
|
| folder_name |
Имя папки.
|
2.2.4.6. Параметры оплаты
В данном разделе описаны общие параметры для функций, связанных заказом или продлением услуг,
т. е. функций, которые задействуют оплату.
| Параметр |
Описание |
| point_of_sale |
Любая строка, идентифицирующая систему / интернет-сайт, через который покупателем сделан заказ на данный домен.
Необязательное поле. Пример: "regpanel.ru".
|
| pay_type |
Способ оплаты счёта. На данный момент доступные такие варианты оплаты:
(WM, bank, pbank, prepay, yamoney, rapida,
moneymail, robox, assist, paymer, cash, chronopay)
Значение по умолчанию: prepay.
Заметьте, что автоматически счёт может быть оплачен только при выборе способа оплаты prepay
и наличии достаточного количества средств на лицевом счёте.
В противном случае заявка будет помечена как неоплаченная и Вам нужно убдет вручную
оплачивать её из «Личного кабинета».
|
| ok_if_no_money |
Разрешает создавать счет, если денег для оплаты недостаточно.
В этом случае заявка в системе создаётся, однако эта заявка будет исполнена
только после выполнения операции «сменить способ оплаты счёта»
через web-интерфейс системы.
Если флаг не установлен и денег на счету недостаточно - возвращается ошибка и
заявка не создается.
|
2.3. Формат ответа
2.3.1. Передача выходных параметров
Все функции могут возвращать ответы в форматах JSON, YAML, XML и plain text.
По умолчанию используется JSON.
Выходной формат передачи данных переключается с помощью опции
output_format.
Некоторые функции имеют дополнительные форматы вывода, помимо перечисленных.
Например, функция get_rereg_data может
отдавать данные в CSV формате.
2.3.1.1. Формат JSON
- Значение поля output_format
- json
- Примеры запросов:
-
- Пример ответа с возвратом ошибки:
-
{
"error_text" : "No username given",
"result" : "error",
"error_code" : "NO_USERNAME"
}
2.3.1.2. Формат YAML
- Значение поля output_format
- yaml
- Пример запроса:
-
- Пример ответа с возвратом ошибки:
-
---
error_code: NO_USERNAME
error_text: No username given
result: error
2.3.1.3. Формат XML
- Значение поля output_format
- yaml
- Пример запроса:
-
- Пример ответа с возвратом ошибки:
-
<opt error_code="NO_USERNAME" error_text="No username given" result="error" />
2.3.1.4. Формат «PLAIN»
В данном формате ответ возвращается в упрощённом виде: не возвращаются
сложные / вложенные структуры данных. В связи с данным ограничением не рекомендуется
использовать этот формат.
- Значение поля output_format
- yaml
- Примеры запроса:
-
- Пример ответа:
-
error; NO_USERNAME; No username given
2.3.2. Общие выходные параметры
Все ответы 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'
}
2.3.3. Общие коды ошибок
| 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 |
Валюта не поддерживается в системе |
2.4. Аутентификация
Для доступа к б
ольшей части API функций требуется проведение аутентификации.
Возможны следующие способы:
- По логину и паролю.
- По сигнатуре.
2.4.1. Аутентификация по паролю
Для доступа по логину/паролу оба поля передаются в явном виде как значения для
username, password:
Вследствие того что в этом способе аутентификации логин и пароль передаются в явном виде, лучше избегать им пользоваться,
особенно при использовании HTTP-протокола, т.к. в этом случае пароль легко может быть перехвачен.
Список полей с описанием, используемых для аутентификации, перечислен в разделе
«Параметры для аутентификации».
2.4.2. Аутентификация по сигнатуре
Список полей с описанием, используемых для аутентификации, перечислен в разделе
«Параметры для аутентификации».
При аутентификации по сигнатуре в явном виде передается только username,
а signature вычисляется для каждого уникального вызова
(при этом поле password не используется!).
Значение поля signature формируется следующим образом:
secretkey_hash = SHA1_HEX( secretkey )
message_digest = "action_name:value1:value2:value2:value3:secretkey_hash"
signature = SHA1_HEX( message_digest )
Функции и значения переменных, участвующих в формуле:
- SHA1_HEX
-
Хеш-функция SHA1, выдающая результат в шестнадцатеричном представлении.
- secretkey_hash
-
Захешированный пароль / секретный ключ.
- message_digest
-
Строка, содержащая дайджест сообщения — имя выполняемой функции +
значения полей запроса, исключая поле signature.
Поля разделены двоеточием.
- secretkey
-
Строка с «секретным включом» пользователя (основной пароль
пользователя в системе либо специальный пароль пользователя для API,
если он задан)
- action_name
-
Имя выполняемой API2-функции. Например, «nop», «service/nop» или «domain/nop».
- value1, value2 ... valueX
-
Значение полей запроса, отсортированных по имени.
Пример задания значения полей запроса (на языке Perl):
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:
https://api.reg.ru/api/regru2/nop?input_format=json&input_data={%22username%22%3A%22test%22%2C%22testparamname%22%3A%22quantum_dive%22%2C%22signature%22%3A%22test%22%2C%22output_content_type%22%3A%22plain%22}&_return_string_to_sign=1&show_input_params=1
Внимание: для запросов в форматах JSON и XML при наличии вложенных структур
данных значение сигнатуры неопределено, т. к. отсутствует алгоритм обхода вложенных структур данных,
поэтому при наличии вложенных структур данных в запросе лучше воспользоваться
аутентификацией по паролю.
Возможные ошибки аутентификации см. в стандартных кодах ошибок
2.5. Тестовый и рабочий (боевой) доступ к Reg.API
Для отладки работы с API предусмотрен тестовый доступ; для этого имя пользователя и пароль должны иметь значение "test".
При таком режиме работы осуществляются все проверки входных параметров, выдаётся ответ,
но никаких действий не производится, и деньги за операции не снимаются.
При вызове функций в тестовом режиме никаких реальных данных о доменах не возвращается.
Также для отладочных целей есть несколько специализированных функций, которые предназначены
для вызовов под реальными идентификационными данными. Это nop, reseller_nop, user/nop, domain/nop, service/nop.
Они не выполняют никаких действий, но позволяют проверить доступность системы без её дополнительной нагрузки и,
соответственно, с минимальным временем отклика.
Ниже каждая из этих функций описана подробнее.
3. Общее описание функций
3.1. Виды функций
Все функции API в данный момент делятся на пять видов:
- Пользовательские функции (им соответствует относительный путь user/) предназначены для получения данных,
тем или иным образом связанных с конкретным пользователем (запросы баланса, статистики регистраций и проч.).
- Функции работы с доменами (им соответствует относительный путь domain/)
позволяют производить различные манипуляции с доменами.
- Функции работы с услугами (им соответствует относительный путь service/)
содержат всё необходимое для осуществления операция с услугами.
- Функции работы с папками (им соответствует относительный путь folder/)
позволяют группировать домены и услуги по собственным критериям.
- Несколько отладочных функций вне категорий.
В зависимости от того, какая функция Вам нужна, требуется указывать различные адреса. Общий вид адреса такой:
https://api.reg.ru/api/regru2/<имя_категории>/
где имя_категории может принимать значения
user, domain, service, folder.
3.1.1. Доступность функций
Все функции Reg.API условно можно разделить на три категории по доступности.
Первая категория — это общедоступные функции, при вызове которых не требуется указывать username.
Как правило, это функции получения общих сведений, которые не зависят от того, кто их вызвал.
В нижеприведенной таблице у таких функций графа "доступность" имеет значение "все".
Другая категория — это функции требующие аутентификации, но доступные для всех клиентов,
зарегистрировавшихся
на нашем сайте.
Третья категория ограничена клиентами, заключившими с нами партнёрское соглашение.
3.1.2. Список функций
Здесь приведен перечень доступных функций с кратким описанием и указанием их
доступности.
Полное, детальное описание каждой функции с примерами использования см. ниже.
4. Функции общего назначения
4.1. Функция: nop
- Назначение:
- для тестирования, здесь — ничегонеделание + получение логина и идентификатора залогиненого пользователя
- Доступность:
- клиенты
- Поля запроса:
- нет
- Поддержка обработки списка услуг
- нет
- Поля ответа:
-
| Поле |
Описание |
| 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тандартные коды ошибок
4.2. Функция: reseller_nop
- Назначение:
- полностью аналогична функции nop за исключением двух следующих пунктов
- Доступность:
- партнёры
- Режим доступа:
- только защищённый HTTPS
- Поля запроса:
- нет
- Поддержка обработки списка услуг
- нет
- Поля ответа:
-
| Поле |
Описание |
| 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'
}
4.3. Функция: get_service_id
- Назначение:
- получение id домена или услуги
- Доступность:
- клиенты
- Поля запроса:
- стандартные параметры идентификации сервисов
- Поддержка обработки списка услуг
- нет
- Поля ответа:
-
| Поле |
Описание |
| service_id |
идентификатор домена или услуги |
- Пример запроса:
- Пример успешного ответа:
-
{
answer => {
service_id => '123456',
},
result => 'success'
}
- Возможные ошибки:
- см. Cтандартные коды ошибок
5. Функции для работы c учётной записью (категория user)
5.1. Функция: user/nop
- Назначение:
- для тестирования доступности
- Доступность:
- все
- Параметры:
- нет
- Поля запроса:
- нет
- Поддержка обработки списка услуг
- нет
- Поля ответа:
- нет
- Пример запроса:
- Пример успешного ответа:
-
{
result => 'success'
}
- Возможные ошибки:
- См. Стандартные коды ошибок
5.2. Функция: user/get_statistics
- Назначение:
- получение статистики по пользователю
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6. Функции для работы с доменами (категория domain)
6.1. Функция: domain/nop
- Назначение:
-
для тестирования, также позволяет проверить доступность домена и получить его id,
если передать username+password+dname
- Доступность:
- все
- Поля запроса:
- отсутствуют или стандартные параметры идентификации доменов
- Поддержка обработки списка услуг
- нет
- Поля ответа:
-
| Поле |
Описание |
| service_id |
идентификатор домена, присутствует только при передаче имени домена в поле domain_name/dname |
- Примеры запросов:
-
проверка доступности API
проверка существования домена с получением его id
- Пример успешного ответа:
-
{
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.2. Функция: domain/get_prices
- Назначение:
-
Получение цен на регистрацию/продление доменов во всех доступных зонах.
- Доступность:
- все
- Поля запроса:
-
| Поле |
Описание |
| Параметры для аутентификации |
используйте аутентификацию для получения партнерских цен. |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.3. Функция: domain/get_suggest
- Назначение:
-
подбор имени для домена на основе переданного имени, функция работает подобного
Reg Choice блоку на странице Whois
- Доступность:
- партнёры
- Поля запроса:
-
domain_name - имя домена, на основе которого будут подбираться остальные
(если имя передаваемое имя домена очень динное или имеет другие особенности, используйте post-запрос)
- Поддержка обработки списка услуг
- нет
- Поля ответа:
-
| Поле |
Описание |
| domains |
массив со списком вариантов имён доменов |
- Пример запроса:
-
- Пример успешного ответа:
-
{
answer => {
domains => [
'test1.ru',
'test2.ru',
'test3.ru',
'test4.ru',
'test5.ru'
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.4. Функция: domain/check
- Назначение:
- проверка доступности регистрации домена
- Доступность:
- партнёры
- Поля запроса:
-
| Поле |
Описание |
| domain_name |
Имя домена, поле не совместимо со спиcком domains. |
| domains |
Массив со списком вариантов имён доменов, каждый элемент массива является хешем с ключём dname или domain_name.
Используется только в случае запроса в форматах JSON, XML.
|
| is_transfer |
При значении 1 делается проверка на возможность переноса домена в REG.RU,
при нулевом значении — обычная проверка на возможность регистрации, по умолчанию — 0
|
| subtype |
Тип регистрации. Опциональное поле. Возможное значение (кроме пустого значения по умолчанию):
«preorder» — предзаказ доменов .РФ.
|
- Поддержка обработки списка услуг
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
Массив со списком хешей, содержащий имена доменов dname и их доступность.
При положильном ответе поле result будет иметь значение Available.
|
- Пример запроса:
-
https://api.reg.ru/api/regru2/domain/check?username=test&password=test&input_format=json&input_data={"domains":[{"dname":"ya.ru"},{"dname":"yayayayayaya.ru"},{"dname":"xn--000.com"},{"dname":"china.cn"},{"dname":"ййй.me"},{"dname":"wwww.ww"},{"dname":"a.ru"},{"dname":"qqйй.com"}]}
- Пример успешного ответа:
-
{
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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.5. Функция: domain/create
- Назначение:
- подать заявку на регистрацию домена.
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Мин. длина |
Макс. длина |
Описание |
| domain_name |
зависят от зоны |
Имя регистрируемого домена. Допустимые символы (есть или нет IDN) и длинна поля зависят от доменной зоны.
Обязательное поле.
P.S. Возможность оптовой регистрации (большое количество доменов одной зоны) одним запросом для VIP-клиентов.
|
| period |
1 |
2 |
Период, на который производится регистрация домена, допустимые значения зависят от доменной зоны,
например, для .ru и .su только 1. Обязательное поле.
|
| enduser_ip |
11 |
15 |
IP-адрес конечного пользователя (пользователя, который сделал заказ).
Обязательное поле, по умолчанию подставляется IP-адрес клиента.
|
| 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 |
Комментарий. Необязательное поле. |
point_of_sale
pay_type
ok_if_no_money
|
— |
См. Общие параметры оплаты.
|
| subtype |
0 |
15 |
Тип регистрации. Опциональное поле. Возможное значение (кроме пустого значения по умолчанию):
«preorder» — предзаказ доменов .РФ.
|
Описание полей для работы с папками
Поля этой категории являются необязательными.
| Поле |
Описание |
| folder_name |
Папка, в которую будет добавлен домен. Если указано имя несуществующей папки и не установлен флаг
no_new_folder - папка будет создана.
|
| folder_id |
Числовой идентификатор папки, в которую будет добавлен домен.
|
| no_new_folder |
Не создавать папку если она не существует.
|
Описание полей контактных данных
Контактные данные для .ru/.su доменов.
Обратите внимание, что в этой операции допустимо использовать
один из двух взаимоисключающих наборов полей — данные организации
(если домен регистрируется на организацию), либо данные частного лица
(если домен регистрируется на частное лицо).
Также некоторые поля могут быть многострочными.
| Поле |
Мин. длина |
Макс. длина |
Описание |
| descr |
5 |
255 |
Описание домена. Заполняется по-английски. Необязательное поле.
|
|
Контактные данные организации (только при регистрации домена на организацию!)
|
| org |
6 |
255 много- строчное |
Полное наименование организации-администратора домена латинскими
буквами, предназначенное для использования услугой 'whois'. Запись
может быть многострочной.
Пример1: Karla-Marla Uryupinsk State University
Пример2: "ROGA I KOPYTA", LTD.
|
| org_r |
10 |
255 много- строчное |
Полное наименование организации-администратора домена на русском языке
в соответствии с учредительными документами. Для нерезидентов
указывается написание на национальном языке (либо на
английском языке). Запись может быть многострочной.
Пример1: Урюпинский государственный университет\nимени Карлы-Марлы
Пример2: Общество с ограниченной ответственностью "Рога и Копыта"
|
| code |
10 |
10 |
Идентификационный номер налогоплательщика (ИНН), присвоенный
организации-администратору. Запись может содержать пустую строку, если
администратором является нерезидент РФ, не имеющий идентификационного
номера налогоплательщика.
Пример: 7701107259
|
| kpp |
9 |
9 |
КПП организации (для Российских организаций). Необязательное поле.
Пример: 632946014
|
| country |
2 |
2 |
Двухбуквенный ISO-код страны, в которой зарегистрирована организация.
Пример: RU
|
| address_r |
15 |
255 много- строчное |
Юридический адрес организации в соответствии с учредительными
документами. Запись может быть многострочной.
Пример: 101000, Москва, ул.Пупкина, 1, стр. 2
|
| p_addr |
15 |
255 много- строчное |
Почтовый адрес организации - администратора домена.
Запись может быть многострочной.
Пример: 101000, Москва, ул.Пупкина, 1, стр. 2, отдел мебели,\n
офис 433 (для В. Лоханкина)
|
| phone |
8 |
255 много- строчное |
Номер телефона администратора домена. Телефон указывается с
международным кодом (включая символ +); международный код, код
города и местный номер разделяются пробелами. Скобки и дефисы не
допускаются. Запись может быть многострочной.
Пример: +7 495 8102233\n+7 3432 811221
|
| fax |
8 |
255 много- строчное |
Номер телефакса администратора домена. Номер телефакса указывается
с международным кодом (включая символ +); международный код, код
города и местный номер разделяются пробелами. Скобки и тире не
допускаются. Запись может быть многострочной. Запись не является обязательной.
Пример: +7 3432 811221\n+7 495 8102233
|
| e_mail |
6 |
255 много- строчное |
Адрес электронной почты администратора домена в формате RFC-822.
Запись может быть многострочной.
Пример: ncc@test.ru\ntest@test.ru
|
|
Контактные данные частного лица (только при регистрации домена на частное лицо!)
|
| person |
8 |
64 |
Имя, первая буква отчества (без точки) и фамилия администратора домена,
записанные латинскими буквами. Предназначено для использования услугой
'whois'. Для иностранцев поле содержит имя в оригинальном написании
(или в английской транскрипции).
Пример: Vassily N Pupkin
|
| person_r |
9 |
64 |
Фамилия, имя и отчество администратора домена на русском языке в
соответствии с паспортными данными. Для иностранцев поле содержит имя в
оригинальном написании (при невозможности в английской транскрипции).
Пример1: Пупкин Василий Николаевич
Пример2: John Smith
|
| private_person_flag |
1 |
1 |
Активация услуги Private Person |
| passport |
20 |
255 много- строчное |
Серия и номер паспорта, а также наименование органа, выдавшего паспорт,
и дата выдачи (в указанной последовательности, с разделением пробелами).
В написании римских цифр допустимо использование только латинских букв.
Дата записывается в формате ДД.ММ.ГГГГ.
Знак номера перед номером паспорта не ставится.
Паспорта СССР (паспорта старого образца) не принимаются.
В случае использования документа, отличного от паспорта
(допустимо ТОЛЬКО для нерезидентов России), в начале строки указывается
наименование вида документа. Запись может быть многострочной.
Пример: 34 02 651241 выдан 48 о/м г.Москвы 26.12.1990
|
| birth_date |
10 |
10 |
Дата рождения администратора домена в формате ДД.ММ.ГГГГ.
Пример: 07.11.1917
|
| country |
2 |
2 |
Двухбуквенный ISO-код страны, гражданином которой является частное лицо.
Пример: RU
|
| p_addr |
15 |
255 много- строчное |
Почтовый адрес администратора домена на русском языке. (Адрес может
не совпадать с указанным в паспорте местом регистрации.)
Запись может быть многострочной.
Пример: 101000, Москва, ул.Воробьянинова, 15,\n кв.22, В. Лоханкину.
|
| phone |
8 |
255 много- строчное |
Номер телефона администратора домена. Телефон указывается с
международным кодом (включая символ +); международный код, код
города и местный номер разделяются пробелами. Скобки и дефисы не
допускаются. Запись может быть многострочной.
Пример: +7 495 8102233\n+7 3432 811221
|
| fax |
8 |
255 много- строчное |
Номер телефакса администратора домена. Номер телефакса указывается
с международным кодом (включая символ +); международный код, код
города и местный номер разделяются пробелами. Скобки и тире не
допускаются. Запись может быть многострочной. Запись не является обязательной.
Пример: +7 3432 811221\n+7 495 8102233
|
| e_mail |
6 |
255 много- строчное |
Адрес электронной почты администратора домена в формате RFC-822.
Запись может быть многострочной.
Пример: ncc@test.ru\ntest@test.ru
|
| code |
12 |
12 |
Идентификационный номер налогоплательщика (ИНН), присвоенный
администратору домена. Параметр указывается только в том случае, если
администратор выступает как индивидуальный предприниматель.
Пример: 789012345678
|
Контактные данные для доменной зоны .tj
На данный момент все контактные данные должны заполняться латинскими буквами.
| Поле |
Мин. длина |
Макс. длина |
Описание |
|
Данные владельца домена
|
| 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-код страны владельца домена.
Список кодов всех стран можно найти
здесь
|
|
Данные администратора домена
|
| 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-код страны администратора домена.
Список кодов всех стран можно найти
здесь
|
|
Данные технического администратора домена
|
| 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
На данный момент все контактные данные должны заполняться латинскими буквами.
Для доменных зон com.ua, kiev.ua используется только два вида контактов: административный и технический.
Изменение контактных данных после регистрации домена невозможно.
| Поле |
Мин. длина |
Макс. длина |
Описание |
|
Данные администратора домена
|
| a_company |
5 |
80 |
Название организации - владельца домена.
|
| a_first_name |
2 |
40 |
Имя контактного лица |
| a_last_name |
2 |
40 |
Фамилия контактного лица |
| a_email |
6 |
80 |
Контактный email-адрес владельца домена. |
| a_phone |
8 |
20 |
Номер телефона контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| a_fax |
8 |
20 |
Номер телефакса контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| a_addr |
8 |
80 |
Адрес контактного лица: улица, дом, офис (квартира)
|
| a_city |
2 |
80 |
Адрес контактного лица: город
|
| a_state |
2 |
40 |
Адрес контактного лица: область/край/штат
|
| a_postcode |
3 |
10 |
Почтовый индекс контактного лица
|
| a_country_code |
2 |
2 |
Двухбуквенный ISO-код страны контактного лица.
Список всех кодов стран можно найти
тут
|
|
Данные техподдержки домена
|
| t_company |
5 |
80 |
Организация, осуществляющая техподдержку домена.
|
| t_first_name |
2 |
40 |
Имя контактного лица |
| t_last_name |
2 |
40 |
Фамилия контактного лица |
| t_email |
6 |
80 |
Контактный email-адрес контактного лица. |
| t_phone |
8 |
20 |
Номер телефона контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| t_fax |
8 |
20 |
Номер телефакса контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| t_addr |
8 |
80 |
Адрес контактного лица: улица, дом, офис (квартира)
|
| t_city |
2 |
80 |
Адрес контактного лица: город
|
| t_state |
2 |
40 |
Адрес контактного лица: область/край/штат
|
| t_postcode |
3 |
10 |
Почтовый индекс контактного лица
|
| t_country_code |
2 |
2 |
Двухбуквенный ISO-код страны контактного лица.
Список всех кодов стран можно найти
тут
|
Регистрация доменов в зоне pp.ua
На данный момент все контактные данные должны заполняться латинскими буквами.
При регистрации домена в зоне pp.ua в контактных данных владельца домена необходимо указывать номер мобильного телефона.
После регистрации домена на этот номер будет отправлено SMS с кодом активации домена,
который вместе с именем домена нужно ввести здесь:
http://www.pp.ua/rus/confirm.html.
Допускается регистрировать не более трёх доменов в месяц на один мобильный телефон.
Подробнее с правилами домена pp.ua можно ознакомиться здесь.
Остальные правила регистрации доменов в зоне pp.ua соответствуют правилам регистрации доменов в других зонах.
Регистрация доменов в других зонах
| Поле |
Мин. длина |
Макс. длина |
Описание |
|
Данные владельца домена
|
| o_company |
5 |
80 |
Название организации - владельца домена.
|
| o_first_name |
2 |
40 |
Имя контактного лица |
| o_last_name |
2 |
40 |
Фамилия контактного лица |
| o_email |
6 |
90 |
Контактный email-адрес владельца домена. |
| o_phone |
8 |
20 |
Номер телефона владельца домена. Телефон указывается в международном формате.
(Пример: +7.4952171179).
|
| o_fax |
8 |
20 |
Номер факса владельца домена. Номер указывается в международном формате. Необязательное поле.
(Пример: +7.4952171179).
|
| o_addr |
8 |
80 |
Адрес владельца домена: улица, дом, офис (квартира)
|
| o_city |
2 |
80 |
Адрес владельца домена: город
|
| o_state |
2 |
40 |
Адрес владельца домена: область/край/штат
|
| o_postcode |
3 |
10 |
Почтовый индекс владельца домена
|
| o_country_code |
2 |
2 |
Двухбуквенный ISO-код страны владельца домена.
Некоторые доменные зоны допускают указание только стран официально подпадающих под эту зону.
Например, для .eu допустимо указывать только страны входящие в EC.
Список кодов всех стран можно найти
здесь
|
|
Данные администратора домена
|
| a_company |
5 |
80 |
Название организации - владельца домена.
|
| a_first_name |
2 |
40 |
Имя контактного лица |
| a_last_name |
2 |
40 |
Фамилия контактного лица |
| a_email |
6 |
80 |
Контактный email-адрес владельца домена. |
| a_phone |
8 |
20 |
Номер телефона контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| a_fax |
8 |
20 |
Номер телефакса контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| a_addr |
8 |
80 |
Адрес контактного лица: улица, дом, офис (квартира)
|
| a_city |
2 |
80 |
Адрес контактного лица: город
|
| a_state |
2 |
40 |
Адрес контактного лица: область/край/штат
|
| a_postcode |
3 |
10 |
Почтовый индекс контактного лица
|
| a_country_code |
2 |
2 |
Двухбуквенный ISO-код страны контактного лица.
Список всех кодов стран можно найти
тут
|
|
Данные техподдержки домена
|
| t_company |
5 |
80 |
Организация, осуществляющая техподдержку домена.
|
| t_first_name |
2 |
40 |
Имя контактного лица |
| t_last_name |
2 |
40 |
Фамилия контактного лица |
| t_email |
6 |
80 |
Контактный email-адрес контактного лица. |
| t_phone |
8 |
20 |
Номер телефона контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| t_fax |
8 |
20 |
Номер телефакса контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| t_addr |
8 |
80 |
Адрес контактного лица: улица, дом, офис (квартира)
|
| t_city |
2 |
80 |
Адрес контактного лица: город
|
| t_state |
2 |
40 |
Адрес контактного лица: область/край/штат
|
| t_postcode |
3 |
10 |
Почтовый индекс контактного лица
|
| t_country_code |
2 |
2 |
Двухбуквенный ISO-код страны контактного лица.
Список всех кодов стран можно найти
тут
|
|
Биллинговые контакты домена
|
| b_company |
5 |
80 |
Организация.
|
| b_first_name |
2 |
40 |
Имя контактного лица |
| b_last_name |
2 |
40 |
Фамилия контактного лица |
| b_email |
6 |
80 |
Контактный email-адрес контактного лица. |
| b_phone |
8 |
20 |
Номер телефона контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| b_fax |
8 |
20 |
Номер телефакса контактного лица. Телефон указывается с
международном формате.
(Пример: +7.4952171179).
|
| b_addr |
8 |
80 |
Адрес контактного лица: улица, дом, офис (квартира)
|
| b_city |
2 |
80 |
Адрес контактного лица: город
|
| b_state |
2 |
40 |
Адрес контактного лица: область/край/штат
|
| b_postcode |
3 |
10 |
Почтовый индекс контактного лица
|
| b_country_code |
2 |
2 |
Двухбуквенный ISO-код страны контактного лица.
Список всех кодов стран можно найти
тут
|
|
Дополнительные данные для доменов в зон .COM, .NET, .ORG, .BIZ, .NAME, .INFO, .MOBI, .UK, .CC, .TV, .WS, .BZ, .ME
|
| private_person_flag |
1 |
1 |
Активация услуги Privacy Protection |
|
Дополнительные данные для доменов в зоне .US
|
| RselnexusAppPurpose |
2 |
2 |
Сфера использования домена
Возможные значения:
P1 - Бизнес, для получения прибыли
P2 - Бизнес, не для получением прибыли
P3 - Для персонального использования
P4 - Для образовательных целей
P5 - Для государственных целей
|
| RselnexusCategory |
3 |
3 |
Владелец домена:
Возможные значения:
C11 - Физическое лицо - Гражданин США
C12 - Физическое лицо - постоянный резидент США или любой из его территорий
C21 - Юридическое лицо или организация, инкорпорированная в одном из 50-ти штатов США
C31 - Юридическое лицо или организация, которую регулярно ведет законную деятельность в США
C32 - Юридическое лицо или организация, которая имеет офис или другое имущество в США
|
Описание DNS-серверов домена
Для регистрации домена должно быть указано не менее двух серверов.
В случае указания NS-серверов на базе одного из заказываемых доменов, обязателельно должны быть
указаны IP-адреса этих NS-серверов.
| Имя поля |
Мин. длина |
Макс. длина |
Описание поля |
| ns0 |
6 |
80 |
Имя хоста первого DNS-сервера. |
| ns1 |
6 |
80 |
Имя хоста второго DNS-сервера. |
| ns2 |
6 |
80 |
Имя хоста третьего DNS-сервера. |
| ns3 |
6 |
80 |
Имя хоста четвертого DNS-сервера. |
| ns0ip |
8 |
15 |
IP-адрес первого DNS-сервера. Необязательное поле.
Используется, только если имя DNS-сервера содержит имя регистрируемого домена.
|
| ns1ip |
8 |
15 |
IP-адрес второго DNS-сервера. Необязательное поле.
Используется, только если имя DNS-сервера содержит имя регистрируемого домена.
|
| ns2ip |
8 |
15 |
IP-адрес третьего DNS-сервера. Необязательное поле.
Используется, только если имя DNS-сервера содержит имя регистрируемого домена.
|
| ns3ip |
8 |
15 |
IP-адрес четвертого DNS-сервера. Необязательное поле.
Используется, только если имя DNS-сервера содержит имя регистрируемого домена.
|
Примечание:
Для поддержки DNS могут быть бесплатно использованы сервера REG.RU.
Для этого в качестве DNS-серверов необходимо указать сервера
ns1.reg.ru и ns2.reg.ru.
При этом на данных серверах будет прописана зона для Вашего домена.
Управлять зоной впоследствии можно будет через web-интерфейс
портала reg.ru.
- Поддержка обработки списка услуг
- Только для VIP клиентов.
- Поля ответа:
-
| Поле |
Описание |
| 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 — такое доменное имя не доступно для регистрации.
|
- Примеры запросов:
-
пример заказа одного .ru домена, используя запрос в «PLAIN» формате:
Обратите внимание, что если Ваша библиотека/программа не делает полного автоматического преобразования данных, то «+» надо передавать как «%2B».
пример подобного запроса в JSON-формате,
для наглядности отправляемые данные сначала представлены ввиде структуры на Perl-e с преобразованием её в JSON-формат:
$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 );
и сам запрос:
https://api.reg.ru/api/regru2/domain/create?username=test&password=test&input_format=json&input_data={"contacts":{"country":"RU","e_mail":"test@test.ru","person_r":"Рюрик Святослав Владимирович","phone":"%2B7 495 1234567","birth_date":"01.01.1101","descr":"Vschizh site","person":"Svyatoslav V Ryurik","p_addr":"12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому","passport":"22 44 668800, выдан по месту правления 01.09.1164"},"domain_name":"vschizh.su","nss":{"ns0":"ns1.reg.ru","ns1":"ns2.reg.ru"}}
тоже самое, но предполагается что контактные данные храняться в профиле 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 );
и сам запрос:
- Примеры успешных ответов:
-
пример ответа на первый запрос (запрос в «PLAIN» формате):
{
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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.6. Функция: domain/get_rereg_data
- Назначение:
- получить список освобождающихся доменов с характеристиками
- Доступность:
- клиенты
- Поля запроса:
-
Особых полей нет, но эта функция, помимо стандартных форматов ответа,
может отдавать данные в CSV — output_format=csv
- Поддержка обработки списка услуг
- нет
- Поля ответа:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.7. Функция: domain/set_rereg_bids
- Назначение:
- сделать ставки на освобождающиеся домены, подробнее смотрите здесь
- Доступность:
- клиенты
- Поддержка обработки списка услуг
- да
- Поля запроса:
-
| Поле |
Описание |
| 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 — найдена такая же или большая ставка.
|
- Пример запроса:
-
пример отправляемых данных (структура на Perl-e) с преобразованием её в JSON-формат:
$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) и выводом ответа в консоль:
wget -O - https://api.reg.ru/api/regru2/domain/set_rereg_bids
--post-data='username=test&password=test&input_format=json&input_data={"contacts":{"country":"RU","e_mail":"test@test.ru","person_r":"Рюрик Святослав Владимирович","phone":"%2B7 495 1234567","birth_date":"01.01.1101","descr":"Vschizh site","person":"Svyatoslav V Ryurik","p_addr":"12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому","passport":"22 44 668800, выдан по месту правления 01.01.1164"},"domains":[{"dname":"vschizh.ru","price":225},{"dname":"vschizh.su","price":400}],"nss":{"ns0":"ns1.reg.ru","ns1":"ns2.reg.ru"}}'
Обратите внимание, что если Ваша библиотека/программа не делает полного автоматического преобразования данных, то «+» надо передавать как «%2B».
- Пример успешного ответа:
-
результат для приведенного выше запроса wget:
{
"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). |
Не определён тип контакта (физ.лицо или организация). |
А также Стандартные коды ошибок
6.8. Функция: domain/get_docs_upload_uri
- Назначение:
- получение ссылки на закачивание документов из интернета для .RU/.SU/.РФ доменов
- Доступность:
- клиенты
- Поля запроса:
- стандартные поля для идентификации домена
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
-
| Поле |
Описание |
| 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 загрузки документов. |
А также Стандартные коды ошибок
6.9. Функция: domain/update_contacts
- Назначение:
- Изменение контактных данных домена
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| 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 кодом ошибки |
- Примеры запросов:
-
Запрос с одним доменом
Запрос со списком доменов
https://api.reg.ru/api/regru2/domain/update_contacts?input_format=json&input_data={"username":"test","password":"test","contacts":{"country":"RU","e_mail":"test@test.ru","person_r":"Рюрик Святослав Владимирович","phone":"%2B7 495 1234567","birth_date":"01.01.1101","descr":"Vschizh site","person":"Svyatoslav V Ryurik","p_addr":"12345, г. Вщиж, ул. Княжеска, д.1, Рюрику Святославу Владимировичу, князю Вщижскому","passport":"22 44 668800, выдан по месту правления 01.01.1164"},"domains":[{"dname":"vschizh.ru"},{"dname":"vschizh.su"}]}
- Пример успешного ответа:
-
{
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 завершилось с ошибкой |
А также стандартные коды ошибок
6.10. Функция: domain/update_private_person_flag
- Назначение:
- Изменение флага Private Person скрытия/отображения части контактных данных в whois
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Допустимые значения |
Описание |
| 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'
}
- Возможные ошибки:
- Стандартные коды ошибок
6.11. Функция: domain/register_ns
- Назначение:
- внесение домена в NSI-registry, работает только для международных доменов
- Доступность:
- все
- Поля запроса:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.12. Функция: domain/delete_ns
- Назначение:
- удаление домена из NSI-registry, поддерживаются только для международные домены
- Доступность:
- все
- Поля запроса:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
6.13. Функция: domain/get_nss
- Назначение:
- Получения DNS для доменов
- Доступность:
- клиенты
- Поля запроса:
-
Cтандартные параметры идентификации услуги,
cтандартные параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
-
Cм. cтандартные коды ошибок
6.14. Функция: domain/update_nss
- Назначение:
-
Изменение DNS серверов домена,
установка/снятие делегирования домена (только для партнёров)
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| domain_name |
Имя домена |
| ns0...ns3 |
Имена DNS серверов в порядке убывания приоритета |
| ns0ip...ns3ip |
IP адреса DNS серверов. Необязательные поля. Используются только если имя DNS сервера содержит имя регистрируемого домена |
| nss |
Хеш, содержащий список NS-серверов и, если надо, IP адресов. В ключами хеша будут поля ns0...ns3 и ns0ip...ns3ip, описанные выше.
Только для запросов в JSON/XML формате
|
| undelegate |
Установка/снятие домена с делегирования.
0 - Делегировать, 1 - Снять делегирование
|
Так же см. параметры идентификации списка услуг.
Примечание:
Для поддержки DNS могут быть бесплатно использованы сервера REG.RU.
Для этого в качестве DNS-серверов необходимо указать сервера ns1.reg.ru и ns2.reg.ru.
В этом случае на серверах REG.RU будет прописана зона для Вашего домена.
Управлять зоной можно через web-интерфейс портала REG.RU или через API.
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов с параметрами dname и service_id, или error_code c кодом ошибки идентификации услуги |
- Примеры запросов:
-
Изменение DNS одного домена
Изменение DNS у списка доменов, один из которых содержит ошибку в названии (ответ для такого случая см. ниже)
Снятие домена с делегирования без передачи NS-серверов
- Примеры успешных ответ:
-
Один домен
{
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-серверов не нейден |
А также cм. Стандартные коды ошибок
6.15. Функция: domain/delegate
- Назначение:
- Установка флага делегирования домена
- Доступность:
- партнёры
- Поля запроса:
-
Cтандартные параметры идентификации услуги,
cтандартные параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
-
Cм. cтандартные коды ошибок
6.16. Функция: domain/undelegate
- Назначение:
- Снятие флага делегирования домена
- Доступность:
- партнёры
- Поля запроса:
-
Cтандартные параметры идентификации услуги,
cтандартные параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
-
Cм. cтандартные коды ошибок
7. Функции для управления DNS-зоной (категория zone)
7.1. Функция: zone/nop
- Назначение:
-
для тестирования, позволяет проверить доступность управления DNS-зоной доменов;
управление DNS-зоной возможно только если домену прописаны DNS сервера REG.RU
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов, где для доменов у которых можно управлять зоной поле result
будет иметь значение success, иначе — код ошибки указывающий причину
|
- Пример запроса:
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.2. Функция: zone/get_resource_records
- Назначение:
- получение ресурсных записей зоны для каждого домена
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.3. Функция: zone/add_alias
- Назначение:
- cвязать поддомен с IP-адресом
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| subdomain |
Имя поддомена, которому назначается IP-адрес.
Чтобы назначить IP-адрес самому домену, передайте значение '@',
чтобы назначить IP-адрес всем поддоменам, не обозначенным явно в других записях, передайте '*'.
|
| ipaddr |
IP-адрес, назначемый поддомену.
|
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Доменам test.ru и test.com надо назначить IP-адрес 111.111.111.111
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.4. Функция: zone/add_aaaa
- Назначение:
- cвязать поддомен с IPv6-адресом
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| subdomain |
Имя поддомена, которому назначается IPv6-адрес.
Чтобы назначить IP-адрес самому домену, передайте значение '@',
чтобы назначить IP-адрес всем поддоменам, не обозначенным явно в других записях, передайте '*'.
|
| ipaddr |
IPv6-адрес, назначемый поддомену.
|
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Доменам test.ru и test.com надо назначить IPv6-адрес aa11::a111:11aa:aaa1:aa1a
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.5. Функция: zone/add_cname
- Назначение:
- cвязать поддомен с адресом другого домена
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| subdomain |
Имя поддомена, которому назначается адрес |
| canonical_name |
Имя домена, которому назначаются синонимы |
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Домены 3-го уровня mail.test.ru и mail.test.com должны быть связаны с mx10.test.ru
- Пример успешного ответа:
-
{
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 уже есть другие данные |
Также см. Стандартные коды ошибок
7.6. Функция: zone/add_mx
- Назначение:
- указать почтовый сервер в виде доменного имени или IP-адреса, который будет принимать почту для вашего домена
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| subdomain |
Имя поддомена, которому назначается адрес, по умолчанию подразумевается сам домен, т.е. значение @ |
| priority |
приоритет почтового сервера, 0 — высший, 10 — минимальный, значение по умолчанию 0 |
| mail_server |
Имя домена или IP-адрес почтового сервера (желательно вводить имя домена, т.к. не все почтовые сервера могут понимать IP-адрес) |
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Назначить доменным зонам test.ru и test.com главными почтовые сервера mail.test.ru и mail.test.com
- Пример успешного ответа:
-
{
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 |
Также см. Стандартные коды ошибок
7.7. Функция: zone/add_ns
- Назначение:
- передать управление поддоменами на другие DNS-сервера
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| subdomain |
Имя поддомена, который будет управляться другими DNS-серверами |
| dns_server |
Доменное имя DNS-сервера |
| record_number |
Порядковый номер NS-записи, который будет определять относительное расположение NS-записей для поддомена |
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Передать управление доменным зонам tt.test.ru и tt.test.com на DNS-сервер ns1.test.ru
- Пример успешного ответа:
-
{
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-сервера |
Также см. Стандартные коды ошибок
7.8. Функция: zone/add_txt
- Назначение:
- добавить произвольную текстовую запись (TXT) для поддомена
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| subdomain |
Имя поддомена, для которого добавляется текстовая запись |
| text |
текст, допустимо использовать только алфавитноцифровые символы из набора ASCII |
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Добавить комментарии для mail.test.ru и mail.test.com
- Пример успешного ответа:
-
{
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 |
Превышен лимит длинны строки |
Также см. Стандартные коды ошибок
7.9. Функция: zone/add_srv
- Назначение:
- добавить сервисную запись
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| service |
сервис, который будет сопоставлен указанному серверу, например для назначения SIP серверу sip.test.ru по upd протоколу надо прописать _sip._udp |
| priority |
приоритет записи |
| weight |
нагрузка, которую могут обработать системы, необязательное поле, значение по умолчанию 0 |
| target |
сервер обслуживающий службу |
| port |
порт обслуживающий службу |
А также стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
Направить обслуживание SIP протокола для звонков на xxx@test.ru и xxx@test.com на сервер sip.test.ru по udp протоколу на 5060 порту
- Пример успешного ответа:
-
{
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 не определено или содержит нецифровые данные |
Также см. Стандартные коды ошибок
7.10. Функция: zone/remove_record
- Назначение:
- удалить ресурсную запись
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| 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'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.11. Функция: zone/update_records
- Назначение:
-
добавление и/или удаления нескольких ресурсных записей одним запросом,
порядок элементов в передаваемом массиве имеет значение т.к. одни записи могут быть зависимыми от других,
в случае возникновения ошибки в одной из записей из action_list, последующиее игнорируются.
- Доступность:
- партнёры
- Поля запроса:
-
| Поле |
Описание |
| 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 результатами выполнения запроса |
- Примеры запросов:
-
Указать адрес 11.22.33.44 домену www.test.ru и назначить ему синоним test.ru
Тоже самое, но в виде списка и в названии первого действия допущена ошибка.
- Примеры ответов:
-
Успешный ответ на первый запрос:
{
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 |
Действие ошибочно или не найдено |
Также см. Стандартные коды ошибок
7.12. Функция: zone/update_soa
- Назначение:
- изменить время жизни кеша для зоны
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| 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-записи |
Такжк см. Стандартные коды ошибок
7.13. Функция: zone/tune_forwarding
- Назначение:
- добавить ресурсные записи, необходимые для web-форвардинга
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.14. Функция: zone/clear_forwarding
- Назначение:
- удалить ресурсные записи, необходимые для web-форвардинга
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.15. Функция: zone/tune_parking
- Назначение:
- добавить ресурсные записи, необходимые для парковки домена
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.16. Функция: zone/clear_parking
- Назначение:
- удалить ресурсные записи, необходимые для парковки домена
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
7.17. Функция: zone/clear
- Назначение:
- удалить все ресурсные записи
- Доступность:
- клиенты
- Поля запроса:
-
См. стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| domains |
список доменов c результатами выполнения запроса |
- Пример запроса:
-
- Пример успешного ответа:
-
{
answer => {
domains => [
{
dname => 'test.ru',
service_id => 12345,
result => 'success'
},
{
dname => 'test.com',
service_id => 12346,
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8. Функции для работы с услугами (категория service)
8.1. Функция: service/nop
- Назначение:
- для тестирования, позволяет проверить доступность списка услуг и получить их id
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
параметры идентификации списка услуг
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| service_id |
идентификатор услуги, если переданы dname+servtype |
- Пример запроса:
- Пример успешного ответа:
-
{
answer => {
services => [
{
dname => 'test.ru',
service_id => 12345,
servtype => 'domain',
result => 'success'
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.2. Функция: service/get_servtype_details
- Назначение:
- Получение цены и общих данных для услуги.
- Доступность:
- Все.
- Поля запроса:
-
| Поле |
Описание |
| servtype |
Вид услуги:
srv_webfwd — «Web-форвардинг»,
srv_parking — «Парковка домена»,
srv_dns_both — «Поддержка DNS»,
srv_hosting_ispmgr — «Хостинг»,
srv_certificate — «Сертификат на домен».
|
| subtype |
Подтип услуги
|
| unroll_prices |
Показывать цены в развернутом виде |
Примечание:
Чтобы получить цены для нескольких видов услуг, можно указать их в поле servtype через запятую
или передать в запросе несколько полей servtype. В этом случае поле subtype игнорируется.
- Поля ответа:
-
Список подтипов услуги. Каждый элемент списка содержит поля:
| Поле |
Описание |
| servtype |
Вид услуги |
| subtype |
Подтип услуги |
| unit |
Единица измерения для периода "YEAR" или "MONTH" |
| extparams |
Дополнительные параметры |
| is_renewable |
1 - возможно продление
0 - услуга без продления
|
commonname, middlename,
title_new_rus, title_new_eng,
title_renew_rus, title_renew_eng
|
Различные форматы описания |
Дополнительные поля, при вызове функции с отсутствующим или нулевым параметром unroll_prices:
| Поле |
Описание |
| periods_new |
Диапазон возможных сроков регистрации |
| periods_renew |
Диапазон возможных сроков продления |
| price_new |
Цена заказа сервиса |
| price_renew |
Цена продления сервиса |
Дополнительные поля при вызове функции с параметром unroll_prices=1:
| Поле |
Описание |
| 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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.3. Функция: service/create
- Назначение:
- заказ новой услуги.
- Доступность:
- все пользователи
- Поля запроса:
-
| Параметр |
Описание |
| Общие |
| 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) |
| email |
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) |
| email |
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" при регистрации сервера на данные юридического лица. |
| email |
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'ом.
Поддерживаются следующие шаблоны ОС: - "debian-x86",
- "debian-x86_64",
- "centos-x86",
- "centos-x86_64".
|
| Дополнительный 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. |
Услуга уже заказана но еще не отработана. |
А также cм. Стандартные коды ошибок
8.4. Функция: service/get_info
- Назначение:
-
получить информацию о услугах
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуг,
стандартные параметры идентификации списка услуг, а также
| Поле |
Значения |
Описание |
| show_folders |
0 и 1 |
Дополнительно привести список папок, в которые входит услуга, по умолчанию — 0 |
- Поддержка обработки списка услуг:
- да
- Поля ответа:
-
| Поле |
Описание |
| services |
Список хешей параметров услуг. |
| subtype |
подтип услуги (для хостинга: идентификатор тарифного плана) |
| state |
состояние услуги, допустимые варианты:
- «N» – услуга неактивна (домен не зарегистрирован / не перенесён);
- «A» – услуга активна;
- «S» – услуга приостановлена;
- «D» – услуга удалёна;
- «O» – домен перенесён к другому регистратору.
|
| 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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.5. Функция: service/get_list
- Назначение:
-
получить список активных услуг
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| servtype |
Вид услуги:
domain — «Домен»,
srv_webfwd — «Web-форвардинг»,
srv_parking — «Парковка домена»,
srv_dns_both — «Поддержка DNS»,
srv_hosting_ispmgr — «Хостинг»,
srv_certificate — «Сертификат на домен».
Если значение не указано, возвращаются услуги всех видов.
|
- Поля ответа:
-
| Поле |
Описание |
| services |
Список хешей параметров услуг. |
| service_id |
числовой идентификатор услуги |
| dname |
имя домена |
| subtype |
подтип услуги (для хостинга: идентификатор тарифного плана) |
| state |
состояние услуги, допустимые варианты:
- «N» – услуга неактивна (домен не зарегистрирован / не перенесён);
- «A» – услуга активна;
- «S» – услуга приостановлена;
|
| 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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.6. Функция: service/get_folders
- Назначение:
- получение списка папок в которые входит сервис
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
-
| Поле |
Описание |
| folders |
список папок, может быть пустым |
| folder_id |
идентификатор папки |
| folder_name |
имя папки |
- Пример запроса:
- Пример успешного ответа:
-
{
{
answer => {
folders : [
{
folder_name => 'test_folder',
folder_id => 12345
}
]
},
result => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.7. Функция: service/get_details
- Назначение:
- Получения дополнительных данных по сервису, в т.ч. контактных данных для доменов
- Доступность:
- клиенты
- Поля запроса:
-
стандартные параметры идентификации услуги,
cтандартные параметры идентификации списка услуг, а также
| Поле |
Допустимые значения |
Описание |
| 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).
|
- Примеры запросов:
-
Запрос с несколькими доменами в списке
Запрос с параметром separate_groups
Запрос с параметром show_contacts_only
- Примеры успешного ответа:
-
Ответ на запрос с несколькими доменами в списке
{
'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'
}
- Возможные ошибки:
-
Cм. cтандартные коды ошибок
8.8. Функция: service/service_get_details
- Назначение:
-
Получение общей информации по заказанной услуге и дополнительных параметров для хостинга и web-форвардинга.
Для большинства сервисов вместо этой функции лучше использовать service/get_info.
Depricated
- Доступность:
- клиенты
- Поля запроса:
- стандартные параметры идентификации услуг
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
-
| Поле |
Описание |
| Поля, возвращаемые для любой услуги |
| subtype |
подтип услуги (для хостинга: идентификатор тарифного плана) |
| state |
состояние услуги, допустимые варианты:
- «N» – услуга неактивна (домен не зарегистрирован / не перенесён);
- «A» – услуга активна;
- «S» – услуга приостановлена;
- «D» – услуга удалёна;
- «O» – домен перенесён к другому регистратору.
|
| creation_date |
дата активации услуги |
| expiration_date |
дата истечения оплаченного периода услуги |
| Поля, возвращаемые для услуги хостинга |
| login |
логин хостинг-аккаунта |
| passwd |
пароль хостинг-аккаунта |
| server_ip |
IP-адрес сервера, на котором обслуживается аккаунт |
| nss |
список NS-серверов хостинга |
| Поля, возвращаемые для услуги web-форвардинга |
| fwds |
Список всех web-перенаправлений домена.
Содержит поля fwdfrom(Переадресация с), fwdto(Переадресовывать на),
webfwd_type(Способ переадресации), title(Заголовок окна, если webfwd_type = frames).
|
- Примеры запросов:
-
-
идентификация по service_id
-
идентификация по domain_name и servtype
-
идентификация только по имени домена
- Пример успешного ответа:
-
- для хостинга
{
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"
}
- для web-форвардинга
{
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 : ""
}
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.9. Функция: service/update (неполное описание)
- Назначение:
- настройка услуги.
- Доступность:
- клиенты
- Поля запроса:
-
| Параметр |
Описание |
| Общие |
| 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).
Доступны следующие шаблоны ОС:
- "debian-x86",
- "debian-x86_64",
- "centos-x86",
- "centos-x86_64",
- "fedora-x86",
- "fedora-x86_64",
- "suse-x86",
- "suse-x86_64".
|
| new_hostname |
Доменное имя VPS, используется совместно с параметром subtask = change_hostname.
|
| reinstall_ispmgr |
Флаг, определяющй переустанавливать ли ISP Manager, используется при переустановке VPS (параметр subtask = reinstall).
|
| Cpanel хостинг (srv_hosting_cpanel) |
| subtask |
Действие, доступны:
change_pass(сменить пароль на хостинг).
|
Примечание: Для сервиса SSL-сертификат
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
-
| Поле |
Описание |
| descr |
Общее описание сделанного заказа. |
- Пример запроса:
-
- Пример успешного ответа:
-
{
'result' => 'success';
'answer' => {
'descr' => 'service srv_webfwd is updated for domain qqq.ru'
}
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.10. Функция: service/renew
- Назначение:
- продление домена или услуги
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| 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
для случаев успешного прохождения счёта и нехватки денег соответственно.
|
- Примеры запросов:
-
Идентификация по service_id
Идентификация по servtype + domain_name
- Примеры успешных ответов:
-
Ответ на "PLAIN"-запрос
{
'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. |
Ошибка продления: <подробности_ошибки>. |
А также cм. Стандартные коды ошибок
8.11. Функция: service/set_autorenew_flag
- Назначение:
-
установить или снять флаг автопродления
- Доступность:
- все
- Поля запроса:
-
| Поле |
Описание |
| flag_value |
Флаг для установки, допустимые значения 0 и 1, любое ненулевое значение считается равным 1 |
А так же стандартные параметры идентификации доменов и услуг
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- Стандартные поля ответов для успешного изменения и ошибок
- Пример запроса:
-
- Пример успешного ответа:
-
{
'result' => 'success'
}
- Возможные ошибки:
- см. Стандартные коды ошибок
8.12. Функция: service/suspend
- Назначение:
-
приостановить действие услуги (для домена - снять с делегирования)
- Доступность:
- клиенты
- Поля запроса:
- стандартные параметры идентификации услуг
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- Нет
- Пример запроса:
-
- Пример успешного ответа:
-
{
'result' => 'success'
}
- Возможные ошибки:
-
| Error_code |
Error_text |
Описание |
| SERVICE_NOT_ACTIVE |
Service not active |
Услуга уже приостановлена |
А также cм. Стандартные коды ошибок
8.13. Функция: service/resume
- Назначение:
-
возобновить действие услуги (для домена - делегировать)
- Доступность:
- клиенты
- Поля запроса:
- стандартные параметры идентификации услуг
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- Нет
- Пример запроса:
-
- Пример успешного ответа:
-
{
'result' => 'success'
}
- Возможные ошибки:
-
| Error_code |
Error_text |
Описание |
| SERVICE_NOT_SUSPENDED |
Service not suspended |
Услуга не приостановлена |
| SERVICE_EXPIRED |
Service expired |
Срок действия услуги истек |
А также cм. Стандартные коды ошибок
8.14. Функция: service/get_depreciated_period
- Назначение:
-
расчитать число периодов до даты истечения срока действия услуги
- Доступность:
- клиенты
- Поля запроса:
- Cтандартные параметры идентификации доменов и услуг
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
-
| Поле |
Описание |
| depreciated_period |
Дробное число периодов, оставшихся до даты истечения срока действия услуги |
- Пример запроса:
-
- Пример успешного ответа:
-
{
"answer" : {
"depreciated_period" : "1"
},
"result" : "success"
}
- Возможные ошибки:
- См. Стандартные коды ошибок
8.15. Функция: service/upgrade
- Назначение:
-
произвести повышение подтипа (тарифа) услуги.
Используется только для изменения тарифа виртуального хостинга
("srv_hosting_ispmgr") и VPS-серверов ("srv_vps").
- Доступность:
- клиенты
- Поля запроса:
-
| Поле |
Описание |
| 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 |
Услуга имеет недопустимый тип или невозможно сменить подтип услуги на заданный |
А также cм. Стандартные коды ошибок
9. Функции для работы с папками (категория folder)
9.1. Функция: folder/nop
- Назначение:
- тестовая функция, можно использовать как средство для проверки существования папки
- Доступность:
- все
- Поля запроса:
-
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
-
инициализация с ID folder_id
-
инициализация с именем folder_name
- Пример успешного ответа:
-
{
"answer" : {
"name" : "test_folder_name",
"id" : "-1"
},
"result" : "success"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.2. Функция: folder/create
- Назначение:
- создание папки
- Доступность:
- все
- Поля запроса:
-
| Поле |
Описание |
| folder_name |
Задает название новой папки. |
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
-
создание папки с именем test_folder_name
- Пример успешного ответа:
-
{
"result" : "success"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.3. Функция: folder/remove
- Назначение:
- удаление папки
- Доступность:
- все
- Поля запроса:
-
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
-
удаление из папки с ID folder_id
-
удаление из папки с именем folder_name
- Пример успешного ответа:
-
{
"result" : "success"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.4. Функция: folder/rename
- Назначение:
- переименование папки.
- Доступность:
- все
- Поля запроса:
-
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
-
переименование папки с ID folder_id
-
переименование папки с именем folder_name
- Поддержка обработки списка услуг:
- нет
- Пример успешного ответа:
-
{
"result" : "success"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.5. Функция: folder/get_services
- Назначение:
- получить список услуг в папке
- Доступность:
- все
- Поля запроса:
-
стандартные параметры идентификации папок
- Поддержка обработки списка услуг:
- нет
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
-
выдать список услуг в папке test_folder_name
-
выдать список услуг в папке с ID 12345
- Пример успешного ответа:
-
"answer" : {
"folder_content" : [
{
"domain_name" : "test1.ru",
"service_id" : "1000",
"servtype" : "domain"
},
{
"domain_name" : "test2.ru",
"service_id" : "1001",
"servtype" : "domain"
}
],
"result" : "success"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.6. Функция: folder/add_services
- Назначение:
- добавление услуг в папку
- Доступность:
- все
- Поля запроса:
| Поле |
Описание |
| folder_name или folder_id |
Задает название папки, куда будут добавлены услуги.
(см. стандартные параметры идентификации папок)
|
| services |
Задает список услуг, с которыми будет произведено действие.
(см. стандартные параметры идентификации услуг)
|
| return_folder_contents |
Если значение этого поля уставновлено в "1", то в ответе системы
будет присутствовать список услуг в папке, с которой совершено действие.
|
- Поддержка обработки списка услуг:
- да
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
добавление списка услуг (test1.ru, test2.ru) в папку test_folder_name
-
добавление списка услуг (с ID=1000, ID=1001) в папку с ID 12345
- Пример успешного ответа:
-
- Без переданного параметра return_folder_content
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
- С параметром return_folder_content=1
{
"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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.7. Функция: folder/remove_services
- Назначение:
- удаление услуг из папки
- Доступность:
- все
- Поля запроса:
| Поле |
Описание |
| folder_name или folder_id |
Задает название папки, откуда будут удалены услуги.
(см. стандартные параметры идентификации папок)
|
| services |
Задает список услуг, с которыми будет произведено действие.
(см. стандартные параметры идентификации услуг)
|
| return_folder_contents |
Если значение этого поля уставновлено в "1", то в ответе системы
будет присутствовать список услуг в папке, с которой совершено действие.
|
- Поддержка обработки списка услуг:
- да
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
удаление списка услуг (test1.ru, test2.ru) из папки test_folder_name
-
удаление списка услуг (с ID=1000, ID=1001) из папки с ID 12345
- Пример успешного ответа:
-
- Без переданного параметра return_folder_content
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
- С параметром return_folder_content=1
{
"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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.8. Функция: folder/replace_services
- Назначение:
-
перезаписывание услуг в папке (в результате данной операции все
услуги в указанной папке удаляются, а услуги, указанные в параметре
domain_name или service_id, добавляются в папку)
- Доступность:
- все
- Поля запроса:
| Поле |
Описание |
| folder_name или folder_id |
Задает название папки, куда будут перезаписаны услуги.
(см. стандартные параметры идентификации папок)
|
| services |
Задает список услуг, с которыми будет произведено действие.
(см. стандартные параметры идентификации услуг)
|
| return_folder_contents |
Если значение этого поля уставновлено в "1", то в ответе системы
будет присутствовать список услуг в папке, с которой совершено действие.
|
- Поддержка обработки списка услуг:
- да
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
перезапись списка услуг (test1.ru, test2.ru) в папке test_folder_name
-
перезапись списка услуг (с ID=1000, ID=1001) в папке с ID 12345
- Пример успешного ответа:
-
- Без переданного параметра return_folder_content
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
- С параметром return_folder_content=1
{
"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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
9.9. Функция: folder/move_services
- Назначение:
-
перенос услуг из одной папки в другую
- Доступность:
- все
- Поля запроса:
-
- Поддержка обработки списка услуг:
- да
- Поля ответа:
- стандартные ответы системы
- Примеры запросов:
-
перенос списка услуг (test1.ru, test2.ru) из папки test_folder_name в папку new_test_folder_name
-
перенос списка услуг (с ID=1000, ID=1001) из папки c ID 12345 в папку с ID 1234567
- Пример успешного ответа:
-
- Без переданного параметра return_folder_content
{
"answer" : {
"services" : [
{
"dname" : "test1.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
},
{
"dname" : "test2.ru",
"servtype" : "domain",
"service_id" : "1000",
"result" : "success"
}
]
},
"result" : "success"
}
- С параметром return_folder_content=1
{
"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"
}
- Возможные ошибки:
- см. Стандартные коды ошибок
10. Рекомендации по эффективному взаимодействию с API
За время более чем двухлетней эксплуатации 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-запросов и ответов.
При этом в случае возникновения каких-либо проблем в процессе взаимодействия
наличие журнала позволит гораздо эффективнее диагностировать проблемы на Вашей стороне,
а также более грамотно обращаться в нашу службу технической поддержки, приводя выдержки из журналов, описывающие проблему.
Надеемся, что данная информация может быть для Вас полезной и позволит
улучшить качество нашего технического взаимодействия.