EPP Index
From Openprovider API documentation
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. | |
- | * 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. | ||
===Example=== | ===Example=== | ||
- | + | Not yet available | |
==Session== | ==Session== | ||
Line 66: | Line 83: | ||
<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 116: | ||
</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. | |
===Logout=== | ===Logout=== | ||
Line 172: | Line 189: | ||
<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: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 215: | ||
<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 212: | Line 228: | ||
* ''<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 | ||
- | * ''<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 242: | ||
<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 261: | ||
<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 283: | ||
===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> | <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 311: | ||
<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 323: | ||
</command> | </command> | ||
</epp> | </epp> | ||
- | + | ||
+ | '''<domain:add/>''', '''<domain:rem/>''' and '''<domain:chg/>''' must not contain any elements in it. | ||
;Reply: | ;Reply: | ||
Line 350: | Line 367: | ||
<domain:status s="ok"/> | <domain:status s="ok"/> | ||
<domain:registrant>OT001234-NL</domain:registrant> | <domain:registrant>OT001234-NL</domain:registrant> | ||
- | <domain:contact type="admin">OM901234- | + | <domain:contact type="admin">OM901234-US</domain:contact> |
<domain:contact type="tech">DD01234-NL</domain:contact> | <domain:contact type="tech">DD01234-NL</domain:contact> | ||
<domain:ns> | <domain:ns> | ||
<domain:hostAttr> | <domain:hostAttr> | ||
- | <domain:hostName>ns1.example. | + | <domain:hostName>ns1.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:hostAttr> | <domain:hostAttr> | ||
- | <domain:hostName>ns2.example. | + | <domain:hostName>ns2.example.com</domain:hostName> |
<domain:hostAddr ip="v4">234.234.234.234</domain:hostAddr> | <domain:hostAddr ip="v4">234.234.234.234</domain:hostAddr> | ||
</domain:hostAttr> | </domain:hostAttr> | ||
</domain:ns> | </domain:ns> | ||
- | <domain:clID> | + | <domain:clID>username</domain:clID> |
<domain:crDate>2012-03-28T14:08:53.0Z</domain:crDate> | <domain:crDate>2012-03-28T14:08:53.0Z</domain:crDate> | ||
<domain:exDate>2013-03-28T12:08:54.0Z</domain:exDate> | <domain:exDate>2013-03-28T12:08:54.0Z</domain:exDate> | ||
<domain:authInfo> | <domain:authInfo> | ||
- | <domain:pw> | + | <domain:pw>AUTHCODE</domain:pw> |
</domain:authInfo> | </domain:authInfo> | ||
</domain:infData> | </domain:infData> | ||
Line 409: | Line 426: | ||
</epp> | </epp> | ||
- | * | + | * '''<domain:curExpDate/>''' is required by EPP protocol but not used by current version of Openprovider software |
;Response: | ;Response: | ||
Line 442: | Line 459: | ||
<transfer op="request"> | <transfer op="request"> | ||
<domain:transfer> | <domain:transfer> | ||
- | <domain:name> | + | <domain:name>example.de</domain:name> |
<domain:authInfo> | <domain:authInfo> | ||
<domain:pw>AUTHCODE</domain:pw> | <domain:pw>AUTHCODE</domain:pw> | ||
Line 452: | Line 469: | ||
<op:transfer> | <op:transfer> | ||
<op:domain> | <op:domain> | ||
- | <op:registrant>FL902042- | + | <op:registrant>FL902042-US</op:registrant> |
- | <op:contact type="admin">FL902042- | + | <op:contact type="admin">FL902042-US</op:contact> |
- | <op:contact type="tech">FL902042- | + | <op:contact type="tech">FL902042-US</op:contact> |
<op:ns> | <op:ns> | ||
<domain:hostAttr> | <domain:hostAttr> | ||
- | <domain:hostName> | + | <domain:hostName>ns1.example.de</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.de</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> | ||
Line 467: | Line 484: | ||
<op:autorenew>on</op:autorenew> | <op:autorenew>on</op:autorenew> | ||
<op:nsGroup></op:nsGroup> | <op:nsGroup></op:nsGroup> | ||
- | <op:useDomicile> | + | <op:useDomicile>true</op:useDomicile> |
<op:comments>ANY COMMENT HERE</op:comments> | <op:comments>ANY COMMENT HERE</op:comments> | ||
- | <op:promoCode> | + | <op:promoCode>PROMOCODE</op:promoCode> |
- | + | <op:nsTemplateName></op:nsTemplateName> | |
- | <op:nsTemplateName> | + | |
</op:domain> | </op:domain> | ||
</op:transfer> | </op:transfer> | ||
Line 479: | Line 495: | ||
</command> | </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: | ||
Line 489: | Line 509: | ||
<resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
<domain:trnData> | <domain:trnData> | ||
- | <domain:name> | + | <domain:name>example.de</domain:name> |
<domain:trStatus>pending</domain:trStatus> | <domain:trStatus>pending</domain:trStatus> | ||
- | <domain:reID> | + | <domain:reID>username</domain:reID> |
<domain:reDate>2012-08-17T11:21:13.0Z</domain:reDate> | <domain:reDate>2012-08-17T11:21:13.0Z</domain:reDate> | ||
<domain:acID>UNSUPPORTED</domain:acID> | <domain:acID>UNSUPPORTED</domain:acID> | ||
Line 505: | Line 525: | ||
</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 524: | Line 541: | ||
<transfer op="approve"> | <transfer op="approve"> | ||
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
</domain:transfer> | </domain:transfer> | ||
</transfer> | </transfer> | ||
Line 552: | Line 569: | ||
<transfer op="query"> | <transfer op="query"> | ||
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
</domain:transfer> | </domain:transfer> | ||
</transfer> | </transfer> | ||
Line 568: | Line 585: | ||
<resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||
<domain:trnData> | <domain:trnData> | ||
- | <domain:name> | + | <domain:name>example.com</domain:name> |
<domain:trStatus>serverApproved</domain:trStatus> | <domain:trStatus>serverApproved</domain:trStatus> | ||
- | <domain:reID> | + | <domain:reID>username</domain:reID> |
<domain:reDate>2012-07-17T14:41:04.0Z</domain:reDate> | <domain:reDate>2012-07-17T14:41:04.0Z</domain:reDate> | ||
<domain:acID>UNSUPPORTED</domain:acID> | <domain:acID>UNSUPPORTED</domain:acID> | ||
Line 584: | Line 601: | ||
</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 601: | Line 614: | ||
<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:add> | <domain:add> | ||
<domain:ns> | <domain:ns> | ||
- | <domain:hostObj>ns1. | + | <domain:hostObj>ns1.example.net</domain:hostObj> |
</domain:ns> | </domain:ns> | ||
<domain:contact type="tech">DD004372-NL</domain:contact> | <domain:contact type="tech">DD004372-NL</domain:contact> | ||
Line 611: | Line 624: | ||
<domain:rem> | <domain:rem> | ||
<domain:ns> | <domain:ns> | ||
- | <domain:hostObj> | + | <domain:hostObj>ns1.example.com</domain:hostObj> |
</domain:ns> | </domain:ns> | ||
- | <domain:contact type="tech"> | + | <domain:contact type="tech">JL901992-NL</domain:contact> |
- | + | ||
</domain:rem> | </domain:rem> | ||
<domain:chg> | <domain:chg> | ||
Line 630: | Line 642: | ||
<op:chg> | <op:chg> | ||
<op:autorenew>on</op:autorenew> | <op:autorenew>on</op:autorenew> | ||
- | <op:useDomicile> | + | <op:useDomicile>false</op:useDomicile> |
- | <op:comments> | + | <op:comments>Custom comment</op:comments> |
- | <op:nsGroup> | + | <op:nsGroup></op:nsGroup> |
- | + | ||
<op:resetAuthCode>true</op:resetAuthCode> | <op:resetAuthCode>true</op:resetAuthCode> | ||
</op:chg> | </op:chg> | ||
Line 658: | Line 669: | ||
</epp> | </epp> | ||
- | * ''' | + | * '''<contact:pw/> element''' is NOT used but required by EPP protocol, leave it blank |
==Contact== | ==Contact== | ||
Line 707: | Line 718: | ||
<create> | <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: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> | + | <contact:id>IGNORED</contact:id> |
<contact:postalInfo type="int"> | <contact:postalInfo type="int"> | ||
<contact:name>John Doe</contact:name> | <contact:name>John Doe</contact:name> | ||
+ | <contact:org>Example Inc.</contact:org> | ||
<contact:addr> | <contact:addr> | ||
- | <contact:street> | + | <contact:street>Main street 15</contact:street> |
- | + | <contact:city>Rotterdam</contact:city> | |
- | + | <contact:sp>Zuid-Holland</contact:sp> | |
- | <contact:city> | + | <contact:pc>3024 BN</contact:pc> |
- | <contact:sp> | + | |
- | <contact:pc> | + | |
<contact:cc>NL</contact:cc> | <contact:cc>NL</contact:cc> | ||
</contact:addr> | </contact:addr> | ||
</contact:postalInfo> | </contact:postalInfo> | ||
- | <contact:voice>+ | + | <contact:voice>+31.104482299</contact:voice> |
- | <contact:fax>+ | + | <contact:fax>+31.102440250</contact:fax> |
<contact:email>jdoe@example.com</contact:email> | <contact:email>jdoe@example.com</contact:email> | ||
<contact:authInfo> | <contact:authInfo> | ||
Line 732: | Line 742: | ||
<op:create> | <op:create> | ||
<op:contact> | <op:contact> | ||
- | <op:vat> | + | <op:vat>NL09507882B01</op:vat> |
- | <op:comments> | + | <op:comments>Custom comment</op:comments> |
<op:gender>male</op:gender> | <op:gender>male</op:gender> | ||
<op:birthDate>1982-10-23</op:birthDate> | <op:birthDate>1982-10-23</op:birthDate> | ||
- | <op:birthCity> | + | <op:birthCity>Amsterdam</op:birthCity> |
- | <op:birthCountry> | + | <op:birthCountry>NL</op:birthCountry> |
- | <op:birthAddress> | + | <op:birthAddress>Hoofdstraat 32</op:birthAddress> |
- | <op:birthState> | + | <op:birthState>Nood-Holland</op:birthState> |
- | <op:birthZipcode> | + | <op:birthZipcode>1000 AA</op:birthZipcode> |
- | <op:companyRegistrationCity> | + | <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity> |
<op:companyRegistrationNumber>123456</op:companyRegistrationNumber> | <op:companyRegistrationNumber>123456</op:companyRegistrationNumber> | ||
<op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | ||
- | <op:headquartersAddress> | + | <op:headquartersAddress></op:headquartersAddress> |
- | <op:headquartersCity> | + | <op:headquartersCity></op:headquartersCity> |
- | <op:headquartersCountry> | + | <op:headquartersCountry></op:headquartersCountry> |
- | <op:headquartersState> | + | <op:headquartersState></op:headquartersState> |
- | <op:headquartersZipcode> | + | <op:headquartersZipcode></op:headquartersZipcode> |
- | <op:socialSecurityNumber> | + | <op:socialSecurityNumber></op:socialSecurityNumber> |
- | <op:passportNumber> | + | <op:passportNumber></op:passportNumber> |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</op:contact> | </op:contact> | ||
</op:create> | </op:create> | ||
Line 764: | Line 768: | ||
</command> | </command> | ||
</epp> | </epp> | ||
+ | |||
+ | * '''<contact:postalInfo>''' ''type'' attribute is restricted to only one value: ''int'' | ||
+ | * '''<contact:id>''' is ignored by Openprovider | ||
+ | * '''<contact:pw>''' is ignored by Openprovider | ||
+ | * '''<contact:disclose>''' is ignored by Openprovider | ||
;Response: | ;Response: | ||
Line 774: | Line 783: | ||
<resData> | <resData> | ||
<contact:creData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | <contact:creData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | ||
- | <contact:id> | + | <contact:id>IB000545-NL</contact:id> |
- | <contact:crDate> | + | <contact:crDate>2012-07-23T11:59:29.0Z</contact:crDate> |
</contact:creData> | </contact:creData> | ||
</resData> | </resData> | ||
Line 785: | Line 794: | ||
</epp> | </epp> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===Delete=== | ===Delete=== | ||
Line 800: | Line 802: | ||
<delete> | <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: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> | + | <contact:id>IB000545-NL</contact:id> |
</contact:delete> | </contact:delete> | ||
</delete> | </delete> | ||
Line 820: | Line 822: | ||
</response> | </response> | ||
</epp> | </epp> | ||
+ | |||
===Info=== | ===Info=== | ||
Line 828: | Line 831: | ||
<info> | <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: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> | + | <contact:id>IB000545-NL</contact:id> |
</contact:info> | </contact:info> | ||
</info> | </info> | ||
Line 844: | Line 847: | ||
<resData> | <resData> | ||
<contact:infData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | <contact:infData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | ||
- | <contact:id> | + | <contact:id>IB000545-NL</contact:id> |
<contact:roid>495726825335031_CONTACT-OPENPROV</contact:roid> | <contact:roid>495726825335031_CONTACT-OPENPROV</contact:roid> | ||
<contact:status s="ok"/> | <contact:status s="ok"/> | ||
Line 851: | Line 854: | ||
<contact:org>Example Inc.</contact:org> | <contact:org>Example Inc.</contact:org> | ||
<contact:addr> | <contact:addr> | ||
- | <contact:street> | + | <contact:street>Main Street 15</contact:street> |
- | + | <contact:city>Rotterdam</contact:city> | |
- | <contact:city> | + | <contact:sp>Zuid-Holland</contact:sp> |
- | <contact:sp> | + | <contact:pc>3024 BN</contact:pc> |
- | <contact:pc> | + | <contact:cc>NL</contact:cc> |
- | <contact:cc> | + | |
</contact:addr> | </contact:addr> | ||
</contact:postalInfo> | </contact:postalInfo> | ||
- | <contact:voice>+ | + | <contact:voice>+31.104482299</contact:voice> |
- | <contact:fax>+ | + | <contact:fax>+31.102440250</contact:fax> |
<contact:email>jdoe@example.com</contact:email> | <contact:email>jdoe@example.com</contact:email> | ||
- | <contact:clID> | + | <contact:clID>username</contact:clID> |
<contact:crID>UNSUPPORTED</contact:crID> | <contact:crID>UNSUPPORTED</contact:crID> | ||
<contact:crDate>2012-07-20T07:59:26.0Z</contact:crDate> | <contact:crDate>2012-07-20T07:59:26.0Z</contact:crDate> | ||
- | <contact:upID> | + | <contact:upID>username</contact:upID> |
<contact:upDate>2012-07-20T07:59:26.0Z</contact:upDate> | <contact:upDate>2012-07-20T07:59:26.0Z</contact:upDate> | ||
</contact:infData> | </contact:infData> | ||
Line 875: | Line 877: | ||
<op:contact> | <op:contact> | ||
<op:gender>male</op:gender> | <op:gender>male</op:gender> | ||
- | <op:birthAddress> | + | <op:birthAddress></op:birthAddress> |
- | <op:birthCity> | + | <op:birthCity></op:birthCity> |
- | <op:birthCountry> | + | <op:birthCountry></op:birthCountry> |
<op:birthDate>1982-10-23</op:birthDate> | <op:birthDate>1982-10-23</op:birthDate> | ||
- | <op:birthState> | + | <op:birthState></op:birthState> |
- | <op:birthZipcode> | + | <op:birthZipcode></op:birthZipcode> |
- | + | <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity> | |
- | <op:companyRegistrationCity> | + | |
<op:companyRegistrationNumber>123456</op:companyRegistrationNumber> | <op:companyRegistrationNumber>123456</op:companyRegistrationNumber> | ||
<op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | ||
- | + | <op:headquartersAddress></op:headquartersAddress> | |
- | + | <op:headquartersCity></op:headquartersCity> | |
- | <op:headquartersAddress> | + | <op:headquartersCountry></op:headquartersCountry> |
- | <op:headquartersCity> | + | <op:headquartersState></op:headquartersState> |
- | <op:headquartersCountry> | + | <op:headquartersZipcode></op:headquartersZipcode> |
- | <op:headquartersState> | + | <op:passportNumber></op:passportNumber> |
- | <op:headquartersZipcode> | + | <op:socialSecurityNumber></op:socialSecurityNumber> |
- | + | ||
- | <op:passportNumber> | + | |
- | + | ||
- | + | ||
- | <op:socialSecurityNumber> | + | |
</op:contact> | </op:contact> | ||
</op:infData> | </op:infData> | ||
Line 909: | Line 905: | ||
</epp> | </epp> | ||
+ | * '''Not supported output values''': crID, crDate, upDate | ||
- | + | ===Transfer=== | |
- | + | ''Not available'' | |
- | + | ||
- | + | ||
- | + | ||
- | == | + | |
===Update=== | ===Update=== | ||
Line 924: | Line 917: | ||
<update> | <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: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> | + | <contact:id>IB000545-NL</contact:id> |
<contact:chg> | <contact:chg> | ||
<contact:postalInfo type="int"> | <contact:postalInfo type="int"> | ||
<contact:org/> | <contact:org/> | ||
<contact:addr> | <contact:addr> | ||
- | <contact:street> | + | <contact:street>Street 18</contact:street> |
- | + | <contact:city>Amsterdam</contact:city> | |
- | <contact:city> | + | <contact:sp>NH</contact:sp> |
- | <contact:sp> | + | <contact:pc>1000 AA</contact:pc> |
- | <contact:pc> | + | <contact:cc>NL</contact:cc> |
- | <contact:cc> | + | |
</contact:addr> | </contact:addr> | ||
</contact:postalInfo> | </contact:postalInfo> | ||
- | <contact:voice>+ | + | <contact:voice>+31.201234567</contact:voice> |
<contact:fax/> | <contact:fax/> | ||
</contact:chg> | </contact:chg> | ||
Line 947: | Line 939: | ||
<op:contact> | <op:contact> | ||
<op:chg> | <op:chg> | ||
- | <op:vat> | + | <op:vat>NL123245443B01</op:vat> |
- | <op:comments> | + | <op:comments></op:comments> |
- | <op:birthAddress> | + | <op:birthAddress></op:birthAddress> |
- | <op:birthCity> | + | <op:birthCity></op:birthCity> |
- | <op:birthCountry> | + | <op:birthCountry></op:birthCountry> |
<op:birthDate>1982-10-23</op:birthDate> | <op:birthDate>1982-10-23</op:birthDate> | ||
- | <op:birthState> | + | <op:birthState></op:birthState> |
- | <op:birthZipcode> | + | <op:birthZipcode></op:birthZipcode> |
- | + | <op:companyRegistrationCity></op:companyRegistrationCity> | |
- | <op:companyRegistrationCity> | + | <op:companyRegistrationNumber></op:companyRegistrationNumber> |
- | <op:companyRegistrationNumber> | + | |
<op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate> | ||
- | + | <op:headquartersAddress></op:headquartersAddress> | |
- | + | <op:headquartersCity></op:headquartersCity> | |
- | <op:headquartersAddress> | + | <op:headquartersCountry></op:headquartersCountry> |
- | <op:headquartersCity> | + | <op:headquartersState></op:headquartersState> |
- | <op:headquartersCountry> | + | <op:headquartersZipcode></op:headquartersZipcode> |
- | <op:headquartersState> | + | <op:passportNumber></op:passportNumber> |
- | <op:headquartersZipcode> | + | <op:socialSecurityNumber></op:socialSecurityNumber> |
- | + | ||
- | <op:passportNumber> | + | |
- | + | ||
- | + | ||
- | <op:socialSecurityNumber> | + | |
</op:chg> | </op:chg> | ||
</op:contact> | </op:contact> | ||
Line 979: | Line 965: | ||
</command> | </command> | ||
</epp> | </epp> | ||
+ | |||
+ | * '''<contact:postalInfo>''' ''type'' attribute is restricted to only one value: ''int'' | ||
+ | * '''<contact:status>''' and it's attributes are ignored by Openprovider | ||
+ | * '''<contact:pw>''' is ignored by Openprovider but required by EPP protocol, leave it blank | ||
+ | * '''<contact:disclose>''' is ignored by Openprovider | ||
;Response: | ;Response: | ||
Line 994: | Line 985: | ||
</epp> | </epp> | ||
- | |||
- | |||
- | + | ==Host== | |
- | + | ''Not available'' | |
- | + | ||
- | + | ||
- | ''' | + | |
- | + | ||
- | + | ||
==Poll== | ==Poll== | ||
Line 1,037: | Line 1,021: | ||
* '''<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,155: | Line 1,138: | ||
<domain:name>example.nl</domain:name> | <domain:name>example.nl</domain:name> | ||
<domain:trStatus>serverCancelled</domain:trStatus> | <domain:trStatus>serverCancelled</domain:trStatus> | ||
- | <domain:reID> | + | <domain:reID>username</domain:reID> |
<domain:reDate>2012-09-01T20:30:20.0Z</domain:reDate> | <domain:reDate>2012-09-01T20:30:20.0Z</domain:reDate> | ||
<domain:acID>UNSUPPORTED</domain:acID> | <domain:acID>UNSUPPORTED</domain:acID> | ||
Line 1,210: | Line 1,193: | ||
<op:name>example.nl</op:name> | <op:name>example.nl</op:name> | ||
<op:trStatus>pending</op:trStatus> | <op:trStatus>pending</op:trStatus> | ||
- | <op:reID> | + | <op:reID>username</op:reID> |
<op:reDate>2012-08-01T20:30:20.0Z</op:reDate> | <op:reDate>2012-08-01T20:30:20.0Z</op:reDate> | ||
<op:acID>UNSUPPORTED</op:acID> | <op:acID>UNSUPPORTED</op:acID> | ||
Line 1,255: | Line 1,238: | ||
<domain:roid>140_DOMAIN-OPENPROV</domain:roid> | <domain:roid>140_DOMAIN-OPENPROV</domain:roid> | ||
<domain:status s="inactive"/> | <domain:status s="inactive"/> | ||
- | <domain:clID> | + | <domain:clID>username</domain:clID> |
</domain:infData> | </domain:infData> | ||
</resData> | </resData> |
Revision as of 11:34, 21 September 2012
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.
Example
Not yet available
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.
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: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
- <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:hostObj>ns1.example.net</domain:hostObj> </domain:ns> <domain:contact type="tech">DD004372-NL</domain:contact> <domain:status s="clientTransferProhibited"/> </domain:add> <domain:rem> <domain:ns> <domain:hostObj>ns1.example.com</domain:hostObj> </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, leave it blank
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="int"> <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: int
- <contact:id> is ignored by Openprovider
- <contact:pw> is ignored by Openprovider
- <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="int"> <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: int
- <contact:status> and it's attributes are ignored by Openprovider
- <contact:pw> is ignored by Openprovider but required by EPP protocol, 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>