You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Anleitung zur vollständigen Automatisierung der Registrierung einer Domain, am Beispiel der Domain TLD.com verwendet. .com ist eine generische Top-Level-Domain. Aufgrund fehlender Beschränkungen, eignet sich diese TLD bestens für die erste Implementierung.

Inhaltsverzeichnis dieser Seite


Voraussetzungen

Domainkontakte

Für die Bestellung einer .com Domain wird ein Domaininhaber (OwnerC), administrativer (AdminC) und ein technischer Kontakt (TechC) benötigt. Sie können bereits vorhandene Kontakte verwenden oder neue Kontakte anlegen. Neu angelegte Kontakte können für zukünftige Registrierungen verwendet werden.

Welche Daten ein Kontakt für die Registrierung einer Domain enthalten muß, hängt von der TLD ab. Jede Registry hat dabei ihre eigenen Richtlinien. Für einige TLDs werden sogenannte Kontakterweiterungen (Extensions) benötigt. Detaillierte Informationen zu allen TLDs, die wir anbieten, finden Sie in der TLD Wissensdatenbank


Domainkontakt anlegen

Die Domain registrieren

Auftrag starten

Mit dem Auftragstyp DomainCreate starten Sie die Registrierung der Domain. Dabei müssen Sie mindestens diese Werte setzen:

  • Kontakte:  Geben Sie die Kontakt-ID der geforderten Kontakte an. Bei der .com-Domains wird ein Domaininhaber, ein administrativer sowie ein technischer Kontakt benötigt.
  • Domain: Der Name der Domain
  • Nameserver: Geben Sie hier die gewünschten Nameserver an. Die Anzahl der benötigten Nameserver ist TLD abhängig.

Welche Daten für eine Domain noch benötigt werden hängt von der gewählten TLD ab. Jede Registry hat dabei ihre eigenen Richtlinien. Weitere Informationen dazu finden Sie in der TLD Wissensdatenbank entnommen werden.

DomainCreate Request
POST /domain
{
    "name": "domain.com",
    "ownerc": {
        "id": 100
    },
    "adminc": {
        "id": 100
    },
    "techc": {
        "id": 100
    },
    "nameServers": [
        {
          "name": "a.ns14.net"
        },
        {
          "name": "b.ns14.net"
        },
        {
          "name": "c.ns14.net"
        },
        {
          "name": "d.ns14.net"
        }
    ]
}
DomainCreate Response
{
    "stid": "20180926-stid",
    "status": {
        "resultCode": "N0101",
        "text": "Die Domainregistrierung wurde erfolgreich gestartet.",
        "type": "NOTIFY"
    },
    "object": {
        "type": "domain",
        "value": "domain.com"
    }
}
DomainCreate Request
<request>
  <auth>
    <user>USER</user>
    <password>PASSWORD</password>
    <context>CONTEXT</context>
  </auth>
  <task>
    <code>0101</code>
    <domain>
      <name>domain.com</name>
      <ownerc>100</ownerc>
      <adminc>100</adminc>
      <techc>100</techc>
      <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>
      <confirm_order>1</confirm_order>
      <period>1</period>
    </domain>
  </task>
</request>
DomainCreate Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <result>
    <data>
      <domain_job>
        <job>
          <id>123456</id>
          <status>RUNNING</status>
        </job>
      </domain_job>
    </data>
    <status>
      <code>N0101</code>
      <text>Die Domainregistrierung wurde erfolgreich gestartet.</text>
      <type>notify</type>
      <object>
        <type>domain</type>
        <value>domain.com</value>
      </object>
    </status>
  </result>
</response>

Auftrags-Benachrichtigungen abfragen und bestätigen

Der Auftragstyp DomainCreate erzeugt automatisch einen Auftrag für die Registrierung der Domain. Ist der Auftrag abgearbeitet, wird eine Auftrags-Benachrichtigung generiert, mit Informationen über den Auftrag. Diese können Sie über den Auftragstyp PollmessageInfo abfragen.

Die PollMessage gibt Aufschluss darüber, ob die Registrierung erfolgreich war oder nicht. Abschließend müssen Sie den Auftrag mit PollmessageConfirm bestätigen.


PollMessageInfo Request
GET /poll
PollMessageInfo Response
{
    "stid": "20180926-stid",
    "status": {
        "resultCode": "S0905",
        "text": "Die Benachrichtigung wurde erfolgreich abgerufen.",
        "type": "SUCCESS"
    },
    "object": {
        "type": "message",
        "value": "1819917"
    },
    "data": [
        {
            "summary": 1,
            "message": {
                "id": 1819917,
                "job": {
                    "id": 4295609745,
                    "domain": {
                        "created": "2018-09-26T15:11:21.000+0200",
                        "owner": {},
                        "updater": {},
                        "name": "domain.com",
                        "expire": "2019-09-26T15:11:20.000+0200",
                        "payable": "2019-09-26T15:11:21.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"
                            }
                        ],
                        "lastAction": "CREATE",
                        "authinfo": "gg9o3FFL/hzNbuPw",
                        "autoRenewStatus": "TRUE",
                        "registrarStatus": "ACTIVE",
                        "rddsOptIn": "NOT_SET"
                    }
                },
                "stid": "20180926-stid",
                "object": {
                    "type": "domain",
                    "value": "domain.com"
                },
                "status": {
                    "resultCode": "S0101",
                    "type": "SUCCESS"
                }
            }
        }
    ]
}
PollMessageInfo Request
<request>
    <auth>
        <user>USER</user>
        <context>CONTEXT</context>
        <password>PASSWORD</password>
    </auth>
    <task>
        <code>0905</code>
    </task>
</request>
PollMessageInfo Response
 
PollMessageConfirm Request
PUT /poll/{id}
PollMessageConfirm Response
{
    "stid": "20180926-stid",
    "status": {
        "resultCode": "S0906",
        "text": "Die Benachrichtigung wurde erfolgreich bestätigt.",
        "type": "SUCCESS"
    },
    "object": {
        "type": "message",
        "value": "1819853"
    }
}
PollMessageConfirm Request
<request>
    <auth>
        <user>USER</user>
        <context>CONTEXT</context>
        <password>PASSWORD</password>
    </auth>
    <task>
        <code>0906</code>
       <message>
            <id>650664</id>
        </message>
    </task>
</request>
PollMessageConfirm Response
<response>
    <result>
        <data>
            <summary>0</summary>
            <message>
                <id>650664</id>
            </message>
        </data>
        <status>
            <code>S0906</code>
            <text>The notification was confirmed successfully.</text>
            <type>success</type>
            <object>
                <type>message</type>
                <value>650664</value>
            </object>
        </status>
    </result>
</response>

Domaindaten ermitteln

Der Auftragstyp DomainInfo ermittelt alle Domaindaten. Die Daten können mit Hilfe des Domainnamen abgefragt werden.


DomainInfo Request
GET /domain/domain.com
DomainInfo Response
{
    "stid": "20180926-stid",
    "status": {
        "resultCode": "S0105",
        "text": "Domaindaten wurden erfolgreich ermittelt.",
        "type": "SUCCESS"
    },
    "object": {
        "type": "domain",
        "value": "domain.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": "domain.com",
            "payable": "2019-09-26T14:54:03.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"
        }
    ]
}
DomainInfo Request
<request>
  <auth>
    <user>USER</user>
    <password>PASSWORD</password>
    <context>CONTEXT</context>
  </auth>
  <task>
    <code>0105</code>
    <domain>
      <name>domain.com</name>
    </domain>
  </task>
</request>
DomainInfo Response
<response>
  <result>
    <data>
      <domain>
        <name>domain.com</name>
        <payable>2019-09-26 14:54:03</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>domain.com</value>
      </object>
    </status>
  </result>
  <stid>20180926-stid</stid>
</response>

Weitere Informationen

Auftragstypen-Codes, Namen und Routen

AuftragstypTaskcodeRoute
ContactCreate0301POST /contact
DomainCreate0101POST /domain
DomainInfo0105GET /domain/$name
PollMessageInfo0905GET /poll
PollMessageConfirm0906PUT /poll/$id
  • No labels