---
title: "Automatisierung der Laufzeitverlängerung einer Domain"
url: "https://help.internetx.com/de/api/processes-automatisierung-der-laufzeitverlaengerung-einer-domain/"
lang: "de"
section: "API-Referenz — API-Prozesse"
breadcrumb: "Automatisierung von Domain-Prozessen"
updated: "2023-09-12"
---

# Automatisierung der Laufzeitverlängerung einer Domain

Anleitung zur vollständigen Automatisierung der Laufzeitverlängerung einer Domain (DomainRenew)**.**

## Grundlagen der JSON-und XML-API

Alle wichtigen Informationen für die Nutzung der JSON- und XML-API findest du bei den [API-Grundlagen,](/de/api/core-allgemeine-api-grundlagen/)  den [XML](/de/api/core-xml/)\- und [JSON](/de/api/core-json/)\-Grundlagen.

## Prozessübersicht

### Ablauf-Diagramm

![Ablauf-Diagramm](/images/api/68bf3ed2c1fd.png)

### Auftragstypen, Codes und Routen

| Auftragstyp | Code | Route |
| --- | --- | --- |
| [DomainRenew](/de/api/core-domain-renew/) | 0101003 | PUT /domain/ {name} /\_renew |
| PollInfo | 0905 | GET /poll |
| PollConfirm | 0906 | PUT /poll/$id |
| [DomainInfo](/de/api/core-domain-info/) | 0105 | GET / domain/$name |

## Voraussetzungen

### Domain-Daten abrufen (DomainInfo)

Für den _DomainRenew_\-Auftrag wird das Fälligkeitsdatum der Domain benötigt. Es kann mit einem _DomainInfo_\-Auftrag abgerufen werden. Das Fälligkeitsdatum ist im Feld `payable` angegeben. Im Beispiel ist es 2020-12-31 12:00:00.

```
GET /domain/example.com
```

```
{
    "stid": "20180926-stid",
    "status": {
        "code": "S0105",
        "text": "Domaindaten wurden erfolgreich ermittelt.",
        "type": "SUCCESS"
    },
    "object": {
        "type": "domain",
        "value": "example.com"
    },
    "data": [
        {
            "created": "2018-09-26T14:54:03.000+0200",
            "updated": "2018-09-26T14:54:10.000+0200",
            "owner": {
                "user": "USER",
                "context": CONTEXT
            },
            "updater": {
                "user": "USER",
                "context": CONTEXT
            },
            "name": "example.com",
            "payable": "2020-12-31T12:00:00.000+0200",
            "ownerc": {
                "id": 100
            },
            "adminc": {
                "id": 100
            },
            "techc": {
                "id": 100
            },
            "registryStatus": "LOCK",
            "nameServers": [
                {
                    "name": "a.ns14.net"
                },
                {
                    "name": "b.ns14.net"
                },
                {
                    "name": "c.ns14.net"
                },
                {
                    "name": "d.ns14.net"
                }
            ],
            "trustee": false,
            "privacy": false,
            "authinfo": "J/w0Xpn66I87YVty",
            "domainsafe": false,
            "validCertificate": false,
            "autoRenewStatus": "TRUE",
            "registrarStatus": "ACTIVE",
            "rddsOptIn": "NOT_SET"
        }
    ]
}
```

```
<request>
  <auth>
    <user>USER</user>
    <password>PASSWORD</password>
    <context>CONTEXT</context>
  </auth>
  <task>
    <code>0105</code>
    <domain>
      <name>example.com</name>
    </domain>
  </task>
</request>
```

```
<response>
  <result>
    <data>
      <domain>
        <name>example.com</name>
        <payable>2020-12-31 12:00:00</payable>
        <ownerc>100</ownerc>
        <adminc>100</adminc>
        <techc>100</techc>
        <registry_status>LOCK</registry_status>
        <nserver>
          <name>a.ns14.net</name>
        </nserver>
        <nserver>
          <name>b.ns14.net</name>
        </nserver>
        <nserver>
          <name>c.ns14.net</name>
        </nserver>
        <nserver>
          <name>d.ns14.net</name>
        </nserver>
        <period>1</period>
        <status>SUCCESS</status>
        <use_trustee>false</use_trustee>
        <use_privacy>false</use_privacy>
        <authinfo>J/w0Xpn66I87YVty</authinfo>
        <domainsafe>false</domainsafe>
        <certificate>false</certificate>
        <autorenew>true</autorenew>
        <registrar_status>ACTIVE</registrar_status>
        <rdds_opt_in>NOT_SET</rdds_opt_in>
        <owner>
          <user>USER</user>
          <context>CONTEXT</context>
        </owner>
        <updater>
          <user>USER</user>
          <context>CONTEXT</context>
        </updater>
        <created>2018-09-26 14:54:03</created>
        <updated>2018-09-26 14:54:10</updated>
      </domain>
    </data>
    <status>
      <code>S0105</code>
      <text>Domaindaten wurden erfolgreich ermittelt.</text>
      <type>success</type>
      <object>
        <type>domain</type>
        <value>example.com</value>
      </object>
    </status>
  </result>
 <stid>20180926-stid</stid>
</response>
```

## Ablauf

### Domain verlängern (Domain Renew)

Mit dem Auftragstyp _DomainRenew_ startest du die Laufzeitverlängerung einer Domain. Das zuvor ermittelte Fälligkeitsdatum ist im Auftrag erforderlich, z. B. um eine versehentliche doppelte Verlängerung zu verhindern.

#### DomainRenew - Beispiel

```
PUT /domain/$name/_renew
{
      "period": {
          "period": 1,
          "unit": "YEAR"
      },
      "payable": "2020-12-31T12:00:00.000+0200",
      "removeCancelation": false
}
```

```
{
    "stid": "20180928-stid",
    "status": {
        "code": "N0101003",
        "text": "Die Laufzeitverlaengerung wurde erfolgreich gestartet.",
        "type": "NOTIFY"
    },
    "object": {
        "type": "domain",
        "value": "example.com"
    },
    "data": [
        {
            "id": 4295611341
        }
    ]
}
```

```
<request>
  <auth>
    <user>USER</user>
    <password>PASSWORD</password>
    <context>CONTEXT</context>
  </auth>
  <task>
    <code>0101003</code>
    <domain>
      <name>example.com</name>
      <period>1</period>
      <payable>2020-12-31 12:00:00</payable>
      <remove_cancellation>no</remove_cancellation>
    </domain>
  </task>
</request>
```

```
<response>
  <result>
    <data>
      <domain_job>
        <job>
          <id>123456</id>
          <status>RUNNING</status>
        </job>
      </domain_job>
    </data>
    <status>
      <code>N0101003</code>
      <text>Die Laufzeitverlaengerung wurde erfolgreich gestartet.</text>
      <type>notify</type>
      <object>
        <type>domain</type>
        <value>example.com</value>
      </object>
    </status>
  </result>
 <stid>20180928-stid</stid>
</response>
```

### Benachrichtigungen erhalten

Der Auftragstyp _DomainRenew_ erzeugt automatisch einen Auftrag für die Verlängerung der Domain.  
Ist der Auftrag abgearbeitet, wird eine Systembenachrichtigung erzeugt, die Aufschluss darüber gibt, ob die Laufzeitverlängerung erfolgreich war oder nicht.  
Die Benachrichtigung kann mit den Methoden [Polling und Push abgerufen bzw. zugesendet](/de/api/core-benachrichtigungen-erhalten-polling-und-push/) werden.

### Domain-Daten abrufen (Domain Info)

Nach erfolgreicher Laufzeitverlängerung kannst du das neue Fälligkeitsdatum der Domain (Feld `payable`) mit einem _DomainInfo_\-Auftrag ermitteln.  
Da die Domain-Laufzeit in diesem Beispiel um ein Jahr verlängert wurde, hat das Feld `payable` den neuen Wert `2021-12-31 00:00:00.`

```
GET /domain/example.com
```

```
{
    "stid": "20180926-stid",
    "status": {
        "code": "S0105",
        "text": "Domaindaten wurden erfolgreich ermittelt.",
        "type": "SUCCESS"
    },
    "object": {
        "type": "domain",
        "value": "example.com"
    },
    "data": [
        {
            "created": "2018-09-26T14:54:03.000+0200",
            "updated": "2018-09-26T14:54:10.000+0200",
            "owner": {
                "user": "USER",
                "context": CONTEXT
            },
            "updater": {
                "user": "USER",
                "context": CONTEXT
            },
            "name": "example.com",
            "payable": "2021-12-31T00:00:00.000+0200",
            "ownerc": {
                "id": 100
            },
            "adminc": {
                "id": 100
            },
            "techc": {
                "id": 100
            },
            "registryStatus": "LOCK",
            "nameServers": [
                {
                    "name": "a.ns14.net"
                },
                {
                    "name": "b.ns14.net"
                },
                {
                    "name": "c.ns14.net"
                },
                {
                    "name": "d.ns14.net"
                }
            ],
            "trustee": false,
            "privacy": false,
            "authinfo": "J/w0Xpn66I87YVty",
            "domainsafe": false,
            "validCertificate": false,
            "autoRenewStatus": "TRUE",
            "registrarStatus": "ACTIVE",
            "rddsOptIn": "NOT_SET"
        }
    ]
}
```

```
<request>
  <auth>
    <user>USER</user>
    <password>PASSWORD</password>
    <context>CONTEXT</context>
  </auth>
  <task>
    <code>0105</code>
    <domain>
      <name>example.com</name>
    </domain>
  </task>
</request>
```

```
<response>
  <result>
    <data>
      <domain>
        <name>example.com</name>
        <payable>2021-12-31 00:00:00</payable>
        <ownerc>100</ownerc>
        <adminc>100</adminc>
        <techc>100</techc>
        <registry_status>LOCK</registry_status>
        <nserver>
          <name>a.ns14.net</name>
        </nserver>
        <nserver>
          <name>b.ns14.net</name>
        </nserver>
        <nserver>
          <name>c.ns14.net</name>
        </nserver>
        <nserver>
          <name>d.ns14.net</name>
        </nserver>
        <period>1</period>
        <status>SUCCESS</status>
        <use_trustee>false</use_trustee>
        <use_privacy>false</use_privacy>
        <authinfo>J/w0Xpn66I87YVty</authinfo>
        <domainsafe>false</domainsafe>
        <certificate>false</certificate>
        <autorenew>true</autorenew>
        <registrar_status>ACTIVE</registrar_status>
        <rdds_opt_in>NOT_SET</rdds_opt_in>
        <owner>
          <user>USER</user>
          <context>CONTEXT</context>
        </owner>
        <updater>
          <user>USER</user>
          <context>CONTEXT</context>
        </updater>
        <created>2018-09-26 14:54:03</created>
        <updated>2018-09-26 14:54:10</updated>
      </domain>
    </data>
    <status>
      <code>S0105</code>
      <text>Domaindaten wurden erfolgreich ermittelt.</text>
      <type>success</type>
      <object>
        <type>domain</type>
        <value>example.com</value>
      </object>
    </status>
  </result>
 <stid>20180926-stid</stid>
</response>
```
