Vollständige Automatisierung der Registrierung einer Domain.

Inhaltsverzeichnis dieser Seite

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.

Hinweis zu verschiedenen TLD Richtlinien

Jede Registry gibt andere Richtlinien für die Kontaktdaten zur Registrierung einer Domain vor. Prüfe vorab, ob die Kontaktdaten mit den Richtlinien der Registry vereinbar sind.

Request
<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>
Response
<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

Durch das Setzen einer clTRID (ClientTransactionId) kann später die zu diesen Auftrag gehörende Poll-Message zugeordnet werden. Im Beispiel wird hier <clTRID>EXAMPLE-123456789</clTRID> verwendet.

Request
<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>
Reponse
<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.

Request
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
	<command>
		<poll op="req" />
		<clTRID>ABC-12345</clTRID>
	</command>
</epp>
Response
<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.

Request
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
	<command>
		<poll op="ack" msgID="627787" />
		<clTRID>ABC-12346</clTRID>
	</command>
</epp>
Response
<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.

Request
<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>
Response
<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>