.UA - наш дом. Сделаем его лучшим!
Тестовый Сервер


DOMAIN:CREATE

Команда EPP <create> domain предназначена для создания объекта Домен.

Команда содержит следующие элементы:

  • <domain:name> - полностью определенное доменное имя.
  • <domain:period> - необязательный элемент, определяющий срок, на который регистрируется домен (в годах). Если элемент не указан, реестр реестр устанавливает срок, принятый как минимальный для данного публичного домена.
  • <domain:ns> - необязательный элемент, содержащий список серверов, на которых будет делегирован домен. Сервера могут быть указаны либо в качестве ссылок на уже созданные объекты "Хост" (<domain:hostObj>) либо в виде описаний новых серверов (<domain:hostAttr>).
  • <domain:registrant> - обязательный элемент, определяющий регистранта домена. Это должна быть ссылка на объект Контакт, уже имеющийся (предварительно зарегистрированный) в реестре.
  • <domain:contact> - один или несколько элементов, указывающих на административные, технические контакты домена. Это должны быть ссылки на объекты Контакт, уже имеющиеся (предварительно зарегистрированные) в реестре.
  • <domain:license> - один элемент, содержащий номер свидетельства на знак для товаров и услуг. Обязателен для приватных доменов второго уровня
  • <domain:authInfo> - authInfo (пароль к объекту). Значение игнорируется. При создании домена пароль не устанавливается.

Примеры команды <create>

  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <command>
      <create>
        <domain:create xmlns:domain="http://eunic.net.ua/epp/domain-1.1">
          <domain:name>example1.epp.ua</domain:name>
          <domain:period unit="y">2</domain:period>
          <domain:ns>
            <domain:hostObj>ns1.domain.epp.ua</domain:hostObj>
            <domain:hostObj>ns2.domain.epp.ua</domain:hostObj>
          </domain:ns>
          <domain:registrant>ex123</domain:registrant>
          <domain:contact type="admin">ex11</domain:contact>
          <domain:contact type="tech">ex11</domain:contact>
        </domain:create>
      </create>
      <clTRID>USER-1276171392</clTRID>
    </command>
  </epp>

Для задания элемента <domain:ns> можно использовать один из двух способов:

  • как ссылка на уже имеющиеся в реестре объекты "Хост":
       <domain:ns>
          <domain:hostObj>ns1.example.epp.ua</domain:hostObj>
          <domain:hostObj>ns2.example.epp.ua</domain:hostObj>
       </domain:ns>
    
  • как описание для создания новых объектов "Хост". Этот способ используется, как правило, при указании серверов в самом регистрируемом домене (glue-серверов):
       <domain:ns>
         <domain:hostAttr>
           <domain:hostName>ns1.example1.epp.ua</domain:hostName>
           <domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
           <domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
         </domain:hostAttr>
         <domain:hostAttr>
           <domain:hostName>ns2.example.net</domain:hostName>
         </domain:hostAttr>
       </domain:ns>
    

Правила создания новых серверов в команде <create> domain подчиняется общим правилам создания объектов "Хост"

При приеме команды <create> domain производятся следующие проверки:

  • Доменное имя соответствует [RFC1034].
    Если нет - ошибка 2005 "Parameter value syntax error"
  • Информации о домене нет в Реестре.
    Если есть - ошибка 2302 "Object exists"
  • Публичный домен, в котором регистрируется новый домен, обслуживается Реестром.
    Если нет - ошибка 2307 "Unimplemented object service"
  • Регистратор имеет право на регистрацию в данном публичном домене.
    Если нет - ошибка 2307 "Unimplemented object service"
  • Задано обязательное поле <domain:registrant>.
    Если нет - ошибка 2001 "Command syntax error"
  • Идентификаторы контактов, заданые в полях <domain:registrant> и <domain:contact>, зарегистрированы в Реестре.
    Если нет - ошибка 2303 "Object not exists"
  • Общее количество контактов в домене не превышает максимального (16).
    Если больше - ошибка 2001 "Command syntax error"
  • Количество контактов одного типа не превышает максимального (8).
    Если больше - ошибка 2001 "Command syntax error"
  • Идентификаторы контактов одного типа не дублируются.
    Если да - ошибка 2005 "Parameter value syntax error"
  • Хосты, заданые в полях <domain:hostObj>, зарегистрированы в Реестре.
    Если нет - ошибка 2303 "Object not exists"
  • Хосты, заданые в полях <domain:hostAttr>, зарегистрированы в Реестре.
    Если нет - регистрируются в Реестре.
    Если операция не проходит успешно - ошибка 2005 "Parameter value syntax error"
  • Хосты, заданые в полях <domain:hostObj> и <domain:hostAttr>, не дублируются.
    Если да - ошибка 2005 "Parameter value syntax error"
  • Общее количество хостов (nameservers) в домене не превышает максимального (13).
    Если больше - ошибка 2001 "Command syntax error"
  • Срок регистрации домена задан.
    Если нет - устанавливается минимальный срок регистрации для данного публичного домена
  • Заданный срок регистрации домена не превышает максимального.
    Если больше - ошибка 2004 "Parameter value range error"
  • На балансе регистратора достаточно средств для осуществления операции.
    Если нет - ошибка 2309 "Application rejected"
  • Заявка соответствует правилам публичного домена (если они дополнительно установлены).
    Если нет - 2309 "Application rejected"

Пример ответа сервера на команду <create>

Если команда <create> отработано успешно, ответ сервера содержит элемент <resData> с подэлементом <domain:creData>.

Элемент <domain:creData> содержит подэлементы:

  • <domain:name> - полностью определенное имя созданного доменного объекта.
  • <domain:crDate> - дата и время создания доменного объекта (локальное).
  • <domain:exDate> - дата и время окончания регистрации домена (локальное).
 <?xml version="1.0" encoding="UTF-8"?>
 <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   <response>
     <result code="1000">
       <msg lang="en">Command completed successfully</msg>
     </result>
     <resData>
      <domain:creData xmlns:domain="http://eunic.net.ua/epp/domain-1.1">
        <domain:name>example1.epp.ua</domain:name>
        <domain:crDate>2010-06-10T15:03:12+03:00</domain:crDate>
        <domain:exDate>2012-06-10T15:03:12+03:00</domain:exDate>
      </domain:creData>
    </resData>
    <trID>
      <clTRID>USER-1276171392</clTRID>
      <svTRID>CO-20100610150312-508777-00002</svTRID>
    </trID>
   </response>
 </epp>

Пример ответа сервера с ошибкой обработки команды

Пример ответа сервера на запрос, в котором указан неизвестный реестру сервер <domain:hostObj>

<?xml version="1.0" encoding="UTF-8"?>
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
     <response>
       <result code="2303">
         <msg lang="en">Object does not exist</msg>
         <extValue>
           <value><domain:hostObj 
             xmlns:domain="http://eunic.net.ua/epp/domain-1.1">
             ns2.example.epp.ua</domain:hostObj>
           </value>
           <reason lang="en">incorrect element domain:hostObj</reason>
         </extValue>
       </result>
       <trID>
         <clTRID>USER-1276172390</clTRID>
         <svTRID>CO-20100610151950-773873-00002</svTRID>
       </trID>
     </response>
   </epp>

Коды ответов сервера на команду <create>

1000    "Command completed successfully"
        "Команду виконано успішно"
        "Команда выполнена успешно"

2001    "Command syntax error"
        "Синтаксична помилка команди"
        "Синтаксическая ошибка команды"

2003    "Required parameter missing"
        "Відсутній обов'язковий параметр"
        "Отсутствует обязательный параметр"
         Ошибка выдается, если не задан обязательный параметр.

2004    "Parameter value range error"
        "Помилка в значенні параметра"
        "Ошибка в значении параметра"
         Ошибка выдается в случае, если указанный в заявке
         период регистрации превышает максимальный для данного
         публичного домена

2005    "Parameter value syntax error"
        "Синтаксична помилка параметра"
        "Синтаксическая ошибка параметра"

2201    "Authorization error"
        "Помилка авторізаії"
        "Ошибка авторизации"
         Ошибка выдается в случае, когда клиент не является 
         регистратором в данном публичном домене.

2302    "Object exists"
        "Об'єкт вже існує"
        "Объект уже существует"
         Ошибка выдается при попытке создать уже существующий 
         объект - домен или хост.

2303    "Object does not exist"
        "Об'єкт не існує"
        "Объект не существует"
         Ошибка выдается при попытке использовать в качестве
         регистранта, контакта или хоста несуществующий объект.

2307    "Unimplemented object service"
        "Даний об'єкт не обслуговується"
        "Данный объект не обслуживается"
         Ошибка выдается при попытке зарегистрировать домен в
         публичном домене, который не обслуживается реестром

2309    "Application rejected"
        "Заявка відхилена"
        "Заявка отклонена"
         Ошибка выдается в случае, если заявка не соответсвует правилам
         публичного домена либо при недостатке средств на платную операцию