Для повышения удобства технического взаимодействия
клиентов и партнёров компании «Регистратор доменных имён REG.RU»
с распределённой системой регистрации (далее RegRuSRS)
был реализован простой и доступный программный интерфейс — REG.API,
работающий поверх протокола HTTP.
Мы думаем, что использование REG.API делает наше техническое
взаимодействие с клиентами и партнёрами более эффективным.
Данное руководство описывает интерфейс доступа к REG.API второй версии,
являющейся развитием API предыдущих версий,
и предназначено для программистов,
автоматизирующих взаимодействие с RegRuSRS.
Предполагается, что читатель знаком с основами HTTP и имеет навыки программирования.
Технические вопросы не отражённые в данном документе можно задать
здесь.
Большая гибкость в выборе форматов передачи данных:
возможность передачи входных параметров в форматах plain HTTP, JSON или XML,
выходных — в виде JSON, YAML, XML или plain text.
Возможность параллельного выполнения нескольких операций одним пользователем.
Возможность работы с различными кодировками (по умолчанию utf8; также поддерживаются cp1251, koi8-r, koi8-u, cp866).
Многоязычные варианты ответов системы.
Выдача расширенной информации об ошибках.
Унифицированный способ идентификации доменов и услуг, с которыми производится операция.
Различные способы идентификации услуг: кроме имени домена, теперь вы можете
использовать наши идентификаторы услуг в системе,
которые позволяют всегда точно и легко указать нужную услугу.
Расширенные возможности отладки: различные тестовые функции,
возможность просмотра входных параметров (с целью контроля правильности их передачи и декодирования).
Возможность выставлять в поле Content-type в ответах системы
любое удобное для Вас значение.
Большая часть функций доступна и обычным пользователям!
Вам необязательно быть партнёром!
1.2. Рекомендации по эффективному взаимодействию с API
За время более чем двухлетней эксплуатации REG.API был накоплен значительный опыт технического взаимодействия с партнёрами,
выявлены типичные проблемы взаимодействия.
Одной из проблем, с которой сталкиваются партнёры, является превышение лимита запросов к REG.API (1200 запросов в час).
Анализ подобных ситуаций позволяет однозначно заключить, что проблема в подобных случаях заключается
в неправильном / нецелевом использовании API в связи с ошибками либо архитектурными просчётами в программном
обеспечении на стороне партнёров.
Считаем своим долгом дать ряд практических советов, которые позволят, с одной стороны, уменьшить вероятность превышения
допустимого количества запросов к REG.API и следующего за этим временного блокирования операций партнёра и, с другой стороны,
снизить нагрузку на систему регистрации RegRuSRS.
Рекомендуем осуществлять WHOIS-запросы по доменам (для отображения информации WHOIS на Ваших сайтах) не через REG.API,
а обращаясь напрямую к WHOIS-серверам соответствующих доменных зон.
При этом Вы получаете следующие преимущества:
а) ответ на WHOIS-запрос будет получен Вами быстрее,
б) предлагаемая схема более надёжна, поскольку исключаются лишние звенья,
в) уменьшается вероятность блокировки при превышении лимита запросов к API за счёт сокращения общего количества API-запросов.
Мы предлагаем готовые программные решения, которые могут облегчить Ваши трудозатраты перехода на правильную схему
реализации функционала для осуществления WHOIS-запросов.
Рекомендуем обращаться к API только для совершения заказов / изменения данных,
но не для получения информации. Программное обеспечение некоторых наших партнёров либо не хранит,
либо хранит неполную информацию о доменах в локальной базе данных.
В результате эта информация очень часто динамически скачивается с нашей системы регистрации
через функции domain_list, service/get_info, domain/get_contacts, domain/get_nss и т. п.
Рекомендуем хранить полную информацию о доменах и услугах локально
и обращаться к REG.API только при необходимости изменения информации в реестре.
В этом случае Ваша система будет работать быстрее и надёжнее,
будет меньше зависеть от доступности нашей системы регистрации с Вашего сервера.
Рекомендуем выполнять все запросы на изменение данных асинхронно.
Программное обеспечение некоторых наших партнёров осуществляет операции по регистрации доменов
и услуг и изменению данных непосредственно в момент обработки HTTP-запроса от клиента.
При этом если API-запрос не выполняется по каким-либо причинам сразу
(отсутствие связи, превышение лимита запросов, блокировки параллельных запросов),
то соответствующий запрос фактически теряется и клиент партнёра получает сообщение об ошибке.
Подобная схема взаимодействия является крайне ненадёжной и в конечном итоге неудобной для Ваших клиентов.
Рекомендуем осуществлять все запросы по заказу услуг / изменению данных асинхронно, через механизм очередей.
В этом случае:
а) исключаются блокировки API-запросов (параллельно выполняется только один
API-запрос, поскольку очередь можно обрабатывать в один поток);
б) в случае отсутствия связи запрос может повторяться, пока он не будет выполнен
(таким образом существенно увеличивается надёжность системы);
в) в случае ошибок при обработке запросов (если REG.API вернул код ошибки)
партнёр может решить проблему и повторить заявку, при этом клиент не получает лишних сообщений об ошибках —
большинство проблем могут решаться партнёром самостоятельно, без ведома и участия клиента.
Рекомендуем выполнять на Вашей стороне логирование всех API-запросов и ответов.
При этом в случае возникновения каких-либо проблем в процессе взаимодействия
наличие журнала позволит гораздо эффективнее диагностировать проблемы на Вашей стороне,
а также более грамотно обращаться в нашу службу технической поддержки, приводя выдержки из журналов, описывающие проблему.
Надеемся, что данная информация может быть для Вас полезной и позволит
улучшить качество нашего технического взаимодействия.
2. Общее описание REG.API 2.0
2.1. Общий принцип взаимодействия
Транспортным протоколом для вызова функций REG.API является
HTTP (HTTPS).
В REG.API поддерживаются как GET, так и POST запросы.
Однако рекомендуемым является метод POST, т.к. он не имеет ограничений на длину запроса.
Каждый вызов является атомарным и синхронным, то есть все запросы независимы друг от друга.
Также все операции являются синхронными:
результат операции возвращается сразу же, нет промежуточных состояний при выполнении операции.
Выбор в пользу такого способа взаимодействия был сделан для удобства подключения к REG.API со стороны клиентов.
2.2. Формат запроса
URL для вызова функций выглядит следующим образом:
Таким образом, для каждой функции имеем собственный URL для её вызова
(в API 1.0 URL для всех функций был одинаковым, а вызываемая функция
идентифицировалась с помощью параметра action).
Практически все функции требуют дополнительных параметров для своего вызова.
2.2.1. Виды входных параметров
Передаваемые параметры можно разделить на несколько категорий:
параметры аутентификации;
параметры идентификации услуги;
параметры управления работой API;
параметры, специфичные для конкретной функции.
Из перечисленных четырех видов входных параметров обязательными
практически для всех функций являются параметры аутентификации.
Конкретный набор необходимых параметров варьируется от функции к функции
и документирован в описании конкретных функций.
2.2.2. Передача входных параметров
Все дополнительные параметры, если они есть, можно передавать в виде
стандартных HTTP-параметров GET или POST, где передаваемые данные кодируются
как x-www-form-urlencoded.
Параметры функции также можно передавать в форматах JSON или XML
В этом случае все параметры, сериализованные в строку,
передаются как один HTTP-параметр через поле input_data.
Пример передачи сериализованных параметров через запрос GET:
Пример вызова со сложной структурой можно посмотреть, например, в описании функции set_rereg_bids.
При необходимости передачи сложных структур данных
использование JSON и XML — единственный способ их передать.
2.2.3. Форматы входных параметров
Передача данных возможна в нескольких форматах: как простые параметры HTTP-запроса (GET/POST),
который далее условно будет называться «PLAIN», так и JSON и XML.
Для наглядности их лучше рассмотреть на примерах передачи данных с ответом в JSON и выводом всех полученных данных,
дополнительно указав для этого входной параметр show_input_params=1.
Чтобы показать возможность передачи списка данных,
в запрос добавлен список leftdata, не несущий никакой функциональности.
Конкретный набор необходимых параметров варьируется от функции к функции,
однако часть параметров применима ко всем или к большинству функций.
Эти параметры описаны в данном разделе.
2.2.4.1. Параметры для аутентификации
Эти параметры являются необходимыми для функций, требующих аутентификации.
Это поля username + password
либо
username + signature
(выбор варианта зависит от используемого способа авторизации).
Параметр
Описание
Аутентификация по паролю
username
Имя пользователя (login) в системе RegRuSRS.
password
Основной пароль пользователя в системе регистрации REG.RU, либо альтернативный пароль для 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.
Ответ при запросе со списком услуг будет так же содержать список и для каждой
услуги будет указан результат в поле result.
В случае успеха это будет success, в случае ошибки — текст самой ошибки,
а так же поле error_code со стандартным кодом ошибки, совпадающим с кодом при запросе 1 домена.
Пример: получение service_id услуг используя service/nop с ошибками в двух последних значениях
Ниже, при детальном описании каждой функции, будет указана поддержка обработки списка услуг
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 формате.
В данном формате ответ возвращается в упрощённом виде: не возвращаются
сложные / вложенные структуры данных. В связи с данным ограничением не рекомендуется
использовать этот формат.
Код ошибки, который представляет себой предложение в верхнем регистре
с использованием "_" в качестве разделителей и является уникальным внутри системы.
Предназначен для анализа ошибок на уровне программ. Для пользователей создано поле error_text.
error_text
Подробное описание ошибки на английском или русском, в зависимости от входного параметра lang.
error_params
Параметры, подставляемые в стандартный текст ошибки, могут быть полезны при автоматическом разборе ошибок.
input_params
Хеш с параметрами, переданными при вызове функцию. Присутствует, если вызов был с show_input_params=1.
Вследствие того что в этом способе аутентификации логин и пароль передаются в явном виде, лучше избегать им пользоваться,
особенно при использовании HTTP-протокола, т.к. в этом случае пароль легко может быть перехвачен.
Для отладки работы с API предусмотрен тестовый доступ; для этого имя пользователя и пароль должны иметь значение "test".
При таком режиме работы осуществляются все проверки входных параметров, выдаётся ответ,
но никаких действий не производится, и деньги за операции не снимаются.
При вызове функций в тестовом режиме никаких реальных данных о доменах не возвращается.
Также для отладочных целей есть несколько специализированных функций, которые предназначены
для вызовов под реальными идентификационными данными. Это nop, reseller_nop, user/nop, bill/nop, domain/nop, zone/nop, service/nop, folder/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. Список функций
Здесь приведен перечень доступных функций с кратким описанием и указанием их доступности.
Полное, детальное описание каждой функции с примерами использования см. ниже.
Логин нового пользователя в системе REG.RU,
допустимые символы: латинские строчные буквы от "a" до "z", цифры "0" - "9", символы "-", "_"
user_password
Пароль нового пользователя, допускается использование любых латинских символов
user_email
Адрес электронной почты нового пользователя
user_country_code
Двухбуквенный ISO-код страны проживания нового пользователя, например RU
Необязательные поля — анкета пользователя
user_first_name
Имя контактного лица
user_last_name
Фамилия контактного лица
user_company
Компания, в которой работает новый пользователь
user_jabber_id
Jabber ID нового пользователя
user_icq
ICQ UIN нового пользователя
user_phone
Номер телефона нового пользователя, телефон указывается с международном формате, например: +7.4951234567
user_fax
Номер факса нового пользователя, телефон указывается с международном формате, например: +7.4951234567
user_addr
Адрес нового пользователя: улица, дом, офис/квартира
user_city
Адрес нового пользователя: город
user_state
Адрес нового пользователя: область/край/штат
user_postcode
Почтовый индекс нового пользователя
user_wmid
Webmoney ID нового пользователя
user_website
Веб-сайт нового пользователя
Необязательные поля — другие параметры
user_subsribe
Подписать пользователя на рассылку по электронной почте от REG.RU, допустимые значения 1 или 0
значение по умолчанию 0
user_mailnotify
Послать пользователю уведомление о регистрации, допустимые значения 1 или 0,
значение по умолчанию 1
set_me_as_referrer
Сделать регистрируемого пользователя рефералом регистратора, допустимые значения 1 или 0,
значение по умолчанию 0
check_only
Не регистрировать пользователя, только проверить контакты, допустимые значения 1 или 0,
значение по умолчанию 0, при check_only=1 в ответе будетuser_id=777
указать валюту в которой выводится сумма, пересчёт из рублей производится по текущему курсу;
доступные варианты: RUR, USD, EUR, UAH;
значение по умолчанию — RUR
способ оплаты, варианты: WM — WebMoney, требует указания номера кошелька wmid;
ymbill — ЯндексДеньги, получение счётов должно быть заранее активировано
wmid
номер кошелька WebMoney
currency
валюта пополнения счёта, для ЯднексДенег допустимо только RUR,
для WebMoney — рубли RUR, доллары USD, euro EUR и гривны UAH
валюта (RUR - рубли, USD - доллары США, EUR - евро, UAH - украинские гривны)
payment
сумма счёта без процентов платёжных систем в рублях
total_payment
полная сумма к оплате в указанной Вами валюте, состоит из суммы цен услуг счёта, процентов за перевод денег в указанной системе оплаты, и процентов за конвертацию указанной валюты в рубли, если платёж осуществляется не в рублях
pay_type
способ платежа, варианты оплаты: prepay – использование предоплаты, WM – WebMoney, bank – банковский перевод, pbank – безналичный перевод через банк, yamoney & ymbill – Яндекс Деньги, mmailru – Деньги@Mail.Ru, robox – ROBOXchange, cash – Наличными в офисе, alfacard – Картой через Альфа-Банк, chronopay – Картой через ChronoPay, handybank – Handy Bank, rbkmoney – RBK-Money, osmp – Терминал QIWI (КИВИ), paypal – PayPal
pay_status
статус оплаченности счёта, здесь будут только notpayed — не оплачено
items
состав счёта
itemtype
тип позиции счёта: prepayment - предоплата, service - заказ услуги
начальная дата периода для запроса счетов в ISO формате, обязательное поле
end_date
конечное дата периода для запроса счетов в ISO формате, обязательное поле
pay_type
способ оплаты счёта, допустимые варианты см. в описании полей ответа
limit
количество позиций счётов, допустимых к выводу за 1 раз, значение по умолчанию 100, максимальное значение 1024
offset
смещение от начальной позиции, если количество счетов превышает указанный limit
all
так же показывать неактивные счета, т.е. у которых истекли сроки действия заказываемых сервисов или по которым был осуществлён возврат средств из-за невозможности выполнения заказа
валюта (RUR - рубли, USD - доллары США, EUR - евро, UAH - украинские гривны)
payment
сумма счёта без процентов платёжных систем в рублях
total_payment
полная сумма к оплате в указанной Вами валюте, состоит из суммы цен услуг счёта, процентов за перевод денег в указанной системе оплаты, и процентов за конвертацию указанной валюты в рубли, если платёж осуществляется не в рублях
pay_type
способ платежа, варианты оплаты: prepay – использование предоплаты, WM – WebMoney, bank – банковский перевод, pbank – безналичный перевод через банк, yamoney & ymbill – Яндекс Деньги, mmailru – Деньги@Mail.Ru, robox – ROBOXchange, cash – Наличными в офисе, alfacard – Картой через Альфа-Банк, chronopay – Картой через ChronoPay, handybank – Handy Bank, rbkmoney – RBK-Money, osmp – Терминал QIWI (КИВИ), paypal – PayPal
pay_status
статус оплаченности счёта, возможные варианты: notpayed – счёт не оплачен, confirmed – оплата подтверждена, но деньги ещё не получены (например долгий перевод через банк), payed – оплачено, cancelled – оплата отменена на стороне платёжной системы
items
состав счёта
itemtype
тип позиции счёта: prepayment - предоплата, service - заказ услуги
новый тип платежа, обязательное поле, возможные варианты: prepay — предоплата, оплата производится сразу; WM — WebMoney, при указании wmid выставляется эл.счёт на кошелёк клиента; yamoney, ymbill — ЯндексДеньги, для высталения эл.счёта надо указать ymbill и заранее активировать возможность получения счетов от REG.RU; bank — оплата через банк
currency
валюта, обязательное поле, для ЯндексДенег доступно только RUR, для bank и prepay — RUR и USD, для WebMoney так же доступны EUR и UAH
валюта (RUR - рубли, USD - доллары США, EUR - евро, UAH - украинские гривны)
payment
сумма счёта без процентов платёжных систем в рублях
total_payment
полная сумма к оплате в указанной Вами валюте, состоит из суммы цен услуг счёта, процентов за перевод денег в указанной системе оплаты, и процентов за конвертацию указанной валюты в рубли, если платёж осуществляется не в рублях
pay_type
способ платежа
pay_status
статус оплаченности счёта: notpayed – счёт не оплачен, payed – оплачено, cancelled – оплата отменена на стороне платёжной системы
цены доменным по зонам
Цены указаны за год. Для некоторых зон минимальный срок регистрации больше года.
Если для зоны разрешена регистрация русских имен доменов, и она отличается от цены для регистрации доменов с использованием только латинских букв, то для этой зоны возвращается дополнительная запись с префиксом '__idn.'.
Главное ключевое слово, например "дом" или "domain". Обязательное поле.
additional_word
Дополнительное ключевое слово, например "новый" или "cool". Необязательное поле.
category
Категория подбираемых имён. Может принимать значения: 'pattern' — шаблонные («имя + префикс»),
'search_trends' — поисковые тренды, 'all' — все. По умолчанию возвращаются имена из всех категорий.
tlds
Зона, в которой проверяется доступность доменного имени к регистрации.
Зоны могут быть такими: 'ru', 'рф', 'su', 'com', 'net', 'org', 'biz', 'info'.
Для задания нескольких зон одновременно, необходимо добавить в запрос это поле для каждой зоны:
например "...&tlds=ru&tlds=su&tlds=com".
Если поле не задано ни разу, то доступность проверяется во всех перечисленных выше зонах.
use_hyphen
Если значение истинно, использовать дефис в для разделения отдельных слов в доменном имени ("cool-domain").
По умолчанию слова склеиваются без разделителя ("cooldomain").
use_plural
Если значение истинно, предлагать варианты во множественном числе. Необязательное поле.
Массив хешей с вариантами имён для доменов. Каждый хеш в массиве содержит поле "name" (вариант имени)
и массив "avail_in", в котором перечислены зоны, где такое доменное имя доступно к регистрации.
Максимальный размер массива — 100.
Зона премиум доменов. Может быть равно одному из следующих значений: 'ru' – в зоне .RU, 'рф' – в зоне .РФ,
'su' – в зоне .SU (латиница), 'sucyr' – в зоне .SU (кириллица), 'orgcyr' – в зоне .ORG (кириллица).
Для задания нескольких зон одновременно, необходимо добавить в запрос это поле для каждой зоны:
например "...&tld=ru&tld=рф". По умолчанию берётся зона .RU.
limit
Максимальное количество возвращаемых вариантов. По умолчанию возвращается не более ста вариантов.
max_chars
Максимальное число символов в доменном имени второго уровня. По умолчанию возвращаются домены с любым числом символов.
cat0
Задаёт рубрику возвращаемых премиум-доменов. Должен полностью совпадать с названием одной рубрик сервиса
Reg.Premium, например "3-х буквенные".
По умолчанию выдаются варианты из рубрики "4-х символьные".
cat1
Задаёт подрубрику рубрики, задаваемой полем cat0, например "Два одинаковых символа".
По умолчанию выдаются варианты из всех подрубрик.
cat2
Задаёт подрубрику подрубрики, задаваемой полем cat1, например "XX*".
По умолчанию выдаются варианты из всех подрубрик.
random
Если значение равно "1", возвращаются случайные премиум-домены указанной рубрики/подрубрик.
По умолчанию возвращаются первые limit доменов в алфавитном порядке.
Имя домена, поле не совместимо со спиcком domains.
domains
Массив со списком вариантов имён доменов, каждый элемент массива является хешем с ключём dname или domain_name.
Используется только в случае запроса в форматах JSON, XML.
is_transfer
При значении 1 делается проверка на возможность переноса домена в REG.RU,
при нулевом значении — обычная проверка на возможность регистрации, по умолчанию — 0
subtype
Тип регистрации. Опциональное поле. Возможное значение (кроме пустого значения по умолчанию):
«preorder» — предзаказ доменов .РФ.
{
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'
}
Имя регистрируемого домена. Допустимые символы (есть или нет 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.
Автоматически идентификатор не создаётся, т.е. если он не был задан при создании услуги, то поле остаётся пустым.
Необязательное поле.
Тип регистрации. Опциональное поле. Возможное значение (кроме пустого значения по умолчанию):
«preorder» — предзаказ доменов .РФ.
Описание полей для работы с папками
Поля этой категории являются необязательными.
Поле
Описание
folder_name
Папка, в которую будет добавлен домен. Если указано имя несуществующей папки и не установлен флаг
no_new_folder - папка будет создана.
folder_id
Числовой идентификатор папки, в которую будет добавлен домен.
no_new_folder
Не создавать папку если она не существует.
Описание полей контактных данных
Контактные данные для .RU/.SU/.РФ доменов
Обратите внимание, что в этой операции допустимо использовать
один из двух взаимоисключающих наборов полей — данные организации
(если домен регистрируется на организацию), либо данные частного лица
(если домен регистрируется на частное лицо).
Также некоторые поля могут быть многострочными.
Поле
Мин. длина
Макс. длина
Описание
Общие поля для .RU/.SU/.РФ
total_pp_flag
1
1
Активация услуги полного скрытия персональных данных
sms_security_number
8
25
Номер для отправки SMS-сообщений администратору домена.
Используется для уведомлений и подтверждений операций с доменом с целью
обеспечения дополнительной безопасности и выполнения условий п. 5.2.
правил регистрации доменных имён в доменах .ru .рф.
Запись не является обязательной. Пример: +7 927 1234567
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
Данные организации (только при регистрации домена на организацию!)
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
Данные частного лица (только при регистрации домена на частное лицо!)
person
8
64
Имя, первая буква отчества (без точки) и фамилия администратора домена,
записанные латинскими буквами. Предназначено для использования услугой
'whois'. Для иностранцев поле содержит имя в оригинальном написании
(или в английской транскрипции). Пример: Vassily N Pupkin
person_r
9
64
Фамилия, имя и отчество администратора домена на русском языке в
соответствии с паспортными данными. Для иностранцев поле содержит имя в
оригинальном написании (при невозможности в английской транскрипции). Пример1: Пупкин Василий Николаевич Пример2: John Smith
private_person_flag
1
1
Активация услуги частичного скрытия персональных данных
passport
20
255 много- строчное
Серия и номер паспорта, а также наименование органа, выдавшего паспорт,
и дата выдачи (в указанной последовательности, с разделением пробелами).
В написании римских цифр допустимо использование только латинских букв.
Дата записывается в формате ДД.ММ.ГГГГ.
Знак номера перед номером паспорта не ставится.
Паспорта СССР (паспорта старого образца) не принимаются.
В случае использования документа, отличного от паспорта
(допустимо ТОЛЬКО для нерезидентов России), в начале строки указывается
наименование вида документа. Запись может быть многострочной. Пример: 34 02 651241 выдан 48 о/м г.Москвы 26.12.1990
birth_date
10
10
Дата рождения администратора домена в формате ДД.ММ.ГГГГ. Пример: 07.11.1917
country
2
2
Двухбуквенный ISO-код страны, гражданином которой является частное лицо. Пример: 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 используется только два вида контактов:
контакты владельца (администратора) домена и технические контакты.
Изменение контактных данных владельца домена после регистрации в автоматическом режиме невозможно.
Поле
Мин. длина
Макс. длина
Описание
Данные владельца домена
o_company
5
80
Название организации - владельца домена.
o_first_name
2
40
Имя контактного лица
o_last_name
2
40
Фамилия контактного лица
o_email
6
80
Контактный 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-код страны контактного лица.
Список всех кодов стран можно найти
тут
Данные техподдержки домена
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 соответствуют правилам регистрации доменов в других зонах.
Регистрация доменов в зонах *.kz (все домены Казахстана)
С 7 сентября 2010 г. в соответствии с Правилами KazNIC
в контактных данных домена необходимо указывать адрес серверного оборудования,
на котором располагается домен. Домены, зарегистрированные после указанной даты,
обязаны располагаться на серверах Казахстана.
Для указания адреса серверного оборудования при регистрации домена или изменении контактов необходимо
добавить следующие поля в хеш contacts.
Поле
Мин. длина
Макс. длина
Описание
Адрес серверного оборудования
srvloc_state
2
40
Область / Штат
srvloc_city
2
40
Город
srvloc_street
2
255
Адрес (улица, дом)
Если не планируется сразу привязывать домен к хостингу или парковке,
можно использовать следующие значения для полей адреса серверного оборудования:
srvloc_state:
KAR
srvloc_city:
Karaganda
srvloc_street:
Chizhevskogo, 17
Регистрация доменов в других зонах
Поле
Мин. длина
Макс. длина
Описание
Данные владельца домена
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.
Способ оплаты. На данный момент возможна только предоплата, 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 );
Совпадают с полями для функции domain/create. Помимо этого
для доменов .RU / .SU / .РФ зон данные владельца домена и DNS-сервера можно не указывать, т.е. оставлять хеши
contacts и nss пустыми. Эти данные будут автоматически получены из реестра в момент принятия домена.
Также для доменов .RU / .SU / .РФ поле period может принимать значение "0" (перенос доменов без продления).
Для большинства международных доменов (com net org info biz mobi name asia tel in mn bz cc tv us me cn nz co ca и др.)
дополнительно надо указать authinfo
Поле
Мин. длина
Макс. длина
Описание
authinfo
6
32
Ключ аутентификации для переноса домена (для международных доменов).
Уточняется у предыдущего регистратора домена.
Способ оплаты. На данный момент возможна только предоплата, prepay.
pay_notes
Комментарий, относящийся к используемому способу оплаты.
domains
Список доменов с результатом по каждому, поле результатов может иметь такие значения: success — ставка сделана, Invalid domain zone — для этой зоны нет возможности заказа освобождающихся доменов, Domain not found — домен не обслуживается REG.RU, Rereg not found — домен не найден в списке доступных освобождающихся доменов (например, он уже имеет предельную ставку), Invalid bid — недопустимая ставка, More bid found — найдена такая же или большая ставка.
Пример запроса:
пример отправляемых данных (структура на Perl-e) с преобразованием её в JSON-формат:
Тоже самое, но с использованием 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».
дата самой первой регистрации домена по данным stat.reg.ru
delete_date
Дата удаления из реестра
yandex_tic
Яндекс тИЦ
google_pr
Google Page Rank
registrar
Регистратор, у которого домен находится сейчас на обслуживании
user_bid
Ваша последняя ставка
max_bid
Максимальная ставка на этот домен, если лот ещё активен, то вы можете её перебить независими от того кто её сделал
next_price
Следующая минимальная ставка, имеет значение NULL для неактивных лотов
blitz_price
Максимальная ставка, при её достижении домен снимается с торгов (is_active = 0), но будет присутствовать в этом списке до момента освобождения домена реестром
rereg_bids
список всех возможных ставок отдельно по каждой доменной зоне (для справки)
Хеш контактных данных; описание контактных данных, являющихся ключами хеша,
см. в функции 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
IP адреса DNS серверов. Необязательные поля. Используются только если имя DNS сервера содержит имя регистрируемого домена
nss
Хеш, содержащий список NS-серверов и, если надо, IP адресов. В ключами хеша будут поля ns0...ns3 и ns0ip...ns3ip, описанные выше.
Только для запросов в JSON/XML формате
Так же см. параметры идентификации списка услуг.
Примечание:
Для поддержки DNS могут быть бесплатно использованы сервера REG.RU.
Для этого в качестве DNS-серверов необходимо указать сервера ns1.reg.ru и ns2.reg.ru.
В этом случае на серверах REG.RU будет прописана зона для Вашего домена.
Управлять зоной можно через web-интерфейс сайта REG.RU или через API.
список доменов, для которые передаются на другой аккаунт; в случае успешного выполнения запроса на передачу
поле result будет содержать request_is_sent для каждого домена, иначе — код ошибки
Список сообщений о передаче доменов, каждое сообщение содержит свой идентификатор id и имя передаваемого домена domain_name, для любой повторной передачи домена идентификатор будет иметь новое значение
8. Функции для управления DNS-зоной (категория zone)
8.1. Функция: zone/nop
Назначение:
для тестирования, позволяет проверить доступность управления DNS-зоной доменов;
управление DNS-зоной возможно только если домену прописаны DNS сервера REG.RU
Имя поддомена, которому назначается IP-адрес.
Чтобы назначить IP-адрес самому домену, передайте значение '@',
чтобы назначить IP-адрес всем поддоменам, не обозначенным явно в других записях, передайте '*'.
Имя поддомена, которому назначается IPv6-адрес.
Чтобы назначить IP-адрес самому домену, передайте значение '@',
чтобы назначить IP-адрес всем поддоменам, не обозначенным явно в других записях, передайте '*'.
добавление и/или удаление нескольких ресурсных записей одним запросом,
порядок элементов в передаваемом массиве имеет значение т.к. одни записи могут быть зависимыми от других,
в случае возникновения ошибки в одной из записей из action_list, последующиее игнорируются.
Массив хешей, где каждый хеш содержит параметры для добавления/удаления ресурсной записи.
Класс/тип добавляемой записи указывает поле action,
допустимые варианты: add_alias, add_aaaa, add_cname,
add_mx, add_ns, add_txt, add_srv, remove_record.
Остальные поля хеша зависят от action и соответствуют функциям, описанным выше.
Для примера, приведённого ниже, структура action_list будет иметь следующий вид:
Массив action_list может быть как общим для всего списка доменов (см. 1-й пример запроса),
так и особым для каждого домена в списке (см. 2й пример запроса).
Примечание:
Чтобы получить цены для нескольких видов услуг, можно указать их в поле servtype через запятую
или передать в запросе несколько полей servtype. В этом случае поле subtype игнорируется.
Срок, на который заказывается услуга, единица измерения (год или месяц) зависит от вида заказываемой услуги.
Значения единиц измерения для различных услуг Вы можете получить с помощью функции
service/get_servtype_details.
user_servid
ID домена, задаваемый пользователем. Допустимые символы: цифры 0..9 и латинские буквы a..f, длина поля 32 символа.
Автоматически идентификатор не создаётся, т.е. если он не был задан при создании услуги, то поле остаётся пустым.
Необязательное поле.
Комментарий для администраторов — любая строка описывающая заказ. Необязательное поле.
ISPManager хостинг (srv_hosting_ispmgr)
email
e-mail-адрес для создаваемого хостинг-аккаунта.
plan (deprecated)
Тарифный план, сейчас доступны: "Host-0-0910", "Host-1-1209", "Host-2-1209", "Host-3-1209", "Host-CMS-1209", "Host-Lite-0910".
Для указания тарифного плана рекомендуется использовать параметр "subtype"
subtype
Тарифный план, сейчас доступны: "Host-0-0910", "Host-1-1209", "Host-2-1209", "Host-3-1209", "Host-CMS-1209", "Host-Lite-0910".
Cpanel хостинг (srv_hosting_cpanel)
email
e-mail-адрес для создаваемого хостинг-аккаунта.
subtype
Тарифный план, сейчас доступны: "Host-0", "Host-1", "Host-2", "Host-3", "Host-CMS".
Имя, фамилия, должность, телефон, 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-1011", "VPS-2-1011", "VPS-3-1011", "VPS-4-1011".
vpsname
Наименование сервера для идентификации в списке услуг.
Тип контактных данных. Принимает значение "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",
"debian6-x86",
"debian6-x86_64",
"centos6-x86",
"centos6-x86_64",
"ubuntu-x86",
"ubuntu-x86_64".
Дополнительный IP (srv_addip)
uplink_service_id
ID родительской услуги, к которой заказывается дополнительный IP. Заказ дополнительного IP возможен только для VPS (srv_vps), ISPManager хостинга (srv_hosting_ispmgr) и CPanel хостинга (srv_hosting_cpanel).
subtype
Тип дополнительного IP, доступны: "same_subnet" для заказа случайного доп. IP, "other_subnet" для заказа доп. IP находящегося в другой подсети класса C относительно основного адреса VPS-сервера.
Обязательный параметр, значение по умолчанию: "same_subnet"
Расширенная защита от спама (srv_antispam)
uplink_service_id
ID родительской услуги, к которой заказывается расширенная защита от спама. Заказ расширенной защиты от спама возможен для домена (domain), ISPManager хостинга (srv_hosting_ispmgr), CPanel хостинга (srv_hosting_cpanel) и Plesk хостинга (srv_hosting_plesk).
dname
Имя домена для которого заказывается расширенная защита от спама. Данный параметр может быть использован как альтернатива uplink_service_id.
Необязательный параметр.
spam_action
Данный параметр определяет какие действия будут применены к почте распознанной как спам.
Возможны 2 варианта:
"delete" ( Удалять найденный спам ),
"mark" ( Отметить найденный спам email-заголовками X-Spam-* ).
Необязательный параметр, значение по умолчанию: "delete".
mx_list
Список MX серверов через запятую, используемых для транспорта отфильтрованной почты.
список доменов с параметрами 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).
Дополнительные поля, возвращаемые для услуги парковки
title
Заголовок (title) страницы.
Будет отображаться в качестве заголовка окна браузера.
Получение общей информации по заказанной услуге и дополнительных параметров для хостинга и web-форвардинга.
Для большинства сервисов вместо этой функции лучше использовать service/get_info.
Depricated
подтип услуги (для хостинга: идентификатор тарифного плана)
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).
Действие, доступны: addfwd(добавить перенаправление),
rmfwd(удалить перенаправление), rmall(удалить все перенаправления).
fwdfrom
«Переадресация с», укажите относительный адрес (без имени домена),
с которого требуется осуществлять перенаправление(если не указано, то «/»).
fwdto
«Переадресовывать на», укажите URL, на который следует перенаправлять посетителей.
webfwd_type
Способ переадресации, может принимать значения: redirect(перенаправление запроса),
frames(маскировку адреса во фрейме). Если не указано, то redirect.
title
Заголовок окна, имеет смысл только в случае использования маскировки
адреса во фрейме. Указанный заголовок будет заголовком страницы
(будет отображаться в качестве заголовка окна браузера).
Парковка (srv_parking)
title
Заголовок (title) страницы.
Будет отображаться в качестве заголовка окна браузера.
Имя, фамилия, должность, телефон, e-mail адрес технического специалиста.
approveremail
E-mail адрес для подтверждения сертификата.
software
Программное обеспечение. Возможные значения: IIS - Internet Information Services Other - Другое ПО
csrString
Закодированный CSR включая маркеры начала и окончания.
subtype
Вид сертификата. Возможные значения: fssl, sgc, ssl, wild
reissue
Ненулевое значение инициирует переиздание сертификата с новыми полями
csrString, software, approveremail.
Нулевое значение или отсутствие флага вызывает обновление полей, без переиздания сертификата.
Такой режим используется для подготовки полей перед продлением сертификата.
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",
"debian6-x86",
"debian6-x86_64",
"centos6-x86",
"centos6-x86_64",
"fedora-x86",
"fedora-x86_64",
"suse-x86",
"suse-x86_64",
"ubuntu-x86",
"ubuntu-x86_64",
"centos-x86_bitrix",
"centos-x86_webmin",
"centos-x86_64_webmin",
"debian-x86_webmin",
"debian-x86_64_webmin",
"debian6-x86_webmin",
"debian6-x86_64_webmin",
"ubuntu-x86_webmin",
"ubuntu-x86_64_webmin".
new_hostname
Доменное имя VPS, используется совместно с параметром subtask = change_hostname.
reinstall_ispmgr
Флаг, определяющй переустанавливать ли ISP Manager, используется при переустановке VPS (параметр subtask = reinstall).
Cpanel хостинг (srv_hosting_cpanel)
subtask
Действие, доступны: change_pass(сменить пароль на хостинг).
Расширенная защита от спама (srv_antispam)
subtask
Действие, доступны:
change_action(сменить параметр "action", определяющий действия выполняемые над почтой распознанной как спам),
change_mx_list(сменить список mx серверов используемых для транспорта отфильтрованной почты).
spam_action
Действие над спамом. Определяет какие действия будут выполнены над почтой распознанной как спам.
Возможны 2 варианта:
"delete" ( Удалять найденный спам ),
"mark" ( Отметить найденный спам email-заголовками X-Spam-* ).
Необязательный параметр, значение по умолчанию: "delete".
Актуально для subtask = change_action.
mx_list
Список mx серверов через запятую, используемых для транспорта отфильтрованной почты.
Актуально для subtask = change_mx_list.
Флаг, указывающий, что в случае недостатка денег на счету,
запрос будет завершен без ошибки — будет создана выписка пополнения через банк.
DEPRECATED. Не использовать!
произвести повышение подтипа (тарифа) услуги.
Используется только для изменения тарифа виртуального хостинга
("srv_hosting_ispmgr") и VPS-серверов ("srv_vps").
перезаписывание услуг в папке (в результате данной операции все
услуги в указанной папке удаляются, а услуги, указанные в параметре
domain_name или service_id, добавляются в папку)