Update contact[Link]
Purpose
An EPP contact <update> command provides a transform operation that allows a client to modify the attributes of a contact object.
The EPP protocol provides for a granular update, without having to re-specify all unchanged fields (with the exception that for a change in address, the complete <addr> block needs to be specified). To achieve this goal, the update command consists of add, chg and/or rem blocks.
DNS Belgium registry policy restricts updating the licensee (registrant) contact, the identity has to remain the same. This is explained under the topic contact types.
When changes to the registrant’s name field (private person or organisation) are necessary and the legal identity of the registrant remains the same, you can file a request for monitored update.
Please be aware that minor corrections of the registrant’s name field are possible: uppercase/lowercase characters can be exchanged and whitespaces, “.” and “-“ can be added or removed. Please note: you cannot add whitespaces, “.” and “-“ to the <org> field if the <org> field was empty prior to the update and you cannot remove them when they are the only entries in the that field.
There is one exception, all updates are allowed when the contact is in status verification pending.
The update contact command is composed according to the standard EPP syntax. Some components are changed by DNS Belgium and need further explanation:
<add> and <rem> The EPP protocol offers the possibility to add to and remove a status from a contact. This is not used by DNS Belgium. If it is provided, EPP will return an error.
<contact:id> is required. This is the contact alias that uniquely identifies a contact. It is generated by the registration system at creation of the contact and returned in the return message.
<contact:chg> is required. This is the tag that indicates that (one of) the following elements needs to be updated in the database.
The various fields, embedded in a <contact:chg> block are the same as for object creation. Please refer to that command for more information. All fields are optional as you only need to specify those that change. (Note: if you want to change a part of the <addr> block, you need to specify the complete block).
Please refer to the examples to see a complete request.
Examples[Link]
Standard update (when contact is not enabled for monitored update):
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd
urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd
http://www.dns.be/xml/epp/dnsbe-1.0 dnsbe-1.0.xsd">
<command>
<update>
<contact:update>
<contact:id>c16</contact:id>
<contact:chg>
<contact:postalInfo type="loc">
<contact:name>Michael Smith</contact:name>
<contact:addr>
<contact:street>Green Tower 23</contact:street>
<contact:city>London</contact:city>
<contact:sp></contact:sp>
<contact:pc>1111</contact:pc>
<contact:cc>GB</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+44.1865332156</contact:voice>
</contact:chg>
</contact:update>
</update>
<extension>
<dnsbe:ext>
<dnsbe:update>
<dnsbe:contact>
<dnsbe:chg>
<dnsbe:vat>GB123456789</dnsbe:vat>
<dnsbe:lang>en</dnsbe:lang>
</dnsbe:chg>
</dnsbe:contact>
</dnsbe:update>
</dnsbe:ext>
</extension>
<clTRID>clientref-00004</clTRID>
</command>
</epp>
After a successful update, the EPP server responds with:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<extension>
<dnsbe:ext>
<dnsbe:result>
<dnsbe:msg>Contact c16 updated</dnsbe:msg>
</dnsbe:result>
</dnsbe:ext>
</extension>
<trID>
<clTRID>clientref-00004</clTRID>
<svTRID>dnsbe-103</svTRID>
</trID>
</response>
</epp>
For the same registrant, we only blank the <org> field:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd
urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd
http://www.dns.be/xml/epp/dnsbe-1.0 dnsbe-1.0.xsd">
<command>
<update>
<contact:update>
<contact:id>c16</contact:id>
<contact:chg>
<contact:postalInfo type="loc">
<contact:org></contact:org>
</contact:postalInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>clientref-00006</clTRID>
</command>
</epp>
If this contact were a registrant contact, the EPP server will yield the following result:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
<response>
<result code="2308">
<msg>Data management policy violation</msg>
</result>
<extension>
<dnsbe:ext>
<dnsbe:result>
<dnsbe:msg>Update of company name is not allowed</dnsbe:msg>
</dnsbe:result>
</dnsbe:ext>
</extension>
<trID>
<clTRID>clientref-00006</clTRID>
<svTRID>dnsbe-105</svTRID>
</trID>
</response>
</epp>
To comply with the registry policy, the <contact:org> has to remain the same for a licensee (registrant) contact. The last example for <contact:update> shows the answer if the update fails due to not following the registry policy.
If we receive a contact update which doesn’t change the object, we won’t log the update. You will receive a success response, but the response will indicate no changes have been made, and the update will not be shown in the contact history.
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<extension>
<dnsbe:ext>
<dnsbe:result>
<dnsbe:msg>Contact c16 updated without change, no history created</dnsbe:msg>
</dnsbe:result>
</dnsbe:ext>
</extension>
<trID>
<clTRID>clientref-00004</clTRID>
<svTRID>dnsbe-103</svTRID>
</trID>
</response>
</epp>
Below the response in case of performing a monitored update on the company name where the contact-id is c434.
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<extension>
<dnsbe:ext>
<dnsbe:result>
<dnsbe:msg>Monitored Contact 121 for contact c434 updated</dnsbe:msg>
</dnsbe:result>
</dnsbe:ext>
</extension>
<trID>
<clTRID>clientref-00006</clTRID>
<svTRID>dnsbe-81656</svTRID>
</trID>
</response>
</epp>
If the registrar tries to perform a monitored update while there is still a request pending which needs to be approved by DNS Belgium, the server will reply:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
<response>
<result code="2308">
<msg>Data management policy violation</msg>
</result>
<extension>
<dnsbe:ext>
<dnsbe:result>
<dnsbe:msg>Monitored update has already been done</dnsbe:msg>
</dnsbe:result>
</dnsbe:ext>
</extension>
<trID>
<clTRID>clientref-00006</clTRID>
<svTRID>dnsbe-81657</svTRID>
</trID>
</response>
</epp>
Please note: when a particular contact has been enabled for a monitored update, the update of at least the <org> field (if the registrant is a company) or the <name> field (if the registrant is a private person) is mandatory. If an update command of this contact is performed without change to the <org> or <name> tag, the server will return the following error message:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
<response>
<result code="2308">
<msg>Data management policy violation</msg>
</result>
<extension>
<dnsbe:ext>
<dnsbe:result>
<dnsbe:msg>Update of company name or private person name is mandatory</dnsbe:msg>
</dnsbe:result>
</dnsbe:ext>
</extension>
<trID>
<clTRID>clientref-00006</clTRID>
<svTRID>dnsbe-81657</svTRID>
</trID>
</response>
</epp>