.UA - наш дiм. Зробимо його кращим!

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> - authInfo (пароль до об'єкту).
  • <contact:disclose> - набір прапорців для закриття (flag=" 0") або розкриття (flag=" 1") персональної інформації

Якщо змінюється інформація у будь-якому елементі <contact: postalInfo>, необхідно вказувати увесь блок <contact: postalInfo>, при цьому обов'язково мають бути присутніми елементи:

  • <contact:name>
  • <contact:city>
  • <contact:cc>
навіть якщо вони не змінюються.


Якщо необхідно очистити інформацію в елементі <contact: voice>, необхідно вказати:

<contact:voice>+000.000</contact:voice>

Якщо необхідно очистити інформацію в елементі <contact: fax>, необхідно вказати:

<contact:fax>+000.000</contact:fax>

Приклад команди <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.571234567</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>CO-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.