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


CONTACT:UPDATE

Команда EPP <update> contact предназначена для изменения информации об объекте Контакт. Только спонсор объекта может изменять его.

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

  • <contact:id> - идентификатор контакта.
  • <contact:add> - необязательный элемент, содержащий значения атрибутов, которые необходимо добавить к объекту
  • <contact:rem> - необязательный элемент, содержащий значения атрибутов, которые требуется удалить
  • <contact:chg> - необязательный элемент, содержащий значения атрибутов, которые необходимо изменить

В команде <update> должен присутствовать хотя бы один из элементов <contact:add>, <contact:rem>, <contact:chg>

Элементы <contact:add> и <contact:rem> содержат один или несколько элементов <contact:status> для установки или снятия статуса объекта Контакт. Возможные статусы объекта Контакт:

  • clientUpdateProhibited
  • clientDeleteProhibited
  • clientTransferProhibited

Если объект находится в статусе clientUpdateProhibited, то все изменения, кроме снятия статуса clientUpdateProhibited, будут заблокированы.

При попытке добавить статус, который уже был установлен, либо удалить статус, которого не было, изменения не происходят.

Элемент <contact:chg> содержит следующие необязательные элементы:

  • <contact:postalInfo> - один или два элемента с адресной информацией.
    Элемент type=”int” содержит текст только латиницей; type="loc” - текст на нациальном языке в кодировке UTF-8
    <contact:postalInfo> содержит следующие под-элементы:
    • <contact:name> - имя или должность человека
    • <contact:org> - название организации
    • <contact:addr> - адрес, состоящий из:
      • <contact:street> - до трех строк.
      • <contact:city> - город
      • <contact:sp> - район или провинция.
      • <contact:pc> - почтовый индекс
      • <contact:cc> - двухсимвольный код страны
  • <contact:voice> - номер телефона
  • <contact:fax> - номер факса
  • <contact:email> - адрес email
  • <contact:authInfo><pw> - auth-info (пароль к объекту).
  • <contact:disclose> - набор флагов для скрытия (flag="0") или раскрытия (flag="1") персональной информации

Если изменяется информация в любом элементе <contact:postalInfo>, необходимо указывать весь блок <contact:postalInfo>, при этом обязательно должны присутствовать элементы:

  • <contact:name>
  • <contact:city>
  • <contact:cc>
даже если они не изменяются.


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

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   <command>
     <update>
       <contact:update xmlns:contact="http://eunic.net.ua/epp/contact-1.1">
         <contact:id>ex123</contact:id>
         <contact:add>
           <contact:status s="clientDeleteProhibited"></contact:status>
           <contact:status s="clientUpdateProhibited"></contact:status>
         </contact:add>
         <contact:chg>
           <contact:postalInfo type="loc">
             <contact:name>Василий Пупкин</contact:name>
             <contact:org>Моя Новая Компания</contact:org>
             <contact:addr>
               <contact:street>22, Улица</contact:street>
               <contact:city>Киев</contact:city>
               <contact:cc>UA</contact:cc>
             </contact:addr>
           </contact:postalInfo>
           <contact:voice>+380.441234567</contact:voice>
           <contact:authInfo>
             <contact:pw>NewPassword</contact:pw>
           </contact:authInfo>
           <contact:disclose flag="0">
             <contact:name type="loc"/>
             <contact:voice/>
           </contact:disclose>
         </contact:chg>
       </contact:update>
     </update>
     <clTRID>USER-1275850648</clTRID>
   </command>
 </epp>

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

  • Команда синтаксически правильная.
    Если нет - ошибка 2001 "Command syntax error"
  • Заданные в команде параметры синтаксически правильные.
    Если нет - ошибка 2005 "Parameter value syntax error"
  • Информации о контакте есть в Реестре.
    Если нет - ошибка 2303 "Object not exists"
  • Запрос поступил от спонсора объекта.
    Если нет - ошибка 2201 "Authorization error"
  • Статус объекта позволяет вносить изменения (статус не UpdateProhibited и не PendingTransfer).
    Если нет - ошибка 2304 "Object status prohibits"

Пример ответа сервера на команду <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-1275850648</clTRID>
       <svTRID>UA-20100606215846-157155-00002</svTRID>
     </trID>
   </response>
 </epp>

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

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

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

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

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

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

2304    "Object status prohibits operation"
        "Статус об'єкта не дозволяє здійснення операції"
        "Статус объекта не позволяет совершение операции"
         Ошибка выдается при попытке изменить объект, имеющий
         статус UpdateProhibited.