DOMAIN:UPDATE
Команда EPP <update> domain предназначена для изменения объекта Домен.
Только регистратор-спонсор объекта может изменять его.
Команда содержит следующие элементы:
В команде <update> должен присутствовать хотя бы один из элементов <domain:add>,
<domain:rem>, <domain:chg>
Элементы <domain:add> и <domain:rem> содержат один или несколько
элементов:
- <domain:ns> - список добавляемых или удаляемых name-серверов.
- <domain:contact> - список добавляемых или удаляемых административных,
технических контактов домена. Добавляемые контакты должны быть уже
зарегистрированы в реестре. (объекты "Контакт")
- <domain:status> - список добавляемых или удаляемых статусов объекта Домен.
Возможные статусы объекта:
- clientUpdateProhibited
- clientDeleteProhibited
- clientTransferProhibited
- clientRenewProhibited
- clientHold
Для задания элемента <domain:ns> можно использовать
один из двух способов:
- как ссылка на уже имеющиеся в реестре объекты "Хост":
<domain:ns>
<domain:hostObj>ns1.example.epp.uz</domain:hostObj>
<domain:hostObj>ns2.example.epp.uz</domain:hostObj>
</domain:ns>
- как описание для создания новых объектов "Хост".
<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>
Если объект находится в статусе clientUpdateProhibited, то все изменения, кроме снятия статуса clientUpdateProhibited,
будут заблокированы.
Если добавляется статус, который уже был установлен, либо удаляется статус, которого не было,
изменения не вносятся, запрос игнорируется.
Элемент <domain:chg> может содержать элементы:
- <domain:registrant> - элемент, определяющий регистранта домена. Это должна быть ссылка на
объект контакт, уже имеющийся (предварительно зарегистрированный) в реестре.
- <domain:authInfo> - элемент, устанавливающий authInfo (пароль к объекту).
Может содержать элемент <domain:pw>, в котором указывается новый пароль,
либо элемент <domain:null/>, означающий обнуление пароля.
Примеры команды <update>
Пример изменения списка контактов и серверов:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example1-epp.uz</domain:name>
<domain:add>
<domain:ns>
<domain:hostObj>ns3.example.epp.uz</domain:hostObj>
</domain:ns>
<domain:contact type="tech">ex21</domain:contact>
</domain:add>
<domain:rem>
<domain:ns>
<domain:hostObj>ns1.example.epp.uz</domain:hostObj>
</domain:ns>
<domain:contact type="tech">ex11</domain:contact>
</domain:rem>
<domain:chg>
<domain:registrant>ex22</domain:registrant>
</domain:chg>
</domain:update>
</update>
<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-1276251625</clTRID>
</command>
</epp>
top
Пример установки статуса clientTransferProhibited и обнуления authInfo
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example1-epp.uz</domain:name>
<domain:add>
<domain:status s="clientTransferProhibited"/>
</domain:add>
<domain:chg>
<domain:authInfo>
<domain:null/>
</domain:authInfo>
</domain:chg>
</domain:update>
</update>
<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-1276251625</clTRID>
</command>
</epp>
top
Пример сброса статуса clientTransferProhibited и установки authInfo
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example1-epp.uz</domain:name>
<domain:rem>
<domain:status s="clientTransferProhibited"/>
</domain:rem>
<domain:chg>
<domain:authInfo>
<domain:pw>2BARfoo</domain:pw>
</domain:authInfo>
</domain:chg>
</domain:update>
</update>
<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-1276251625</clTRID>
</command>
</epp>
top
Пример ответа сервера на команду <update>
При успешной обработке команды <update> в ответе сервера секции <resData> отсутствует.
<?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>
<trID>
<clTRID>USER-1276251625</clTRID>
<svTRID>hst-20100611132026-197131-00002</svTRID>
</trID>
</response>
</epp>
top
При поступлении заявки, требующей дополнительной автономной проверки и подтверждения, клиенту
отправляется ответ, что заявка принята и поставлена в очередь на обработку.
Запрос находится на рассмотрении, по окончании которого клиент будет уведомлен с помощью <poll> сообщений и по email.
Код ответа на запрос: 1001
1001 "Command completed successfully; action pending"
"Команда выполнена успешно, действие отложено"
top
Пример ответа сервера на команду <update>, требующей дополнительной проверки и подтверждения
<?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>
<trID>
<clTRID>USER-1393686180</clTRID>
<svTRID>UZ-20140301150312-588777-00002</svTRID>
</trID>
</response>
</epp>
Доменный объект получает статус "pendingUpdate". Никакие другие запросы на изменение объекта до конца обработки заявки приняты не будут.
После проверки заявки Оператором Реестра и её обработки клиенту будут отправлены
<poll> и email-сообщения о результатах.
<poll>-cообщения, сформированные как результат обработки отложенной заявки <update>,
в элементе <resData> срдержат следующие элементы:
- <domain:name> - полностью определенное имя доменного объекта. Элемент содержит атрибут "paResult", который может иметь значения:
- "1" - заявка подтверждена и выполнена
- "0" - заявка отклонена
- <domain:paTRID> - содержит идентификаторы транзакций клиента (clTRID) и ответа сервера (svTRID) по отложенной заяке.
- <domain:paDate> - дата и время обработки заявки (локальное).
top
Пример <poll> сообщения с информацией об успешном завершении обработки заявки <update> 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> сообщения с информацией об отказе в обработке заявки <update> 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. Information about TM is absent</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
Отложенная операция отклонена
После подтвержения заявки <update> у домена снимается статус "pendingUpdate".
В случае отклонения заявки <update> доменный объект не изменяется.
top
Коды ответов сервера на команду <update>
1000 "Command completed successfully"
"Команда выполнена успешно"
1001 "Command completed successfully; action pending"
"Команда выполнена успешно, действие отложено"
2001 "Command syntax error"
"Синтаксическая ошибка команды"
2005 "Parameter value syntax error"
"Синтаксическая ошибка параметра"
2201 "Authorization error"
"Ошибка авторизации"
Ошибка выдается при попытке изменить чужой объект.
2303 "Object does not exist"
"Объект не существует"
Ошибка выдается при попытке изменить несуществующий объект
либо при попытке использовать в качестве
регистранта, контакта или хоста несуществующий объект.
2304 "Object status prohibits operation"
"Статус объекта не позволяет совершение операции"
Ошибка выдается при попытке изменить объект, имеющий
статус UpdateProhibited либо статусы
pendingCreate, pendingUpdate, pendingDelete, pendingTransfer,
redemptionPeriod.
2309 "Application rejected"
"Заявка отклонена"
Ошибка выдается в случае, если заявка не соответствует правилам
публичного домена