Vorbereitung
Als Beispiel wird hier eine .com Domain registriert.
EPP-API aktivieren
Um die EPP-API zu nutzen, musst du sie einmalig über die AutoDNS Oberfläche für deine Benutzer aktivieren.
Kontakte anlegen
Für die Registrierung einer .com Domain werden ein Registrant, ein administrativer und ein technischer Kontakt benötigt. Hier zeigen wir dir, wie du neue Kontakte anlegen kannst. Wenn die Kontakte bereits vorhanden sind, kannst du diesen Schritt überspringen.
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo type="loc">
<contact:name>John Doe</contact:name>
<contact:org>Example Inc.</contact:org>
<contact:addr>
<contact:street>123 Example Street</contact:street>
<contact:street>Suite 100</contact:street>
<contact:city>Anytown</contact:city>
<contact:sp>VA</contact:sp>
<contact:pc>20166-6503</contact:pc>
<contact:cc>US</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice x="1234">+1.7035555555</contact:voice>
<contact:fax>+1.7035555556</contact:fax>
<contact:email>jon.doe@domain.com</contact:email>
<contact:disclose flag="0">
<contact:voice />
<contact:email />
</contact:disclose>
</contact:create>
</create>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
<epp xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:domainrobot="urn:org:domainrobot:ns:ext-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:pro="urn:org:domainrobot:ns:contact:pro-1.0" xmlns:ro="urn:org:domainrobot:ns:contact:ro-1.0" xmlns:xxx="urn:org:domainrobot:ns:contact:xxx-1.0" xmlns:ca="urn:org:domainrobot:ns:contact:ca-1.0" xmlns:cat="urn:org:domainrobot:ns:contact:cat-1.0" xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:jobs="urn:org:domainrobot:ns:contact:jobs-1.0" xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" xmlns:aero="urn:org:domainrobot:ns:contact:aero-1.0" xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:hk="urn:org:domainrobot:ns:contact:hk-1.0" xmlns:bank="urn:org:domainrobot:ns:contact:bank-1.0" xmlns:it="urn:org:domainrobot:ns:contact:it-1.0" xmlns:barcelona="urn:org:domainrobot:ns:contact:barcelona-1.0" xmlns:au="urn:org:domainrobot:ns:contact:au-1.0" xmlns:uk="urn:org:domainrobot:ns:contact:uk-1.0" xmlns:swiss="urn:org:domainrobot:ns:contact:swiss-1.0" xmlns:ru="urn:org:domainrobot:ns:contact:ru-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<contact:creData>
<contact:id>23022508</contact:id>
<contact:crDate>2017-07-31T12:07:16.000Z</contact:crDate>
</contact:creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>DEF-12345</svTRID>
</trID>
</response>
</epp>
Ein erfolgreicher Auftrag wird mit Command completed successfully beantwortet. Für die kommenden Schritte benötigst du die ID des angelegten Kontaktes.
Registrierung
Domain-Registrierung starten
Du startest die die Domain-Registrierung mit dem Kommando DomainCreate. Dafür benötigst du die folgenden Angaben:
- Domainname
- gewünschte Laufzeit
- Nameserver
- Registrant Kontakt
- Administrativer Kontakt
- Technischer Kontakt
<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>domain.com</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>23022508</domain:registrant>
<domain:contact type="admin">23022508</domain:contact>
<domain:contact type="tech">23022508</domain:contact>
</domain:create>
</create>
<clTRID>EXAMPLE-123456789</clTRID>
</command>
</epp>
<epp xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:domainrobot="urn:org:domainrobot:ns:ext-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:ro="urn:org:domainrobot:ns:contact:ro-1.0" xmlns:xxx="urn:org:domainrobot:ns:contact:xxx-1.0" xmlns:ca="urn:org:domainrobot:ns:contact:ca-1.0" xmlns:cat="urn:org:domainrobot:ns:contact:cat-1.0" xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:jobs="urn:org:domainrobot:ns:contact:jobs-1.0" xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" xmlns:aero="urn:org:domainrobot:ns:contact:aero-1.0" xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:hk="urn:org:domainrobot:ns:contact:hk-1.0" xmlns:bank="urn:org:domainrobot:ns:contact:bank-1.0" xmlns:it="urn:org:domainrobot:ns:contact:it-1.0" xmlns:barcelona="urn:org:domainrobot:ns:contact:barcelona-1.0" xmlns:au="urn:org:domainrobot:ns:contact:au-1.0" xmlns:uk="urn:org:domainrobot:ns:contact:uk-1.0" xmlns:swiss="urn:org:domainrobot:ns:contact:swiss-1.0" xmlns:ru="urn:org:domainrobot:ns:contact:ru-1.0">
<response>
<result code="1001">
<msg lang="en">Command completed successfully; action pending</msg>
</result>
<resData>
<domain:creData>
<domain:name>domain.com</domain:name>
</domain:creData>
</resData>
<extension>
<domainrobot:domain>
<domainrobot:zonec>1</domainrobot:zonec>
</domainrobot:domain>
</extension>
<trID>
<clTRID>EXAMPLE-123456789</clTRID>
<svTRID>20170731-app1-9999</svTRID> </trID>
</response>
</epp>
Poll-Messages abfragen und bestätigen (Poll Info und Poll Confirm)
Durch das Kommando DomainCreate wird automatisch ein Auftrag generiert, der die um die Registrierung der Domain startet. Sobald der Auftrag vollendet ist, wird eine Poll-Message generiert, die du mit dem Poll-Kommando PollInfo abfragen kannst.
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req" />
<clTRID>ABC-12345</clTRID>
</command>
</epp>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:domainrobot="urn:org:domainrobot:ns:ext-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:ro="urn:org:domainrobot:ns:contact:ro-1.0" xmlns:xxx="urn:org:domainrobot:ns:contact:xxx-1.0" xmlns:ca="urn:org:domainrobot:ns:contact:ca-1.0" xmlns:cat="urn:org:domainrobot:ns:contact:cat-1.0" xmlns:jobs="urn:org:domainrobot:ns:contact:jobs-1.0" xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" xmlns:aero="urn:org:domainrobot:ns:contact:aero-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:hk="urn:org:domainrobot:ns:contact:hk-1.0" xmlns:bank="urn:org:domainrobot:ns:contact:bank-1.0" xmlns:it="urn:org:domainrobot:ns:contact:it-1.0" xmlns:barcelona="urn:org:domainrobot:ns:contact:barcelona-1.0" xmlns:au="urn:org:domainrobot:ns:contact:au-1.0" xmlns:uk="urn:org:domainrobot:ns:contact:uk-1.0" xmlns:swiss="urn:org:domainrobot:ns:contact:swiss-1.0" xmlns:ru="urn:org:domainrobot:ns:contact:ru-1.0">
<response>
<result code="1301">
<msg lang="en">Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="1" id="880369">
<qDate>2017-07-14T13:46:33.000Z</qDate>
</msgQ>
<resData>
<domain:panData>
<domain:name paResult="1">domain.com</domain:name>
<domain:paTRID>
<clTRID>EXAMPLE-123456789</clTRID>
<svTRID>20170731-app1-10001</svTRID>
</domain:paTRID>
<domain:paDate>2017-07-31T13:46:33.000Z</domain:paDate>
</domain:panData>
<domain:infData>
<domain:name>domain.com</domain:name>
<domain:registrant>23022508</domain:registrant>
<domain:contact type="admin">23022508</domain:contact>
<domain:contact type="tech">23022508</domain:contact>
<domain:ns>
<domain:hostAttr>
<domain:hostName>c.ns14.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>d.ns14.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:crDate>2017-07-14T13:46:23.000Z</domain:crDate>
<domain:exDate>2019-07-14T13:46:23.000Z</domain:exDate>
<domain:authInfo>
<domain:pw>L14HY+jaa45odO0v</domain:pw>
</domain:authInfo>
</domain:infData>
</resData>
<extension>
<domainrobot:domain>
<domainrobot:zonec>23022508</domainrobot:zonec>
<domainrobot:trustee>0</domainrobot:trustee>
<domainrobot:privacy>0</domainrobot:privacy>
</domainrobot:domain>
</extension>
<trID>
<clTRID>a2d8e98e-c703-4368-a986-a1fdfa42b8fe</clTRID>
<svTRID>12345678</svTRID>
</trID>
</response>
</epp>
Um eine Poll-Message einer Domain-Registrierung zuzuordnen, kann die clTRID (ClientTransactionId) verwendet werden. In diesen Fall wäre folgender Abschnitt wichtig :
<clTRID>EXAMPLE-123456789</clTRID>
Die hier zurückgegebene clTRID (ClientTransactionId) ist die gleiche wie bei dem vorrangegangenen Kommando DomainCreate.
Das Polling-System arbeitet nach dem FIFO-Prinzip: die gleiche Poll Message wird solange zurückgegeben, bis sie bestätigt wird, d.h. jede Poll Message muss bestätigt werden, damit auch die nächste abgerufen werden kann. Für die Bestätigung benötigst du die ID aus dem vorhergehenden Kommando.
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="627787" />
<clTRID>ABC-12346</clTRID>
</command>
</epp>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<msgQ count="0" id="627787" />
<trID>
<clTRID>ABC-12346</clTRID>
</trID>
</response>
</epp>
Domain-Informationen abfragen
Nach erfolgreicher Registrierung kannst du die Daten der Domain mit dem Kommando DomainInfo abfragen.
<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 hosts="all">domain.de</domain:name>
</domain:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
<epp xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:infData>
<domain:name>domain.com</domain:name>
<domain:roid>11109997-domain.com</domain:roid>
<domain:registrant>23022508</domain:registrant>
<domain:contact type="admin">23022508</domain:contact>
<domain:contact type="tech">23022508</domain:contact>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.nameserver.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.nameserver.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:clID>user1, 4</domain:clID>
<domain:crID>user1, 4</domain:crID>
<domain:crDate>2017-07-31T14:44:41.000Z</domain:crDate>
<domain:upID>user1, 4</domain:upID>
<domain:upDate>2017-07-31T09:06:49.000Z</domain:upDate>
<domain:exDate>2018-07-31T14:44:41.000Z</domain:exDate>
<domain:authInfo>
<domain:pw>123ABC456DEF</domain:pw>
</domain:authInfo>
</domain:infData>
</resData>
<extension>
<domainrobot:domain xmlns:domainrobot="urn:org:domainrobot:ns:ext-1.0">
<domainrobot:zonec>23022508</domainrobot:zonec>
<domainrobot:trustee>0</domainrobot:trustee>
<domainrobot:privacy>0</domainrobot:privacy>
</domainrobot:domain>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
</trID>
</response>
</epp>