Vollständige Automatisierung der Laufzeitverlängerung einer Domain. Diese Aktion erfordert zwei Schritte, die Abfrage der Domain-Daten für das Ermitteln des Ablaufdatums und die Verlängerung der Domain-Laufzeit mit Angabe des Ablaufdatums.

Inhaltsverzeichnis dieser Seite

Domain-Informationen abfragen

Das benötigte Ablaufdatum wird über das Kommando DomainInfo abgefragt. Es ist in der Systemantwort im Tag  exDate enthalten.

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.com</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>

Domain-Laufzeit verlängern

Die Domain-Laufzeit wird über das Kommando DomainRenew verlängert. Die Dauer wird über das Tag period geregelt. Im Tag curExpDate wird der Wert aus exDate (Ablaufdatum) gesetzt.

Die möglichen Verlängerungs-Perioden sind abhängig von der TLD.

Setze eine clTRID. So kannst du die zu diesen Auftrag gehörende Poll Message schnell zuordnen. Im Beispiel wird <clTRID>EXAMPLE-123456789</clTRID> verwendet.

Request
<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>domain.com</domain:name>
                <domain:curExpDate>2020-05-22</domain:curExpDate>
                <domain:period unit="y">0</domain:period>
            </domain:renew>
        </renew>
        <clTRID>EXAMPLE-123456789</clTRID>
    </command>
</epp>
Response
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
    <response>
        <result code="1001">
            <msg lang="en">Command completed successfully; action pending</msg>
        </result>
        <resData>
            <domain:renData>
                <domain:name>domain.com</domain:name>
            </domain:renData>
        </resData>
        <extension />
        <trID>
            <clTRID>EXAMPLE-123456789</clTRID>
        </trID>
    </response>
</epp>

Polling abfragen und bestätigen

Durch das Kommando DomainRenew wird automatisch ein Auftrag generiert, der die Domain verlängert. Sobald der Auftrag erledigt ist, wird eine Domain-Benachrichtigung generiert, die per Polling abgefragt werden kann.

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">
	<response>
		<result code="1301">
			<msg lang="en">Command completed successfully; ack to dequeue</msg>
		</result>
		<msgQ count="2" id="880178">
			<qDate>2017-07-14T06:52:19.000Z</qDate>
			<msg>Message text</msg>
		</msgQ>
		<resData>
			<!--  Siehe Seite "Polling" für die unterschiedlichen Benachrichtigungen  -->
		</resData>
		<trID>
			<clTRID>1cb47efe-2ab3-4769-b0cb-3252af528095</clTRID>
			<svTRID>20170714-app2-dev-10055</svTRID>
		</trID>
	</response>
</epp>

Um eine Poll Message einer Domain-Registrierung zuordnen zu können, kann die clTRID ( ClientTransactionId ) verwendet werden. In diesen Fall ist folgender Tag erforderlich:

<clTRID>EXAMPLE-123456789</clTRID>

Die hier zurückgegebene clTRID ist die gleiche die bei dem vorrangegangenen Kommando DomainCreate verwendet wurde.

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>