.UZ  Domain Network Information Centre

DOMAIN:CREATE

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

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

  • <domain:name> - полностью определенное доменное имя.
  • <domain:period> - необязательный элемент, определяющий срок, на который регистрируется домен (в годах). Если элемент не указан или равен 0, домен бронируется на 7 рабочих дней.
  • <domain:ns> - необязательный элемент, содержащий список серверов, на которых будет делегирован домен. Сервера могут быть указаны либо в качестве ссылок на уже созданные объекты "Хост" (<domain:hostObj>) либо в виде описаний новых серверов (<domain:hostAttr>).
  • <domain:registrant> - обязательный элемент, определяющий регистранта домена. Это должна быть ссылка на объект Контакт, уже имеющийся (предварительно зарегистрированный) в реестре.
  • <domain:contact> - один или несколько элементов, указывающих на административные, технические контакты домена. Это должны быть ссылки на объекты Контакт, уже имеющиеся (предварительно зарегистрированные) в реестре.
  • <domain:authInfo> - authInfo (пароль к объекту). Значение игнорируется. При создании домена пароль не устанавливается.
  • Расширение <uzDomain:create> является обязательным и содержит идентификационные данные регистранта - владельца домена. Для физических лиц - серия/и/или/номер паспорта, для юридических лиц - ИНН или аналогичный идентификатор, принятый в стране владельца.
    Пример:
      <extension>
       <uzDomain:create xmlns:uzDomain="urn:ietf:params:xml:ns:uzDomain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:uzDomain-1.0 uzDomain-1.0.xsd">
        <uzDomain:identification>ya3999439</uzDomain:identification>
       </uzDomain:create>
      </extension>
      

Примеры

Примеры команды <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="urn:ietf:params:xml:ns:domain-1.0">
          <domain:name>example1-epp.uz</domain:name>
          <domain:period unit="y">2</domain:period>
          <domain:ns>
            <domain:hostObj>ns1.domain.epp.uz</domain:hostObj>
            <domain:hostObj>ns2.domain.epp.uz</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>
	  <extension>
	   <uzDomain:create xmlns:uzDomain="urn:ietf:params:xml:ns:uzDomain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:uzDomain-1.0 uzDomain-1.0.xsd">
	    <uzDomain:identification>ya3999439</uzDomain:identification>
	   </uzDomain:create>
	  </extension>
      <clTRID>USER-1276171392</clTRID>
    </command>
  </epp>

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

  • как ссылка на уже имеющиеся в реестре объекты "Хост":
       <domain:ns>
          <domain:hostObj>ns1.example.epp.uz</domain:hostObj>
          <domain:hostObj>ns2.example.epp.uz</domain:hostObj>
       </domain:ns>
    
  • как описание для создания новых объектов "Хост". Этот способ используется, как правило, при указании серверов в самом регистрируемом домене (glue-серверов):
       <domain:ns>
         <domain:hostAttr>
           <domain:hostName>ns1.example1-epp.uz</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"

top


Пример ответа сервера на команду <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="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example1-epp.uz</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>hst-20100610150312-508777-00002</svTRID>
    </trID>
   </response>
 </epp>

top


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

Пример ответа сервера на запрос, в котором указан неизвестный реестру сервер <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="urn:ietf:params:xml:ns:domain-1.0">
             ns2.example.epp.uz</domain:hostObj>
           </value>
           <reason lang="en">incorrect element domain:hostObj</reason>
         </extValue>
       </result>
       <trID>
         <clTRID>USER-1276172390</clTRID>
         <svTRID>hst-20100610151950-773873-00002</svTRID>
       </trID>
     </response>
   </epp>

top


 Обработка заявки, требующей дополнительной автономной проверки

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

  <?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="urn:ietf:params:xml:ns:domain-1.0">
          <domain:name>example1.uz</domain:name>
          <domain:period unit="y">2</domain:period>
          <domain:ns>
            <domain:hostObj>ns1.domain.uz</domain:hostObj>
            <domain:hostObj>ns2.domain.uz</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-1393686180</clTRID>
    </command>
  </epp>

При поступлении заявки, требующей дополнительной автономной проверки и подтверждения, клиенту отправляется ответ, что заявка принята и поставлена в очередь на обработку. Запрос находится на рассмотрении, по окончании которого клиент будет уведомлен с помощью <poll> сообщений и по email.
Код ответа на запрос: 1001

1001    "Command completed successfully; action pending"
        "Команда выполнена успешно, действие отложено"

top


 Пример ответа сервера на команду <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="1001">
       <msg lang="en">Command completed successfully; action pending</msg>
     </result>
     <resData>
      <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example1.uz</domain:name>
        <domain:crDate>2014-03-01T15:03:12+03:00</domain:crDate>
        <domain:exDate>2015-03-01T15:03:12+03:00</domain:exDate>
      </domain:creData>
    </resData>
    <trID>
      <clTRID>USER-1393686180</clTRID>
      <svTRID>hst-20140301150312-588777-00002</svTRID>
    </trID>
   </response>
 </epp>

Новый доменный объект создается в Реестре со статусом "pendingCreate". Оператор Реестра проверит заявку и после её подтверждения клиенту будут отправлены <poll> и email-сообщения о результатах обработки.

<poll>-cообщения, сформированные как результат обработки отложенной заявки <create>, в элементе <resData> срдержат следующие элементы:

  • <domain:name> - полностью определенное имя доменного объекта. Элемент содержит атрибут "paResult", который может иметь значения:
    • "1" - заявка подтверждена и выполнена
    • "0" - заявка отклонена
  • <domain:paTRID> - содержит идентификаторы транзакций клиента (clTRID) и ответа сервера (svTRID) по отложенной заяке.
  • <domain:paDate> - дата и время обработки заявки (локальное).

top


Пример <poll> сообщения с информацией об успешном завершении обработки заявки <create> domain

  <?xml version="1.0" encoding="UTF-8"?>
  <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <response>
      <result code="1301">
        <msg lang="en">Command completed successfully; ack to dequeue</msg>
      </result>
      <msgQ count="5" id="12345">
        <qDate>2014-03-01T16:37:35+03:00</qDate>
        <msg>Pending action completed successfully</msg>
      </msgQ>
      <resData>
        <domain:panData 
          xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
          <domain:name paResult="1">example1.uz</domain:name>
             <domain:paTRID>
               <clTRID>USER-1393686180</clTRID>
               <svTRID>hst-20140301150312-588777-00002</svTRID>
             </domain:paTRID>
          <domain:paDate>2014-03-01T16:00:00.0Z</domain:paDate>
        </domain:panData>
      </resData>
      <trID>
        <clTRID>USER2-1393688234</clTRID>
        <svTRID>hst-20140301163736-665862-00002</svTRID>
      </trID>
    </response>
  </epp>

Элемент <msg> содержит уведомление об успешном завершении операции:

Pending action completed successfully
Отложенная операция завершена

Аттрибут paResult элемента domain:name имеет значение "1"

top


 Пример <poll> сообщения с информацией об отказе в обработке заявки <create> domain

  <?xml version="1.0" encoding="UTF-8"?>
  <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <response>
      <result code="1301">
        <msg lang="en">Command completed successfully; ack to dequeue</msg>
      </result>
      <msgQ count="5" id="12345">
        <qDate>2014-03-01T16:37:35+03:00</qDate>
        <msg>Pending action rejected.</msg>
      </msgQ>
      <resData>
        <domain:panData 
          xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
          <domain:name paResult="0">example1.uz</domain:name>
             <domain:paTRID>
               <clTRID>USER-1393686180</clTRID>
               <svTRID>hst-20140301150312-588777-00002</svTRID>
             </domain:paTRID>
          <domain:paDate>2014-03-01T16:00:00.0Z</domain:paDate>
        </domain:panData>
      </resData>
      <trID>
        <clTRID>USER2-1393688234</clTRID>
        <svTRID>hst-20140301163736-665862-00002</svTRID>
      </trID>
    </response>
  </epp>

Аттрибут paResult элемента domain:name имеет значение "0"

Элемент <msg> содержит уведомление об отказе в обработке операции:

Pending action rejected
Отложенная операция отклонена

После подтвержения заявки <create> у домена снимается статус "pendingCreate".

В случае отклонения заявки <create> доменный объект удаляется из Реестра.

top



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

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

1001    "Command completed successfully; action pending"
        "Команда выполнена успешно, действие отложено"

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"
        "Заявка отклонена"
         Ошибка выдается в случае, если заявка не соответсвует правилам
         публичного домена либо при недостатке средств на платную операцию