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

Compare with Current View Page History

« Previous Version 19 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), ein administrativer Kontakt (AdminC) und ein technischer Kontakt (TechC) benötigt. Sie können bereits vorhandene Kontakte verwenden oder neue Kontakte anlegen.

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

Die Domain registrieren

Auftrag starten

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

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

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

Auftrags-Beispiele

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-Benachrichtigung per Polling abrufen

Der Auftragstyp DomainCreate erzeugt automatisch einen Auftrag für die Registrierung der Domain.
Ist der Auftrag abgearbeitet, wird eine Auftrags-Benachrichtigung , die Aufschluss darüber gibt, ob die Registrierung erfolgreich war oder nicht. Da Sie diese über das Polling-Verfahren abrufen können, wird Sie auch als PollMessage bezeichnet

Sie müssen die PollMessage mit dem Auftragstyp PollmessageInfo abrufen.  Das Abrufen müssen Sie mit dem Auftragstyp PollmessageConfirm bestätigen.


Weitere Details zu Benachrichtigungen finden Sie auf der Seite Asynchrone Benachrichtigungen.

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 abrufen

Nach erfolgreicher Registrierung können Sie die im System hinterlegten Registrierungsdaten mit dem Auftragstyp DomainInfo abfragen. Die können so feststellen,  ob die Domain mit den gewünschten Daten registriert wurde. Use Cases mit Marius/Kutti besprechen; wann mach ich das

Auftragstypen, Auftragstypen-Codes und Routen

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