EPP Index
From Openprovider API documentation
(21 intermediate revisions not shown) | |||
Line 2: | Line 2: | ||
==Introduction== | ==Introduction== | ||
- | + | EPP (Extensible Provisioning Protocol) is the communication standard for most registries. The EPP interface of Openprovider thus provides an interface that follows a standard, simplifying integration for any company that already implemented an EPP interface to another registry in the past. | |
+ | |||
+ | The EPP interface is a layer on top of the [[Main Page|general Openprovider API]]. This increases maintainability and stability, but might drop speed a little because of the translation from EPP to API format. | ||
+ | |||
+ | * '''Who should use the EPP interface?''' | ||
+ | ** Customers already having an EPP implementation to another domain provider. Connecting to the EPP interface of Openprovider is the easiest way for a quick start. | ||
+ | |||
+ | * '''Who should use the [[Main Page|general Openprovider API]]?''' | ||
+ | ** Customers that do not have implemented EPP yet: the Openprovider API is easier to implement and use | ||
+ | ** Customers that want to sell not only domains: the EPP interface only supports domain and contact management, no support for SSL, licenses and other products | ||
+ | |||
+ | In general: if you have no specific reason to use EPP, we recommend the Openprovider API. | ||
+ | |||
+ | ===Scope=== | ||
+ | The EPP interface is built for domains and contacts only. For all other products, the [[Main Page|general Openprovider API]] should be used. | ||
===Reference to RFCs=== | ===Reference to RFCs=== | ||
- | + | * [http://www.rfc-editor.org/rfc/rfc5730.txt RFC 5730 Extensible Provisioning Protocol (EPP)] | |
+ | * [http://www.rfc-editor.org/rfc/rfc5731.txt RFC 5731 Extensible Provisioning Protocol (EPP) Domain Name Mapping] | ||
+ | * [http://www.rfc-editor.org/rfc/rfc5733.txt RFC 5733 Extensible Provisioning Protocol (EPP) Contact Mapping] | ||
===Differences=== | ===Differences=== | ||
- | + | * Cookies are used to keep a session alive. After the ''login'' command, the server returns a cookie ''session_id'' which must be used in all following requests to the server until closing the session. | |
- | + | * DNSSEC is not yet supported. | |
+ | * Although not against the RFCs, please note that Openprovider uses a lot of extensions to be able to cover all TLD-specific requirements. The extensions are defined in the [[EPP XSD extensions opprov|opprov-1.0.xsd]] file | ||
===Example=== | ===Example=== | ||
- | + | * A basic PHP-example: [[Example Script EPP PHP|example-epp.php]] | |
+ | |||
+ | ===EPP server=== | ||
+ | * hostname: https://epp.openprovider.eu | ||
+ | * port: 443 | ||
+ | * username: similar to RCP username | ||
+ | ** ''Note: EPP defines a maximum length of 16 characters for the username. If your RCP username is longer, please contact our support team to change it to a shorter one.'' | ||
+ | * password: similar to RCP password | ||
==Session== | ==Session== | ||
Line 66: | Line 90: | ||
<command> | <command> | ||
<login> | <login> | ||
- | <clID> | + | <clID>username</clID> |
- | <pw> | + | <pw>password</pw> |
<options> | <options> | ||
<version>1.0</version> | <version>1.0</version> | ||
Line 99: | Line 123: | ||
</epp> | </epp> | ||
- | + | * '''Important:''' together with the response, the server returns a cookie ''session_id'' which must be used in all following requests to the server until closing the session. | |
+ | * Password reset via the EPP ''login'' command is not possible | ||
===Logout=== | ===Logout=== | ||
Line 172: | Line 197: | ||
<create> | <create> | ||
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
<domain:period unit="y">1</domain:period> | <domain:period unit="y">1</domain:period> | ||
<domain:ns> | <domain:ns> | ||
<domain:hostAttr> | <domain:hostAttr> | ||
- | <domain:hostName> | + | <domain:hostName>ns1.example.com</domain:hostName> |
<domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> | <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> | ||
</domain:hostAttr> | </domain:hostAttr> | ||
<domain:hostAttr> | <domain:hostAttr> | ||
- | <domain:hostName> | + | <domain:hostName>ns2.example.com</domain:hostName> |
<domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> | <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> | ||
+ | </domain:hostAttr> | ||
+ | <domain:hostAttr> | ||
+ | <domain:hostName>ns3.example.com</domain:hostName> | ||
+ | <domain:hostAddr ip="v4">123.123.123.125</domain:hostAddr> | ||
+ | <domain:hostAddr ip="v6">2607:f0d0:1002:51::5</domain:hostAddr> | ||
+ | </domain:hostAttr> | ||
+ | <domain:hostAttr> | ||
+ | <domain:hostName>ns3.company.net</domain:hostName> | ||
</domain:hostAttr> | </domain:hostAttr> | ||
</domain:ns> | </domain:ns> | ||
- | <domain:registrant>FL902041- | + | <domain:registrant>FL902041-US</domain:registrant> |
- | <domain:contact type="admin">FL902041- | + | <domain:contact type="admin">FL902041-US</domain:contact> |
- | <domain:contact type="tech">FL902041- | + | <domain:contact type="tech">FL902041-US</domain:contact> |
<domain:authInfo> | <domain:authInfo> | ||
<domain:pw/> | <domain:pw/> | ||
Line 198: | Line 231: | ||
<op:promoCode>PROMO2</op:promoCode> | <op:promoCode>PROMO2</op:promoCode> | ||
<op:useDomicile>false</op:useDomicile> | <op:useDomicile>false</op:useDomicile> | ||
- | <op:nsGroup> | + | <op:nsGroup></op:nsGroup> |
<op:comments>any comment here</op:comments> | <op:comments>any comment here</op:comments> | ||
<op:autorenew>default</op:autorenew> | <op:autorenew>default</op:autorenew> | ||
- | + | <op:nsTemplateName></op:nsTemplateName> | |
- | <op:nsTemplateName> | + | |
</op:domain> | </op:domain> | ||
</op:create> | </op:create> | ||
Line 211: | Line 243: | ||
</epp> | </epp> | ||
- | * ''<domain:pw>'' parameter is required by the EPP protocol, but is ignored by Openprovider | + | * ''<domain:pw>'' parameter is required by the EPP protocol, but is ignored by Openprovider; please leave it blank |
- | * ''<domain:contact | + | * ''<domain:contact>'': the only supported contact types are ''admin'' and ''tech'' |
+ | * ''<op:autorenew>'': accepted values: ''on'', ''off'', ''default'' | ||
+ | * ''<op:nsTemplateName>'': can be used if <op:nsGroup> is ''dns-openprovider'' | ||
+ | |||
;Response: | ;Response: | ||
Line 223: | Line 258: | ||
<resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
<domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
<domain:crDate>2012-07-17T14:41:03.0Z</domain:crDate> | <domain:crDate>2012-07-17T14:41:03.0Z</domain:crDate> | ||
<domain:exDate>2012-07-29T14:41:03.0Z</domain:exDate> | <domain:exDate>2012-07-29T14:41:03.0Z</domain:exDate> | ||
Line 242: | Line 277: | ||
<delete> | <delete> | ||
<domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
</domain:delete> | </domain:delete> | ||
</delete> | </delete> | ||
Line 264: | Line 299: | ||
===Restore=== | ===Restore=== | ||
- | Openprovider implements [http://tools.ietf.org/html/rfc3915 | + | Openprovider implements [http://tools.ietf.org/html/rfc3915 Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP)] partially for restore procedure. The EPP response on <domain:info> command for deleted domains that can be still restored has an additional extension section '''<rgp:infData/>''', containing value '''pendingDelete''': |
- | + | ||
- | EPP response | + | |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:infData> | |
- | + | ... | |
- | + | </domain:infData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | ... | |
- | + | <rgp:infData xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0"> | |
- | + | '''<rgp:rgpStatus s="pendingDelete"/>''' | |
- | + | </rgp:infData> | |
- | + | ... | |
- | + | </extension> | |
- | + | ||
</epp> | </epp> | ||
Line 295: | Line 327: | ||
<update> | <update> | ||
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
<domain:chg/> | <domain:chg/> | ||
</domain:update> | </domain:update> | ||
Line 307: | Line 339: | ||
</command> | </command> | ||
</epp> | </epp> | ||
- | + | ||
+ | '''<domain:add/>''', '''<domain:rem/>''' and '''<domain:chg/>''' must not contain any elements in it. | ||
;Reply: | ;Reply: | ||
Line 327: | Line 360: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <command> | |
- | + | <info> | |
- | + | <domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | </domain:info> | |
- | + | </info> | |
- | + | <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
+ | |||
;Reply: | ;Reply: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:infData> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | <domain:roid>762473_DOMAIN-OPENPROV</domain:roid> | |
- | + | <domain:status s="ok"/> | |
- | + | <domain:registrant>OT001234-NL</domain:registrant> | |
- | + | <domain:contact type="admin">OM901234-US</domain:contact> | |
- | + | <domain:contact type="tech">DD01234-NL</domain:contact> | |
- | + | <domain:ns> | |
- | + | <domain:hostAttr> | |
- | + | <domain:hostName>ns1.example.com</domain:hostName> | |
- | + | <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> | |
- | + | </domain:hostAttr> | |
- | + | <domain:hostAttr> | |
- | + | <domain:hostName>ns2.example.com</domain:hostName> | |
- | + | <domain:hostAddr ip="v4">234.234.234.234</domain:hostAddr> | |
- | + | </domain:hostAttr> | |
- | + | </domain:ns> | |
- | + | <domain:clID>username</domain:clID> | |
- | + | <domain:crDate>2012-03-28T14:08:53.0Z</domain:crDate> | |
- | + | <domain:exDate>2013-03-28T12:08:54.0Z</domain:exDate> | |
- | + | <domain:authInfo> | |
- | + | <domain:pw>AUTHCODE</domain:pw> | |
- | + | </domain:authInfo> | |
- | + | </domain:infData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:infData> | |
- | + | <op:domain> | |
- | + | <op:isLocked>false</op:isLocked> | |
- | + | <op:reDate>2012-03-28T14:08:49.0Z</op:reDate> | |
- | + | <op:renewalDate>2013-03-28T12:08:54.0Z</op:renewalDate> | |
- | + | <op:canRenew>true</op:canRenew> | |
- | + | <op:autorenew>default</op:autorenew> | |
- | + | <op:useDomicile>false</op:useDomicile> | |
- | + | </op:domain> | |
- | + | </op:infData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <trID> | |
- | + | <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> | |
- | + | <svTRID>CDAE7C10-A3D0-4EA7-B290-2E1A380A0690</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
Line 396: | Line 430: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <command> | |
- | + | <renew> | |
- | + | <domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | <domain:curExpDate>2012-02-18</domain:curExpDate> | |
- | + | <domain:period unit="y">1</domain:period> | |
- | + | </domain:renew> | |
- | + | </renew> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
- | * | + | * '''<domain:curExpDate/>''' is required by EPP protocol but not used by current version of Openprovider software |
;Response: | ;Response: | ||
- | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData> | |
- | + | <domain:renData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | <domain:exDate>2012-02-18T16:02:04.0Z</domain:exDate> | |
- | + | </domain:renData> | |
- | + | </resData> | |
- | + | <trID> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | <svTRID>F7F750BE-3014-11DE-A523-A02790CC78DB</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
===Transfer=== | ===Transfer=== | ||
+ | |||
====Request Transfer==== | ====Request Transfer==== | ||
;Request: | ;Request: | ||
Line 438: | Line 472: | ||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | ||
xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | ||
- | + | <command> | |
- | + | <transfer op="request"> | |
- | + | <domain:transfer> | |
- | + | <domain:name>example.de</domain:name> | |
- | + | <domain:authInfo> | |
- | + | <domain:pw>AUTHCODE</domain:pw> | |
- | + | </domain:authInfo> | |
- | + | </domain:transfer> | |
- | + | </transfer> | |
- | + | <extension> | |
- | + | <op:ext> | |
- | + | <op:transfer> | |
- | + | <op:domain> | |
- | + | <op:registrant>FL902042-US</op:registrant> | |
- | + | <op:contact type="admin">FL902042-US</op:contact> | |
- | + | <op:contact type="tech">FL902042-US</op:contact> | |
- | + | <op:ns> | |
- | + | <domain:hostAttr> | |
- | + | <domain:hostName>ns1.example.de</domain:hostName> | |
- | + | <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> | |
- | + | </domain:hostAttr> | |
- | + | <domain:hostAttr> | |
- | + | <domain:hostName>ns2.example.de</domain:hostName> | |
- | + | <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> | |
- | + | </domain:hostAttr> | |
- | + | </op:ns> | |
- | + | <op:autorenew>on</op:autorenew> | |
- | + | <op:nsGroup></op:nsGroup> | |
- | + | <op:useDomicile>true</op:useDomicile> | |
- | + | <op:comments>ANY COMMENT HERE</op:comments> | |
- | + | <op:promoCode>PROMOCODE</op:promoCode> | |
- | + | <op:nsTemplateName></op:nsTemplateName> | |
- | + | </op:domain> | |
- | + | </op:transfer> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | </command> | |
- | + | ||
</epp> | </epp> | ||
+ | |||
+ | * ''<domain:contact>'': the only supported contact types are ''admin'' and ''tech'' | ||
+ | * ''<op:autorenew>'': accepted values: ''on'', ''off'', ''default'' | ||
+ | * ''<op:nsTemplateName>'': can be used if <op:nsGroup> is ''dns-openprovider'' | ||
;Reply: | ;Reply: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:trnData> | |
- | + | <domain:name>example.de</domain:name> | |
- | + | <domain:trStatus>pending</domain:trStatus> | |
- | + | <domain:reID>username</domain:reID> | |
- | + | <domain:reDate>2012-08-17T11:21:13.0Z</domain:reDate> | |
- | + | <domain:acID>UNSUPPORTED</domain:acID> | |
- | + | <domain:acDate>2012-08-17T11:21:13.0Z</domain:acDate> | |
- | + | <domain:exDate>2012-08-17T11:21:13.0Z</domain:exDate> | |
- | + | </domain:trnData> | |
- | + | </resData> | |
- | + | <trID> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | <svTRID>BE4FAFBF-177D-4632-9CE0-F5C02C4AAFB7</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
- | ''' | + | * '''Not supported output parameters''': acID, acDate, exDate |
- | * | + | * '''trStatus''' is restricted to 3 values: |
- | * | + | ** '''serverApproved''': the transfer is approved |
- | * | + | ** '''pending''' |
+ | ** '''serverCancelled''': the transfer is rejected or cancelled | ||
- | + | ====Cancel Transfer==== | |
- | + | ''Not available'' | |
- | + | ||
- | + | ||
- | + | ||
- | ====Cancel Transfer | + | |
====Approve Transfer==== | ====Approve Transfer==== | ||
Line 520: | Line 554: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <command> | |
- | + | <transfer op="approve"> | |
- | + | <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | </domain:transfer> | |
- | + | </transfer> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
+ | |||
;Reply: | ;Reply: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <trID> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | <svTRID>DCE0BD68-769B-4EA4-AFF1-CC40DFEC578D</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
+ | |||
====Query Transfer Status==== | ====Query Transfer Status==== | ||
;Request: | ;Request: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <command> | |
- | + | <transfer op="query"> | |
- | + | <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | </domain:transfer> | |
- | + | </transfer> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
+ | |||
;Reply: | ;Reply: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:trnData> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | <domain:trStatus>serverApproved</domain:trStatus> | |
- | + | <domain:reID>username</domain:reID> | |
- | + | <domain:reDate>2012-07-17T14:41:04.0Z</domain:reDate> | |
- | + | <domain:acID>UNSUPPORTED</domain:acID> | |
- | + | <domain:acDate>2012-07-17T14:41:21.0Z</domain:acDate> | |
- | + | <domain:exDate>2012-07-17T14:41:21.0Z</domain:exDate> | |
- | + | </domain:trnData> | |
- | + | </resData> | |
- | + | <trID> | |
- | + | <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> | |
- | + | <svTRID>31ED84C0-CADA-45BA-87A1-85238465CF30</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
- | ''' | + | * '''Not supported output parameters''': acID, acDate, exDate |
- | + | * '''trStatus''' is restricted to 3 values: | |
- | + | ** '''serverApproved''': the transfer is approved | |
- | * | + | ** '''pending''' |
- | + | ** '''serverCancelled''': the transfer is rejected or cancelled | |
- | + | ||
- | * '''serverApproved''' the transfer is approved | + | |
- | * '''pending''' | + | |
- | * '''serverCancelled''' the transfer is rejected or cancelled | + | |
===Update=== | ===Update=== | ||
Line 594: | Line 627: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <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>example.com</domain:name> | |
- | + | <domain:add> | |
- | + | <domain:ns> | |
- | + | <domain:hostAttr> | |
- | + | <domain:hostName>ns1.example.com</domain:hostName> | |
- | + | <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> | |
- | + | </domain:hostAttr> | |
- | + | </domain:ns> | |
- | + | <domain:contact type="tech">DD004372-NL</domain:contact> | |
- | + | <domain:status s="clientTransferProhibited"/> | |
- | + | </domain:add> | |
- | + | <domain:rem> | |
- | + | <domain:ns> | |
- | + | <domain:hostAttr> | |
- | + | <domain:hostName>ns2.example.com</domain:hostName> | |
- | + | </domain:hostAttr> | |
- | + | </domain:ns> | |
- | + | <domain:contact type="tech">JL901992-NL</domain:contact> | |
- | + | </domain:rem> | |
- | + | <domain:chg> | |
- | + | <domain:registrant>OT000288-NL</domain:registrant> | |
- | + | <domain:authInfo> | |
- | + | <domain:pw/> | |
- | + | </domain:authInfo> | |
- | + | </domain:chg> | |
- | + | </domain:update> | |
- | + | </update> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:update> | |
- | + | <op:domain> | |
- | + | <op:chg> | |
- | + | <op:autorenew>on</op:autorenew> | |
- | + | <op:useDomicile>false</op:useDomicile> | |
- | + | <op:comments>Custom comment</op:comments> | |
- | + | <op:nsGroup></op:nsGroup> | |
- | + | <op:resetAuthCode>true</op:resetAuthCode> | |
- | + | </op:chg> | |
- | + | </op:domain> | |
- | + | </op:update> | |
- | + | </op:ext> | |
+ | </extension> | ||
+ | <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> | ||
+ | </command> | ||
</epp> | </epp> | ||
+ | |||
;Response: | ;Response: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <trID> | |
- | + | <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> | |
- | + | <svTRID>E4509728-38CC-462F-BF9C-D7AFDB5420DF</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
- | * ''' | + | * '''<contact:pw/> element''' is NOT used but required by EPP protocol; please leave it blank |
+ | |||
+ | ===Support for new gTLDs and their launch phases=== | ||
+ | ;General information | ||
+ | * Openprovider follows the existing RFCs for launch phase support, although there are some small changes because of the registrar situation (instead of registry situation). See examples below. | ||
+ | * The '''domain:check''' can optionally be used to see if trademark claims applies; if so, you know that Openprovider will send a trademark claims notice to the proposed domain holder. The domain:create command is not different for a domain with or without claims. | ||
+ | * The '''domain:create''' command may contain the launch phase, see examples below. The supported launch phases are the following; for exact dates and times per extension, please look at the TLD detail pages on our [https://www.openprovider.co.uk/new-gtlds/overview-new-gtlds/ website]: | ||
+ | ** '''<launch:phase>sunrise</launch:phase>''' (base64 encoded SMD file required); accepted during Sunrise | ||
+ | ** '''<launch:phase>landrush</launch:phase>'''; accepted during Landrush | ||
+ | ** '''<launch:phase>claims</launch:phase>'''; accepted during trademark claims phase | ||
+ | ** '''<launch:phase name="preregistration">custom</launch:phase>'''; accepted until 3 hours before General Availability starts | ||
+ | |||
+ | ;Example check command+response to check if trademark claims applies | ||
+ | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
+ | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
+ | <command> | ||
+ | <check> | ||
+ | <domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
+ | <domain:name>trademark.tld</domain:name> | ||
+ | </domain:check> | ||
+ | </check> | ||
+ | '''<extension> | ||
+ | ''' <launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="claims"> | ||
+ | ''' <launch:phase>claims</launch:phase> | ||
+ | ''' </launch:check> | ||
+ | '''</extension> | ||
+ | <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID> | ||
+ | </command> | ||
+ | </epp> | ||
+ | |||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
+ | <response> | ||
+ | <result code="1000"> | ||
+ | <msg>Command completed successfully</msg> | ||
+ | </result> | ||
+ | '''<extension> | ||
+ | ''' <launch:chkData xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> | ||
+ | ''' <launch:phase>claims</launch:phase> | ||
+ | ''' <launch:cd> | ||
+ | ''' <launch:name exists="true">trademark.tld</launch:name> | ||
+ | ''' </launch:cd> | ||
+ | ''' </launch:chkData> | ||
+ | '''</extension> | ||
+ | <trID> | ||
+ | <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID> | ||
+ | <svTRID>37080027-DB39-416A-A82E-AF793FB14AE9</svTRID> | ||
+ | </trID> | ||
+ | </response> | ||
+ | </epp> | ||
+ | |||
+ | ;Example create command for a Sunrise application | ||
+ | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
+ | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
+ | <command> | ||
+ | <create> | ||
+ | <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
+ | <domain:name>example.tld</domain:name> | ||
+ | ... (other standard domain attributes) | ||
+ | </domain:create> | ||
+ | </create> | ||
+ | '''<extension> | ||
+ | ''' <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> | ||
+ | ''' <launch:phase>sunrise</launch:phase> | ||
+ | ''' <smd:encodedSignedMark xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0"> | ||
+ | ''' ... (base64-encoded SMD file) | ||
+ | ''' </smd:encodedSignedMark> | ||
+ | ''' </launch:create> | ||
+ | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | ||
+ | <op:create> | ||
+ | <op:domain> | ||
+ | ... (optional standard Openprovider extensions) | ||
+ | </op:domain> | ||
+ | </op:create> | ||
+ | </op:ext> | ||
+ | </extension> | ||
+ | <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> | ||
+ | </command> | ||
+ | </epp> | ||
+ | |||
+ | ;Example create extension for Landrush, claims and pre-registration orders | ||
+ | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
+ | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
+ | ... | ||
+ | <extension> | ||
+ | <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> | ||
+ | ''' <launch:phase>landrush</launch:phase> | ||
+ | </launch:create> | ||
+ | ... | ||
+ | |||
+ | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
+ | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
+ | ... | ||
+ | <extension> | ||
+ | <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> | ||
+ | ''' <launch:phase>claims</launch:phase> | ||
+ | </launch:create> | ||
+ | ... | ||
+ | |||
+ | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
+ | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
+ | ... | ||
+ | <extension> | ||
+ | <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> | ||
+ | ''' <launch:phase name="preregistration">custom</launch:phase> | ||
+ | </launch:create> | ||
+ | ... | ||
==Contact== | ==Contact== | ||
Line 660: | Line 803: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | ||
- | + | <command> | |
- | + | <check> | |
- | + | <contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |
- | + | <contact:id>IB000543-NL</contact:id> | |
- | + | <contact:id>IB000544-NL</contact:id> | |
- | + | </contact:check> | |
- | + | </check> | |
- | + | <clTRID>30F11A90-2FFB-11DE-ADDE-80000000D51D</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
+ | |||
;Response: | ;Response: | ||
- | <?xml | + | <?xml version="1.0" encoding="UTF-8"?> |
- | <epp | + | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> |
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |
- | + | <contact:chkData> | |
- | + | <contact:cd> | |
- | + | <contact:id avail="0">IB000543-NL</contact:id> | |
- | + | </contact:cd> | |
- | + | <contact:cd> | |
- | + | <contact:id avail="1">IB000544-NL</contact:id> | |
- | + | </contact:cd> | |
- | + | </contact:chkData> | |
- | + | </resData> | |
- | + | <trID> | |
- | + | <clTRID>30F11A90-2FFB-11DE-ADDE-80000000D51D</clTRID> | |
- | + | <svTRID>32C1BC3A-2FFB-11DE-B49B-B7731FA00EDE</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
Line 698: | Line 842: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | ||
- | + | <command> | |
- | + | <create> | |
- | + | <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> | |
- | + | <contact:id>IGNORED</contact:id> | |
- | + | <contact:postalInfo type="loc"> | |
- | + | <contact:name>John Doe</contact:name> | |
- | + | <contact:org>Example Inc.</contact:org> | |
- | + | <contact:addr> | |
- | + | <contact:street>Main street 15</contact:street> | |
- | + | <contact:city>Rotterdam</contact:city> | |
- | + | <contact:sp>Zuid-Holland</contact:sp> | |
- | + | <contact:pc>3024 BN</contact:pc> | |
- | + | <contact:cc>NL</contact:cc> | |
- | + | </contact:addr> | |
- | + | </contact:postalInfo> | |
- | + | <contact:voice>+31.104482299</contact:voice> | |
- | + | <contact:fax>+31.102440250</contact:fax> | |
- | + | <contact:email>jdoe@example.com</contact:email> | |
- | + | <contact:authInfo> | |
- | + | <contact:pw/> | |
- | + | </contact:authInfo> | |
- | + | </contact:create> | |
- | + | </create> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:create> | |
- | + | <op:contact> | |
- | + | <op:vat>NL09507882B01</op:vat> | |
- | + | <op:comments>Custom comment</op:comments> | |
- | + | <op:gender>male</op:gender> | |
- | + | <op:birthDate>1982-10-23</op:birthDate> | |
- | + | <op:birthCity>Amsterdam</op:birthCity> | |
- | + | <op:birthCountry>NL</op:birthCountry> | |
- | + | <op:birthAddress>Hoofdstraat 32</op:birthAddress> | |
- | + | <op:birthState>Nood-Holland</op:birthState> | |
- | + | <op:birthZipcode>1000 AA</op:birthZipcode> | |
- | + | <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity> | |
- | + | <op:companyRegistrationNumber>123456</op:companyRegistrationNumber> | |
- | + | <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | |
- | + | <op:headquartersAddress></op:headquartersAddress> | |
- | + | <op:headquartersCity></op:headquartersCity> | |
- | + | <op:headquartersCountry></op:headquartersCountry> | |
- | + | <op:headquartersState></op:headquartersState> | |
- | + | <op:headquartersZipcode></op:headquartersZipcode> | |
- | + | <op:socialSecurityNumber></op:socialSecurityNumber> | |
- | + | <op:passportNumber></op:passportNumber> | |
- | + | </op:contact> | |
- | + | </op:create> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <clTRID>30FC8ABC-2FFE-11DE-9786-80000000A8C5</clTRID> | |
- | + | </command> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</epp> | </epp> | ||
+ | |||
+ | * '''<contact:postalInfo>''' ''type'' attribute is restricted to only one value: ''loc'' | ||
+ | * '''<contact:id>''' is ignored by Openprovider | ||
+ | * '''<contact:pw>''' is ignored by Openprovider but required by the EPP protocol; please leave it blank | ||
+ | * '''<contact:disclose>''' is ignored by Openprovider | ||
;Response: | ;Response: | ||
<?xmlversion="1.0" encoding="UTF-8"?> | <?xmlversion="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData> | |
- | + | <contact:creData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |
- | + | <contact:id>IB000545-NL</contact:id> | |
- | + | <contact:crDate>2012-07-23T11:59:29.0Z</contact:crDate> | |
- | + | </contact:creData> | |
- | + | </resData> | |
- | + | <trID> | |
- | + | <clTRID>30FC8ABC-2FFE-11DE-9786-80000000A8C5</clTRID> | |
- | + | <svTRID>331E69A0-2FFE-11DE-B163-D0A51393EAB9</svTRID> | |
- | + | </trID> | |
- | + | </response> | |
</epp> | </epp> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===Delete=== | ===Delete=== | ||
Line 791: | Line 925: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | ||
- | + | <command> | |
- | + | <delete> | |
- | + | <contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> | |
- | + | <contact:id>IB000545-NL</contact:id> | |
- | + | </contact:delete> | |
- | + | </delete> | |
- | + | <clTRID>FDB67388-2FFE-11DE-970B-80000000568C</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
+ | |||
;Response: | ;Response: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <resultcode="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <trId> | |
- | + | <clTRID>FDB67388-2FFE-11DE-970B-80000000568C</clTRID> | |
- | + | <svTRID>29B5C6C2-3005-11DE-9BD1-C9EF1D79318A</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
+ | |||
===Info=== | ===Info=== | ||
Line 818: | Line 954: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | ||
- | + | <command> | |
- | + | <info> | |
- | + | <contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> | |
- | + | <contact:id>IB000545-NL</contact:id> | |
- | + | </contact:info> | |
- | + | </info> | |
- | + | <clTRID>6662D288-2FFE-11DE-A0EB-80000000AAB4</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
Line 831: | Line 967: | ||
<?xml version="1.0" -encoding="UTF-8"?> | <?xml version="1.0" -encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <resData> | |
- | + | <contact:infData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |
- | + | <contact:id>IB000545-NL</contact:id> | |
- | + | <contact:roid>495726825335031_CONTACT-OPENPROV</contact:roid> | |
- | + | <contact:status s="ok"/> | |
- | + | <contact:postalInfo> | |
- | + | <contact:name>John Doe</contact:name> | |
- | + | <contact:org>Example Inc.</contact:org> | |
- | + | <contact:addr> | |
- | + | <contact:street>Main Street 15</contact:street> | |
- | + | <contact:city>Rotterdam</contact:city> | |
- | + | <contact:sp>Zuid-Holland</contact:sp> | |
- | + | <contact:pc>3024 BN</contact:pc> | |
- | + | <contact:cc>NL</contact:cc> | |
- | + | </contact:addr> | |
- | + | </contact:postalInfo> | |
- | + | <contact:voice>+31.104482299</contact:voice> | |
- | + | <contact:fax>+31.102440250</contact:fax> | |
- | + | <contact:email>jdoe@example.com</contact:email> | |
- | + | <contact:clID>username</contact:clID> | |
- | + | <contact:crID>UNSUPPORTED</contact:crID> | |
- | + | <contact:crDate>2012-07-20T07:59:26.0Z</contact:crDate> | |
- | + | <contact:upID>username</contact:upID> | |
- | + | <contact:upDate>2012-07-20T07:59:26.0Z</contact:upDate> | |
- | + | </contact:infData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:infData> | |
- | + | <op:contact> | |
- | + | <op:gender>male</op:gender> | |
- | + | <op:birthAddress></op:birthAddress> | |
- | + | <op:birthCity></op:birthCity> | |
- | + | <op:birthCountry></op:birthCountry> | |
- | + | <op:birthDate>1982-10-23</op:birthDate> | |
- | + | <op:birthState></op:birthState> | |
- | + | <op:birthZipcode></op:birthZipcode> | |
- | + | <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity> | |
- | + | <op:companyRegistrationNumber>123456</op:companyRegistrationNumber> | |
- | + | <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | |
- | + | <op:headquartersAddress></op:headquartersAddress> | |
- | + | <op:headquartersCity></op:headquartersCity> | |
- | + | <op:headquartersCountry></op:headquartersCountry> | |
- | + | <op:headquartersState></op:headquartersState> | |
- | + | <op:headquartersZipcode></op:headquartersZipcode> | |
- | + | <op:passportNumber></op:passportNumber> | |
- | + | <op:socialSecurityNumber></op:socialSecurityNumber> | |
- | + | </op:contact> | |
- | + | </op:infData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <trId> | |
- | + | <clTRID>6662D288-2FFE-11DE-A0EB-80000000AAB4</clTRID> | |
- | + | <svTRID>6BFBA8FA-2FFE-11DE-A1D9-ED9826062824</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</epp> | </epp> | ||
+ | * '''Not supported output values''': crID, crDate, upDate | ||
- | + | ===Transfer=== | |
- | + | ''Not available'' | |
- | + | ||
- | + | ||
- | + | ||
- | == | + | |
===Update=== | ===Update=== | ||
Line 914: | Line 1,040: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | ||
- | + | <command> | |
- | + | <update> | |
- | + | <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> | |
- | + | <contact:id>IB000545-NL</contact:id> | |
- | + | <contact:chg> | |
- | + | <contact:postalInfo type="loc"> | |
- | + | <contact:org/> | |
- | + | <contact:addr> | |
- | + | <contact:street>Street 18</contact:street> | |
- | + | <contact:city>Amsterdam</contact:city> | |
- | + | <contact:sp>NH</contact:sp> | |
- | + | <contact:pc>1000 AA</contact:pc> | |
- | + | <contact:cc>NL</contact:cc> | |
- | + | </contact:addr> | |
- | + | </contact:postalInfo> | |
- | + | <contact:voice>+31.201234567</contact:voice> | |
- | + | <contact:fax/> | |
- | + | </contact:chg> | |
- | + | </contact:update> | |
- | + | </update> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:update> | |
- | + | <op:contact> | |
- | + | <op:chg> | |
- | + | <op:vat>NL123245443B01</op:vat> | |
- | + | <op:comments></op:comments> | |
- | + | <op:birthAddress></op:birthAddress> | |
- | + | <op:birthCity></op:birthCity> | |
- | + | <op:birthCountry></op:birthCountry> | |
- | + | <op:birthDate>1982-10-23</op:birthDate> | |
- | + | <op:birthState></op:birthState> | |
- | + | <op:birthZipcode></op:birthZipcode> | |
- | + | <op:companyRegistrationCity></op:companyRegistrationCity> | |
- | + | <op:companyRegistrationNumber></op:companyRegistrationNumber> | |
- | + | <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | |
- | + | <op:headquartersAddress></op:headquartersAddress> | |
- | + | <op:headquartersCity></op:headquartersCity> | |
- | + | <op:headquartersCountry></op:headquartersCountry> | |
- | + | <op:headquartersState></op:headquartersState> | |
- | + | <op:headquartersZipcode></op:headquartersZipcode> | |
- | + | <op:passportNumber></op:passportNumber> | |
- | + | <op:socialSecurityNumber></op:socialSecurityNumber> | |
- | + | </op:chg> | |
- | + | </op:contact> | |
- | + | </op:update> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <clTRID>C69B3942-2FFE-11DE-A4BB-8000000034E6</clTRID> | |
- | + | </command> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</epp> | </epp> | ||
+ | |||
+ | * '''<contact:postalInfo>''' ''type'' attribute is restricted to only one value: ''loc'' | ||
+ | * '''<contact:status>''' and it's attributes are ignored by Openprovider | ||
+ | * '''<contact:pw>''' is ignored by Openprovider but required by EPP protocol; please leave it blank | ||
+ | * '''<contact:disclose>''' is ignored by Openprovider | ||
;Response: | ;Response: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <trId> | |
- | + | <clTRID>C69B3942-2FFE-11DE-A4BB-8000000034E6</clTRID> | |
- | + | <svTRID>D70E91A2-2FFE-11DE-9BEA-D9241CA305BD</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
- | + | ==Host== | |
- | + | ''Not available'' | |
- | + | ||
- | + | ||
- | + | ||
- | '' | + | |
- | + | ==Poll== | |
- | + | ||
- | + | ||
- | + | ||
- | ==Poll | + | |
===REQ=== | ===REQ=== | ||
====Request==== | ====Request==== | ||
<?xml version="1.0" encoding="UTF-8"?> | <?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> | ||
- | + | <command> | |
- | + | <poll op="req"/> | |
- | + | <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
Line 1,030: | Line 1,146: | ||
* '''<op:title/>''' - transaction title | * '''<op:title/>''' - transaction title | ||
* '''<op:description/>''' - short transaction description | * '''<op:description/>''' - short transaction description | ||
- | * '''<op:registryMessage/>''' - registry message | + | * '''<op:registryMessage/>''' - registry message containing more information |
* '''<op:comments/>''' - can contain Openprovider's comments, advices, instructions | * '''<op:comments/>''' - can contain Openprovider's comments, advices, instructions | ||
* '''<op:attachment/>''' - attachment element(s) can contain any base64 encoded documents received from registry | * '''<op:attachment/>''' - attachment element(s) can contain any base64 encoded documents received from registry | ||
- | |||
Line 1,039: | Line 1,154: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1301"> | |
- | + | <msg>Command completed successfully; ack to dequeue</msg> | |
- | + | </result> | |
- | + | <msgQ count="1" id="129"> | |
- | + | <qDate>2012-08-05T12:42:04.0Z</qDate> | |
- | + | <msg>TRANSACTION</msg> | |
- | + | </msgQ> | |
- | + | <resData> | |
- | + | <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name>example.com</domain:name> | |
- | + | <domain:crDate>2012-08-01T20:30:20.0Z</domain:crDate> | |
- | + | <domain:exDate>2013-08-31T20:40:20.0Z</domain:exDate> | |
- | + | </domain:creData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:creData> | |
- | + | <op:domain> | |
- | + | <op:polData> | |
- | + | <op:action>ACTION</op:action> | |
- | + | <op:status>STATUS</op:status> | |
- | + | <op:transaction>TRANSACTION</op:transaction> | |
- | + | <op:title>MESSAGE TITLE</op:title> | |
- | + | <op:description>MESSAGE DESCRIPTION</op:description> | |
- | + | <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> | |
- | + | <op:attachment> | |
- | + | <op:name>FILE NAME</op:name> | |
- | + | <op:body>BASE64 ENCODED FILE CONTENT</op:body> | |
- | + | </op:attachment> | |
- | + | </op:polData> | |
- | + | </op:domain> | |
- | + | </op:creData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <trId> | |
- | + | <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> | |
- | + | <svTRID>D0D58AF1-E771-4D0E-8653-8B58ED909DE7</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
Line 1,086: | Line 1,201: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1301"> | |
- | + | <msg>Command completed successfully; ack to dequeue</msg> | |
- | + | </result> | |
- | + | <msgQ count="4" id="132"> | |
- | + | <qDate>2012-08-05T12:42:06.0Z</qDate> | |
- | + | <msg>TRANSACTION</msg> | |
- | + | </msgQ> | |
- | + | <resData> | |
- | + | <domain:panData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:name paResult="0">example.nl</domain:name> | |
- | + | <domain:paTRID> | |
- | + | <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> | |
- | + | <svTRID>733582A7-1428-4F1C-8A02-CAEC83A58F8E</svTRID> | |
- | + | </domain:paTRID> | |
- | + | <domain:paDate>2012-08-05T12:42:05.0Z</domain:paDate> | |
- | + | </domain:panData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:panData> | |
- | + | <op:domain> | |
- | + | <op:polData> | |
- | + | <op:action>ACTION</op:action> | |
- | + | <op:status>STATUS</op:status> | |
- | + | <op:transaction>TRANSACTION</op:transaction> | |
- | + | <op:title>MESSAGE TITLE</op:title> | |
- | + | <op:description>MESSAGE DESCRIPTION</op:description> | |
- | + | <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> | |
- | + | <op:attachment> | |
- | + | <op:name>FILE NAME</op:name> | |
- | + | <op:body>BASE64 ENCODED FILE CONTENT</op:body> | |
- | + | </op:attachment> | |
- | + | </op:polData> | |
- | + | </op:domain> | |
- | + | </op:panData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <trId> | |
- | + | <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> | |
- | + | <svTRID>09826A4F-4620-44CC-B73C-400D03FEAFC3</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
Line 1,136: | Line 1,251: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1301"> | |
- | + | <msg>Command completed successfully; ack to dequeue</msg> | |
- | + | </result> | |
- | + | <msgQ count="3" id="135"> | |
- | + | <qDate>2012-08-05T14:44:40.0Z</qDate> | |
- | + | <msg>TRANSACTION</msg> | |
- | + | </msgQ> | |
- | + | <resData> | |
- | + | <domain:trnData> | |
- | + | <domain:name>example.nl</domain:name> | |
- | + | <domain:trStatus>serverCancelled</domain:trStatus> | |
- | + | <domain:reID>username</domain:reID> | |
- | + | <domain:reDate>2012-09-01T20:30:20.0Z</domain:reDate> | |
- | + | <domain:acID>UNSUPPORTED</domain:acID> | |
- | + | <domain:acDate>2012-08-05T14:44:43.0Z</domain:acDate> | |
- | + | <domain:exDate>2013-10-31T20:40:20.0Z</domain:exDate> | |
- | + | </domain:trnData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:trnData> | |
- | + | <op:domain> | |
- | + | <op:polData> | |
- | + | <op:action>ACTION</op:action> | |
- | + | <op:status>STATUS</op:status> | |
- | + | <op:transaction>TRANSACTION</op:transaction> | |
- | + | <op:title>MESSAGE TITLE</op:title> | |
- | + | <op:description>MESSAGE DESCRIPTION</op:description> | |
- | + | <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> | |
- | + | <op:attachment> | |
- | + | <op:name>FILE NAME</op:name> | |
- | + | <op:body>BASE64 ENCODED FILE CONTENT</op:body> | |
- | + | </op:attachment> | |
- | + | </op:polData> | |
- | + | </op:domain> | |
- | + | </op:trnData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
+ | </extension> | ||
+ | <trId> | ||
+ | <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> | ||
+ | <svTRID>09826A4F-4620-44CC-B73C-400D03FEAFC3</svTRID> | ||
+ | </trId> | ||
+ | </response> | ||
+ | </epp> | ||
Line 1,181: | Line 1,303: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1301"> | |
- | + | <msg>Command completed successfully; ack to dequeue</msg> | |
- | + | </result> | |
- | + | <msgQ count="3" id="131"> | |
- | + | <qDate>2012-08-05T12:42:06.0Z</qDate> | |
- | + | <msg>TRANSACTION</msg> | |
- | + | </msgQ> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:trdData> | |
- | + | <op:domain> | |
- | + | <op:name>example.nl</op:name> | |
- | + | <op:trStatus>pending</op:trStatus> | |
- | + | <op:reID>username</op:reID> | |
- | + | <op:reDate>2012-08-01T20:30:20.0Z</op:reDate> | |
- | + | <op:acID>UNSUPPORTED</op:acID> | |
- | + | <op:acDate>2012-08-05T12:42:08.0Z</op:acDate> | |
- | + | <op:exDate>2013-10-31T20:40:20.0Z</op:exDate> | |
- | + | <op:polData> | |
- | + | <op:action>ACTION</op:action> | |
- | + | <op:status>STATUS</op:status> | |
- | + | <op:transaction>TRANSACTION</op:transaction> | |
- | + | <op:title>MESSAGE TITLE</op:title> | |
- | + | <op:description>MESSAGE DESCRIPTION</op:description> | |
- | + | <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> | |
- | + | <op:attachment> | |
- | + | <op:name>FILE NAME</op:name> | |
- | + | <op:body>BASE64 ENCODED FILE CONTENT</op:body> | |
- | + | </op:attachment> | |
- | + | </op:polData> | |
- | + | </op:domain> | |
- | + | </op:trdData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <trId> | |
- | + | <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> | |
- | + | <svTRID>F83DDF05-F54C-44DD-A55E-172CA7EE2819</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
Line 1,228: | Line 1,350: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1301"> | |
- | + | <msg>Command completed successfully; ack to dequeue</msg> | |
- | + | </result> | |
- | + | <msgQ count="3" id="140"> | |
- | + | <qDate>2012-08-05T14:57:14.0Z</qDate> | |
- | + | <msg>TRANSACTION</msg> | |
- | + | </msgQ> | |
- | + | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |
- | + | <domain:infData> | |
- | + | <domain:name>example.nl</domain:name> | |
- | + | <domain:roid>140_DOMAIN-OPENPROV</domain:roid> | |
- | + | <domain:status s="inactive"/> | |
- | + | <domain:clID>username</domain:clID> | |
- | + | </domain:infData> | |
- | + | </resData> | |
- | + | <extension> | |
- | + | <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> | |
- | + | <op:resData> | |
- | + | <op:infData> | |
- | + | <op:domain> | |
- | + | <op:polData> | |
- | + | <op:action>ACTION</op:action> | |
- | + | <op:status>STATUS</op:status> | |
- | + | <op:transaction>TRANSACTION</op:transaction> | |
- | + | <op:title>MESSAGE TITLE</op:title> | |
- | + | <op:description>MESSAGE DESCRIPTION</op:description> | |
- | + | <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> | |
- | + | <op:attachment> | |
- | + | <op:name>FILE NAME</op:name> | |
- | + | <op:body>BASE64 ENCODED FILE CONTENT</op:body> | |
- | + | </op:attachment> | |
- | + | </op:polData> | |
- | + | </op:domain> | |
- | + | </op:infData> | |
- | + | </op:resData> | |
- | + | </op:ext> | |
- | + | </extension> | |
- | + | <trId> | |
- | + | <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> | |
- | + | <svTRID>4C094AED-DC31-49D1-A462-AB68C5956C3E</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
Line 1,277: | Line 1,399: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <command> | |
- | + | <poll op="ack" msgID="71"/> | |
- | + | <clTRID>ABC-12346</clTRID> | |
- | + | </command> | |
</epp> | </epp> | ||
+ | |||
;Reply (queue has messages): | ;Reply (queue has messages): | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1000"> | |
- | + | <msg>Command completed successfully</msg> | |
- | + | </result> | |
- | + | <msgQ count="1" id="70"/> | |
- | + | <trId> | |
- | + | <clTRID>ABC-12346</clTRID> | |
- | + | <svTRID>CBCEC8DB-F1B4-40DB-9B4D-E21EF4DCB2B6</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> | ||
+ | |||
;Reply (queue empty): | ;Reply (queue empty): | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||
- | + | <response> | |
- | + | <result code="1300"> | |
- | + | <msg>Command completed successfully; no messages</msg> | |
- | + | </result> | |
- | + | <trId> | |
- | + | <clTRID>ABC-12346</clTRID> | |
- | + | <svTRID>4931F00A-F5DB-4709-A377-95C30F4CF4FF</svTRID> | |
- | + | </trId> | |
- | + | </response> | |
</epp> | </epp> |
Current revision as of 08:03, 27 September 2017
Contents |
EPP interface specifications
Introduction
EPP (Extensible Provisioning Protocol) is the communication standard for most registries. The EPP interface of Openprovider thus provides an interface that follows a standard, simplifying integration for any company that already implemented an EPP interface to another registry in the past.
The EPP interface is a layer on top of the general Openprovider API. This increases maintainability and stability, but might drop speed a little because of the translation from EPP to API format.
- Who should use the EPP interface?
- Customers already having an EPP implementation to another domain provider. Connecting to the EPP interface of Openprovider is the easiest way for a quick start.
- Who should use the general Openprovider API?
- Customers that do not have implemented EPP yet: the Openprovider API is easier to implement and use
- Customers that want to sell not only domains: the EPP interface only supports domain and contact management, no support for SSL, licenses and other products
In general: if you have no specific reason to use EPP, we recommend the Openprovider API.
Scope
The EPP interface is built for domains and contacts only. For all other products, the general Openprovider API should be used.
Reference to RFCs
- RFC 5730 Extensible Provisioning Protocol (EPP)
- RFC 5731 Extensible Provisioning Protocol (EPP) Domain Name Mapping
- RFC 5733 Extensible Provisioning Protocol (EPP) Contact Mapping
Differences
- Cookies are used to keep a session alive. After the login command, the server returns a cookie session_id which must be used in all following requests to the server until closing the session.
- DNSSEC is not yet supported.
- Although not against the RFCs, please note that Openprovider uses a lot of extensions to be able to cover all TLD-specific requirements. The extensions are defined in the opprov-1.0.xsd file
Example
- A basic PHP-example: example-epp.php
EPP server
- hostname: https://epp.openprovider.eu
- port: 443
- username: similar to RCP username
- Note: EPP defines a maximum length of 16 characters for the username. If your RCP username is longer, please contact our support team to change it to a shorter one.
- password: similar to RCP password
Session
Hello
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <hello/> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <greeting> <svID>Openprovider EPP Server</svID> <svDate>2012-07-05T16:08:04Z</svDate> <svcMenu> <version>1.0</version> <lang>en</lang> <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI> <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI> <svcExtension> <extURI>http://www.openprovider.nl/epp/xml/opprov-1.0</extURI> </svcExtension> </svcMenu> <dcp> <access> <all/> </access> <statement> <purpose> <admin/> <prov/> </purpose> <recipient> <ours/> <public/> </recipient> <retention> <stated/> </retention> </statement> </dcp> </greeting> </epp>
Login
- Request
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <login> <clID>username</clID> <pw>password</pw> <options> <version>1.0</version> <lang>en</lang> </options> <svcs> <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI> <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI> <svcExtension> <extURI>urn:ietf:params:xml:ns:rgp-1.0</extURI> <extURI>http://www.openprovider.nl/epp/xml/opprov-1.0</extURI> </svcExtension> </svcs> </login> <clTRID>ABC-12345</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>ABC-12345</clTRID> <svTRID>41E31A2F-1B6A-4BFA-AE07-00A4DE8FCC0C</svTRID> </trID> </response> </epp>
- Important: together with the response, the server returns a cookie session_id which must be used in all following requests to the server until closing the session.
- Password reset via the EPP login command is not possible
Logout
- Request
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <logout/> <clTRID>83EE2B34-2385-11DE-9267-8000000019CE</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1500"> <msg>Command completed successfully; ending session</msg> </result> <trID> <clTRID>83EE2B34-2385-11DE-9267-8000000019CE</clTRID> <svTRID>180372ED-5E05-4718-8A73-40B37AE37D62</svTRID> </trID> </response> </epp>
Domain
Check
- Request
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <check> <domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.net</domain:name> <domain:name>example.org</domain:name> </domain:check> </check> <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:chkData> <domain:cd> <domain:name avail="1">example.net</domain:name> </domain:cd> <domain:cd> <domain:name avail="0">example.org</domain:name> <domain:reason>Domain name not available</domain:reason> </domain:cd> </domain:chkData> </resData> <trID> <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID> <svTRID>B3E22269-EE9E-4E32-82C0-54C02400E396</svTRID> </trID> </response> </epp>
Create
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <create> <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> <domain:period unit="y">1</domain:period> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.example.com</domain:hostName> <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns2.example.com</domain:hostName> <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns3.example.com</domain:hostName> <domain:hostAddr ip="v4">123.123.123.125</domain:hostAddr> <domain:hostAddr ip="v6">2607:f0d0:1002:51::5</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns3.company.net</domain:hostName> </domain:hostAttr> </domain:ns> <domain:registrant>FL902041-US</domain:registrant> <domain:contact type="admin">FL902041-US</domain:contact> <domain:contact type="tech">FL902041-US</domain:contact> <domain:authInfo> <domain:pw/> </domain:authInfo> </domain:create> </create> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:create> <op:domain> <op:promoCode>PROMO2</op:promoCode> <op:useDomicile>false</op:useDomicile> <op:nsGroup></op:nsGroup> <op:comments>any comment here</op:comments> <op:autorenew>default</op:autorenew> <op:nsTemplateName></op:nsTemplateName> </op:domain> </op:create> </op:ext> </extension> <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> </command> </epp>
- <domain:pw> parameter is required by the EPP protocol, but is ignored by Openprovider; please leave it blank
- <domain:contact>: the only supported contact types are admin and tech
- <op:autorenew>: accepted values: on, off, default
- <op:nsTemplateName>: can be used if <op:nsGroup> is dns-openprovider
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> <domain:crDate>2012-07-17T14:41:03.0Z</domain:crDate> <domain:exDate>2012-07-29T14:41:03.0Z</domain:exDate> </domain:creData> </resData> <trID> <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> <svTRID>6CEB9B8B-63CE-4925-BB69-C4BF89012266</svTRID> </trID> </response> </epp>
Delete
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <delete> <domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> </domain:delete> </delete> <clTRID>734ABADA-3015-11DE-A6A7-800000008EDE</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <resultcode="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>734ABADA-3015-11DE-A6A7-800000008EDE</clTRID> <svTRID>77FC94EA-3015-11DE-9878-8D01B5F06CC6</svTRID> </trID> </response> </epp>
Restore
Openprovider implements Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP) partially for restore procedure. The EPP response on <domain:info> command for deleted domains that can be still restored has an additional extension section <rgp:infData/>, containing value pendingDelete:
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:infData> ... </domain:infData> </resData> <extension> ... <rgp:infData xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0"> <rgp:rgpStatus s="pendingDelete"/> </rgp:infData> ... </extension> </epp>
- Request
<?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>example.com</domain:name> <domain:chg/> </domain:update> </update> <extension> <rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0"> <rgp:restore op="request"/> </rgp:update> </extension> <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> </command> </epp>
<domain:add/>, <domain:rem/> and <domain:chg/> must not contain any elements in it.
- Reply
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> <svTRID>7A7534DB-F45F-4E70-84D5-ABA480A5D101</svTRID> </trID> </response> </epp>
Info
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <info> <domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> </domain:info> </info> <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> </command> </epp>
- Reply
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:infData> <domain:name>example.com</domain:name> <domain:roid>762473_DOMAIN-OPENPROV</domain:roid> <domain:status s="ok"/> <domain:registrant>OT001234-NL</domain:registrant> <domain:contact type="admin">OM901234-US</domain:contact> <domain:contact type="tech">DD01234-NL</domain:contact> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.example.com</domain:hostName> <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns2.example.com</domain:hostName> <domain:hostAddr ip="v4">234.234.234.234</domain:hostAddr> </domain:hostAttr> </domain:ns> <domain:clID>username</domain:clID> <domain:crDate>2012-03-28T14:08:53.0Z</domain:crDate> <domain:exDate>2013-03-28T12:08:54.0Z</domain:exDate> <domain:authInfo> <domain:pw>AUTHCODE</domain:pw> </domain:authInfo> </domain:infData> </resData> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:infData> <op:domain> <op:isLocked>false</op:isLocked> <op:reDate>2012-03-28T14:08:49.0Z</op:reDate> <op:renewalDate>2013-03-28T12:08:54.0Z</op:renewalDate> <op:canRenew>true</op:canRenew> <op:autorenew>default</op:autorenew> <op:useDomicile>false</op:useDomicile> </op:domain> </op:infData> </op:resData> </op:ext> </extension> <trID> <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> <svTRID>CDAE7C10-A3D0-4EA7-B290-2E1A380A0690</svTRID> </trID> </response> </epp>
Renew
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <renew> <domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> <domain:curExpDate>2012-02-18</domain:curExpDate> <domain:period unit="y">1</domain:period> </domain:renew> </renew> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> </command> </epp>
- <domain:curExpDate/> is required by EPP protocol but not used by current version of Openprovider software
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:renData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> <domain:exDate>2012-02-18T16:02:04.0Z</domain:exDate> </domain:renData> </resData> <trID> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> <svTRID>F7F750BE-3014-11DE-A523-A02790CC78DB</svTRID> </trID> </response> </epp>
Transfer
Request Transfer
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <command> <transfer op="request"> <domain:transfer> <domain:name>example.de</domain:name> <domain:authInfo> <domain:pw>AUTHCODE</domain:pw> </domain:authInfo> </domain:transfer> </transfer> <extension> <op:ext> <op:transfer> <op:domain> <op:registrant>FL902042-US</op:registrant> <op:contact type="admin">FL902042-US</op:contact> <op:contact type="tech">FL902042-US</op:contact> <op:ns> <domain:hostAttr> <domain:hostName>ns1.example.de</domain:hostName> <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns2.example.de</domain:hostName> <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr> </domain:hostAttr> </op:ns> <op:autorenew>on</op:autorenew> <op:nsGroup></op:nsGroup> <op:useDomicile>true</op:useDomicile> <op:comments>ANY COMMENT HERE</op:comments> <op:promoCode>PROMOCODE</op:promoCode> <op:nsTemplateName></op:nsTemplateName> </op:domain> </op:transfer> </op:ext> </extension> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> </command> </epp>
- <domain:contact>: the only supported contact types are admin and tech
- <op:autorenew>: accepted values: on, off, default
- <op:nsTemplateName>: can be used if <op:nsGroup> is dns-openprovider
- Reply
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:trnData> <domain:name>example.de</domain:name> <domain:trStatus>pending</domain:trStatus> <domain:reID>username</domain:reID> <domain:reDate>2012-08-17T11:21:13.0Z</domain:reDate> <domain:acID>UNSUPPORTED</domain:acID> <domain:acDate>2012-08-17T11:21:13.0Z</domain:acDate> <domain:exDate>2012-08-17T11:21:13.0Z</domain:exDate> </domain:trnData> </resData> <trID> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> <svTRID>BE4FAFBF-177D-4632-9CE0-F5C02C4AAFB7</svTRID> </trID> </response> </epp>
- Not supported output parameters: acID, acDate, exDate
- trStatus is restricted to 3 values:
- serverApproved: the transfer is approved
- pending
- serverCancelled: the transfer is rejected or cancelled
Cancel Transfer
Not available
Approve Transfer
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <transfer op="approve"> <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> </domain:transfer> </transfer> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> </command> </epp>
- Reply
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> <svTRID>DCE0BD68-769B-4EA4-AFF1-CC40DFEC578D</svTRID> </trID> </response> </epp>
Query Transfer Status
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <transfer op="query"> <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> </domain:transfer> </transfer> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> </command> </epp>
- Reply
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:trnData> <domain:name>example.com</domain:name> <domain:trStatus>serverApproved</domain:trStatus> <domain:reID>username</domain:reID> <domain:reDate>2012-07-17T14:41:04.0Z</domain:reDate> <domain:acID>UNSUPPORTED</domain:acID> <domain:acDate>2012-07-17T14:41:21.0Z</domain:acDate> <domain:exDate>2012-07-17T14:41:21.0Z</domain:exDate> </domain:trnData> </resData> <trID> <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID> <svTRID>31ED84C0-CADA-45BA-87A1-85238465CF30</svTRID> </trID> </response> </epp>
- Not supported output parameters: acID, acDate, exDate
- trStatus is restricted to 3 values:
- serverApproved: the transfer is approved
- pending
- serverCancelled: the transfer is rejected or cancelled
Update
- Request
<?xml version="1.0" encoding="UTF-8"?> <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>example.com</domain:name> <domain:add> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.example.com</domain:hostName> <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr> </domain:hostAttr> </domain:ns> <domain:contact type="tech">DD004372-NL</domain:contact> <domain:status s="clientTransferProhibited"/> </domain:add> <domain:rem> <domain:ns> <domain:hostAttr> <domain:hostName>ns2.example.com</domain:hostName> </domain:hostAttr> </domain:ns> <domain:contact type="tech">JL901992-NL</domain:contact> </domain:rem> <domain:chg> <domain:registrant>OT000288-NL</domain:registrant> <domain:authInfo> <domain:pw/> </domain:authInfo> </domain:chg> </domain:update> </update> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:update> <op:domain> <op:chg> <op:autorenew>on</op:autorenew> <op:useDomicile>false</op:useDomicile> <op:comments>Custom comment</op:comments> <op:nsGroup></op:nsGroup> <op:resetAuthCode>true</op:resetAuthCode> </op:chg> </op:domain> </op:update> </op:ext> </extension> <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> <svTRID>E4509728-38CC-462F-BF9C-D7AFDB5420DF</svTRID> </trID> </response> </epp>
- <contact:pw/> element is NOT used but required by EPP protocol; please leave it blank
Support for new gTLDs and their launch phases
- General information
- Openprovider follows the existing RFCs for launch phase support, although there are some small changes because of the registrar situation (instead of registry situation). See examples below.
- The domain:check can optionally be used to see if trademark claims applies; if so, you know that Openprovider will send a trademark claims notice to the proposed domain holder. The domain:create command is not different for a domain with or without claims.
- The domain:create command may contain the launch phase, see examples below. The supported launch phases are the following; for exact dates and times per extension, please look at the TLD detail pages on our website:
- <launch:phase>sunrise</launch:phase> (base64 encoded SMD file required); accepted during Sunrise
- <launch:phase>landrush</launch:phase>; accepted during Landrush
- <launch:phase>claims</launch:phase>; accepted during trademark claims phase
- <launch:phase name="preregistration">custom</launch:phase>; accepted until 3 hours before General Availability starts
- Example check command+response to check if trademark claims applies
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <check> <domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>trademark.tld</domain:name> </domain:check> </check> <extension> <launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="claims"> <launch:phase>claims</launch:phase> </launch:check> </extension> <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID> </command> </epp> <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <launch:chkData xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> <launch:phase>claims</launch:phase> <launch:cd> <launch:name exists="true">trademark.tld</launch:name> </launch:cd> </launch:chkData> </extension> <trID> <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID> <svTRID>37080027-DB39-416A-A82E-AF793FB14AE9</svTRID> </trID> </response> </epp>
- Example create command for a Sunrise application
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <create> <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.tld</domain:name> ... (other standard domain attributes) </domain:create> </create> <extension> <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> <launch:phase>sunrise</launch:phase> <smd:encodedSignedMark xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0"> ... (base64-encoded SMD file) </smd:encodedSignedMark> </launch:create> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:create> <op:domain> ... (optional standard Openprovider extensions) </op:domain> </op:create> </op:ext> </extension> <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID> </command> </epp>
- Example create extension for Landrush, claims and pre-registration orders
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> ... <extension> <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> <launch:phase>landrush</launch:phase> </launch:create> ... <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> ... <extension> <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> <launch:phase>claims</launch:phase> </launch:create> ... <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> ... <extension> <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"> <launch:phase name="preregistration">custom</launch:phase> </launch:create> ...
Contact
Check
- Request
<?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <check> <contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> <contact:id>IB000543-NL</contact:id> <contact:id>IB000544-NL</contact:id> </contact:check> </check> <clTRID>30F11A90-2FFB-11DE-ADDE-80000000D51D</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> <contact:chkData> <contact:cd> <contact:id avail="0">IB000543-NL</contact:id> </contact:cd> <contact:cd> <contact:id avail="1">IB000544-NL</contact:id> </contact:cd> </contact:chkData> </resData> <trID> <clTRID>30F11A90-2FFB-11DE-ADDE-80000000D51D</clTRID> <svTRID>32C1BC3A-2FFB-11DE-B49B-B7731FA00EDE</svTRID> </trID> </response> </epp>
Create
- Request
<?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <create> <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> <contact:id>IGNORED</contact:id> <contact:postalInfo type="loc"> <contact:name>John Doe</contact:name> <contact:org>Example Inc.</contact:org> <contact:addr> <contact:street>Main street 15</contact:street> <contact:city>Rotterdam</contact:city> <contact:sp>Zuid-Holland</contact:sp> <contact:pc>3024 BN</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.104482299</contact:voice> <contact:fax>+31.102440250</contact:fax> <contact:email>jdoe@example.com</contact:email> <contact:authInfo> <contact:pw/> </contact:authInfo> </contact:create> </create> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:create> <op:contact> <op:vat>NL09507882B01</op:vat> <op:comments>Custom comment</op:comments> <op:gender>male</op:gender> <op:birthDate>1982-10-23</op:birthDate> <op:birthCity>Amsterdam</op:birthCity> <op:birthCountry>NL</op:birthCountry> <op:birthAddress>Hoofdstraat 32</op:birthAddress> <op:birthState>Nood-Holland</op:birthState> <op:birthZipcode>1000 AA</op:birthZipcode> <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity> <op:companyRegistrationNumber>123456</op:companyRegistrationNumber> <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> <op:headquartersAddress></op:headquartersAddress> <op:headquartersCity></op:headquartersCity> <op:headquartersCountry></op:headquartersCountry> <op:headquartersState></op:headquartersState> <op:headquartersZipcode></op:headquartersZipcode> <op:socialSecurityNumber></op:socialSecurityNumber> <op:passportNumber></op:passportNumber> </op:contact> </op:create> </op:ext> </extension> <clTRID>30FC8ABC-2FFE-11DE-9786-80000000A8C5</clTRID> </command> </epp>
- <contact:postalInfo> type attribute is restricted to only one value: loc
- <contact:id> is ignored by Openprovider
- <contact:pw> is ignored by Openprovider but required by the EPP protocol; please leave it blank
- <contact:disclose> is ignored by Openprovider
- Response
<?xmlversion="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:creData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> <contact:id>IB000545-NL</contact:id> <contact:crDate>2012-07-23T11:59:29.0Z</contact:crDate> </contact:creData> </resData> <trID> <clTRID>30FC8ABC-2FFE-11DE-9786-80000000A8C5</clTRID> <svTRID>331E69A0-2FFE-11DE-B163-D0A51393EAB9</svTRID> </trID> </response> </epp>
Delete
- Request
<?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <delete> <contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> <contact:id>IB000545-NL</contact:id> </contact:delete> </delete> <clTRID>FDB67388-2FFE-11DE-970B-80000000568C</clTRID> </command> </epp>
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <resultcode="1000"> <msg>Command completed successfully</msg> </result> <trId> <clTRID>FDB67388-2FFE-11DE-970B-80000000568C</clTRID> <svTRID>29B5C6C2-3005-11DE-9BD1-C9EF1D79318A</svTRID> </trId> </response> </epp>
Info
- Request
<?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <info> <contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> <contact:id>IB000545-NL</contact:id> </contact:info> </info> <clTRID>6662D288-2FFE-11DE-A0EB-80000000AAB4</clTRID> </command> </epp>
- Response
<?xml version="1.0" -encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> <contact:id>IB000545-NL</contact:id> <contact:roid>495726825335031_CONTACT-OPENPROV</contact:roid> <contact:status s="ok"/> <contact:postalInfo> <contact:name>John Doe</contact:name> <contact:org>Example Inc.</contact:org> <contact:addr> <contact:street>Main Street 15</contact:street> <contact:city>Rotterdam</contact:city> <contact:sp>Zuid-Holland</contact:sp> <contact:pc>3024 BN</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.104482299</contact:voice> <contact:fax>+31.102440250</contact:fax> <contact:email>jdoe@example.com</contact:email> <contact:clID>username</contact:clID> <contact:crID>UNSUPPORTED</contact:crID> <contact:crDate>2012-07-20T07:59:26.0Z</contact:crDate> <contact:upID>username</contact:upID> <contact:upDate>2012-07-20T07:59:26.0Z</contact:upDate> </contact:infData> </resData> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:infData> <op:contact> <op:gender>male</op:gender> <op:birthAddress></op:birthAddress> <op:birthCity></op:birthCity> <op:birthCountry></op:birthCountry> <op:birthDate>1982-10-23</op:birthDate> <op:birthState></op:birthState> <op:birthZipcode></op:birthZipcode> <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity> <op:companyRegistrationNumber>123456</op:companyRegistrationNumber> <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> <op:headquartersAddress></op:headquartersAddress> <op:headquartersCity></op:headquartersCity> <op:headquartersCountry></op:headquartersCountry> <op:headquartersState></op:headquartersState> <op:headquartersZipcode></op:headquartersZipcode> <op:passportNumber></op:passportNumber> <op:socialSecurityNumber></op:socialSecurityNumber> </op:contact> </op:infData> </op:resData> </op:ext> </extension> <trId> <clTRID>6662D288-2FFE-11DE-A0EB-80000000AAB4</clTRID> <svTRID>6BFBA8FA-2FFE-11DE-A1D9-ED9826062824</svTRID> </trId> </response> </epp>
- Not supported output values: crID, crDate, upDate
Transfer
Not available
Update
- Request
<?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <update> <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd"> <contact:id>IB000545-NL</contact:id> <contact:chg> <contact:postalInfo type="loc"> <contact:org/> <contact:addr> <contact:street>Street 18</contact:street> <contact:city>Amsterdam</contact:city> <contact:sp>NH</contact:sp> <contact:pc>1000 AA</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.201234567</contact:voice> <contact:fax/> </contact:chg> </contact:update> </update> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:update> <op:contact> <op:chg> <op:vat>NL123245443B01</op:vat> <op:comments></op:comments> <op:birthAddress></op:birthAddress> <op:birthCity></op:birthCity> <op:birthCountry></op:birthCountry> <op:birthDate>1982-10-23</op:birthDate> <op:birthState></op:birthState> <op:birthZipcode></op:birthZipcode> <op:companyRegistrationCity></op:companyRegistrationCity> <op:companyRegistrationNumber></op:companyRegistrationNumber> <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> <op:headquartersAddress></op:headquartersAddress> <op:headquartersCity></op:headquartersCity> <op:headquartersCountry></op:headquartersCountry> <op:headquartersState></op:headquartersState> <op:headquartersZipcode></op:headquartersZipcode> <op:passportNumber></op:passportNumber> <op:socialSecurityNumber></op:socialSecurityNumber> </op:chg> </op:contact> </op:update> </op:ext> </extension> <clTRID>C69B3942-2FFE-11DE-A4BB-8000000034E6</clTRID> </command> </epp>
- <contact:postalInfo> type attribute is restricted to only one value: loc
- <contact:status> and it's attributes are ignored by Openprovider
- <contact:pw> is ignored by Openprovider but required by EPP protocol; please leave it blank
- <contact:disclose> is ignored by Openprovider
- Response
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trId> <clTRID>C69B3942-2FFE-11DE-A4BB-8000000034E6</clTRID> <svTRID>D70E91A2-2FFE-11DE-9BEA-D9241CA305BD</svTRID> </trId> </response> </epp>
Host
Not available
Poll
REQ
Request
<?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" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <poll op="req"/> <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> </command> </epp>
Reply
Every reply message will contain a section <op:polData/> that includes the following required fields:
- <op:action/> stands for action on the domain:
- create - domain registration
- trade - incoming trade of domain
- outgoing_trade - outgoing trade of domain
- transfer - incoming trade of domain
- outgoing_transfer - outgoing trade of domain
- delete - domain deletion
- update - update domain's information
- <op:status/> stands for a status of the operation:
- complete - operation completed successfully
- pending - operation in progress
- onhold - server is waiting for operation issuer input
- reject - operation is rejected by server or registry
- error - operation failed because of errors
- cancel - operation is cancelled by issuer
More information can be found in the optional elements:
- <op:transaction/> - transaction alphabetic ID
- <op:title/> - transaction title
- <op:description/> - short transaction description
- <op:registryMessage/> - registry message containing more information
- <op:comments/> - can contain Openprovider's comments, advices, instructions
- <op:attachment/> - attachment element(s) can contain any base64 encoded documents received from registry
- Reply (CREATE)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1301"> <msg>Command completed successfully; ack to dequeue</msg> </result> <msgQ count="1" id="129"> <qDate>2012-08-05T12:42:04.0Z</qDate> <msg>TRANSACTION</msg> </msgQ> <resData> <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.com</domain:name> <domain:crDate>2012-08-01T20:30:20.0Z</domain:crDate> <domain:exDate>2013-08-31T20:40:20.0Z</domain:exDate> </domain:creData> </resData> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:creData> <op:domain> <op:polData> <op:action>ACTION</op:action> <op:status>STATUS</op:status> <op:transaction>TRANSACTION</op:transaction> <op:title>MESSAGE TITLE</op:title> <op:description>MESSAGE DESCRIPTION</op:description> <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> <op:attachment> <op:name>FILE NAME</op:name> <op:body>BASE64 ENCODED FILE CONTENT</op:body> </op:attachment> </op:polData> </op:domain> </op:creData> </op:resData> </op:ext> </extension> <trId> <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> <svTRID>D0D58AF1-E771-4D0E-8653-8B58ED909DE7</svTRID> </trId> </response> </epp>
- Reply (UPDATE/DELETE)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1301"> <msg>Command completed successfully; ack to dequeue</msg> </result> <msgQ count="4" id="132"> <qDate>2012-08-05T12:42:06.0Z</qDate> <msg>TRANSACTION</msg> </msgQ> <resData> <domain:panData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name paResult="0">example.nl</domain:name> <domain:paTRID> <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID> <svTRID>733582A7-1428-4F1C-8A02-CAEC83A58F8E</svTRID> </domain:paTRID> <domain:paDate>2012-08-05T12:42:05.0Z</domain:paDate> </domain:panData> </resData> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:panData> <op:domain> <op:polData> <op:action>ACTION</op:action> <op:status>STATUS</op:status> <op:transaction>TRANSACTION</op:transaction> <op:title>MESSAGE TITLE</op:title> <op:description>MESSAGE DESCRIPTION</op:description> <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> <op:attachment> <op:name>FILE NAME</op:name> <op:body>BASE64 ENCODED FILE CONTENT</op:body> </op:attachment> </op:polData> </op:domain> </op:panData> </op:resData> </op:ext> </extension> <trId> <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> <svTRID>09826A4F-4620-44CC-B73C-400D03FEAFC3</svTRID> </trId> </response> </epp>
- Reply (TRANSFER)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1301"> <msg>Command completed successfully; ack to dequeue</msg> </result> <msgQ count="3" id="135"> <qDate>2012-08-05T14:44:40.0Z</qDate> <msg>TRANSACTION</msg> </msgQ> <resData> <domain:trnData> <domain:name>example.nl</domain:name> <domain:trStatus>serverCancelled</domain:trStatus> <domain:reID>username</domain:reID> <domain:reDate>2012-09-01T20:30:20.0Z</domain:reDate> <domain:acID>UNSUPPORTED</domain:acID> <domain:acDate>2012-08-05T14:44:43.0Z</domain:acDate> <domain:exDate>2013-10-31T20:40:20.0Z</domain:exDate> </domain:trnData> </resData> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:trnData> <op:domain> <op:polData> <op:action>ACTION</op:action> <op:status>STATUS</op:status> <op:transaction>TRANSACTION</op:transaction> <op:title>MESSAGE TITLE</op:title> <op:description>MESSAGE DESCRIPTION</op:description> <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> <op:attachment> <op:name>FILE NAME</op:name> <op:body>BASE64 ENCODED FILE CONTENT</op:body> </op:attachment> </op:polData> </op:domain> </op:trnData> </op:resData> </op:ext> </extension> <trId> <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> <svTRID>09826A4F-4620-44CC-B73C-400D03FEAFC3</svTRID> </trId> </response> </epp>
- Reply (TRADE)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1301"> <msg>Command completed successfully; ack to dequeue</msg> </result> <msgQ count="3" id="131"> <qDate>2012-08-05T12:42:06.0Z</qDate> <msg>TRANSACTION</msg> </msgQ> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:trdData> <op:domain> <op:name>example.nl</op:name> <op:trStatus>pending</op:trStatus> <op:reID>username</op:reID> <op:reDate>2012-08-01T20:30:20.0Z</op:reDate> <op:acID>UNSUPPORTED</op:acID> <op:acDate>2012-08-05T12:42:08.0Z</op:acDate> <op:exDate>2013-10-31T20:40:20.0Z</op:exDate> <op:polData> <op:action>ACTION</op:action> <op:status>STATUS</op:status> <op:transaction>TRANSACTION</op:transaction> <op:title>MESSAGE TITLE</op:title> <op:description>MESSAGE DESCRIPTION</op:description> <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> <op:attachment> <op:name>FILE NAME</op:name> <op:body>BASE64 ENCODED FILE CONTENT</op:body> </op:attachment> </op:polData> </op:domain> </op:trdData> </op:resData> </op:ext> </extension> <trId> <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> <svTRID>F83DDF05-F54C-44DD-A55E-172CA7EE2819</svTRID> </trId> </response> </epp>
- Reply (OUTGOING TRANSFER/TRADE)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1301"> <msg>Command completed successfully; ack to dequeue</msg> </result> <msgQ count="3" id="140"> <qDate>2012-08-05T14:57:14.0Z</qDate> <msg>TRANSACTION</msg> </msgQ> <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:infData> <domain:name>example.nl</domain:name> <domain:roid>140_DOMAIN-OPENPROV</domain:roid> <domain:status s="inactive"/> <domain:clID>username</domain:clID> </domain:infData> </resData> <extension> <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0"> <op:resData> <op:infData> <op:domain> <op:polData> <op:action>ACTION</op:action> <op:status>STATUS</op:status> <op:transaction>TRANSACTION</op:transaction> <op:title>MESSAGE TITLE</op:title> <op:description>MESSAGE DESCRIPTION</op:description> <op:registryMessage>REGISTRY MESSAGE</op:registryMessage> <op:attachment> <op:name>FILE NAME</op:name> <op:body>BASE64 ENCODED FILE CONTENT</op:body> </op:attachment> </op:polData> </op:domain> </op:infData> </op:resData> </op:ext> </extension> <trId> <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID> <svTRID>4C094AED-DC31-49D1-A462-AB68C5956C3E</svTRID> </trId> </response> </epp>
ACK
- Request
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <poll op="ack" msgID="71"/> <clTRID>ABC-12346</clTRID> </command> </epp>
- Reply (queue has messages)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <msgQ count="1" id="70"/> <trId> <clTRID>ABC-12346</clTRID> <svTRID>CBCEC8DB-F1B4-40DB-9B4D-E21EF4DCB2B6</svTRID> </trId> </response> </epp>
- Reply (queue empty)
<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1300"> <msg>Command completed successfully; no messages</msg> </result> <trId> <clTRID>ABC-12346</clTRID> <svTRID>4931F00A-F5DB-4709-A377-95C30F4CF4FF</svTRID> </trId> </response> </epp>