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
Якщо об'єкт знаходиться в статусі 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://hostmaster.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).
Якщо ні - помилка 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.