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

Compare with Current View Page History

« Previous Version 9 Next »

Anleitung zur vollständigen Automatisierung der Registrierung einer Domain.  Als Beispiel wird hier die TLD .com verwendet.

Inhaltsverzeichnis dieser Seite


TLD .com


Vorbereitung

Kontakt anlegen

Für die Bestellung einer .com Domain wird ein Inhaber, administrativer und technischer Kontakt 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 eines Kontaktes für eine Domain benötigt werden hängt von der gewählten TLD ab. Für bestimmte TLDs werden sogenannte Kontakterweiterungen benötigt.  Jede Registry hat dabei ihre eigenen Richtlinien. Weitere Informationen zu den verschiedenen TLDs können der TLD Wissensdatenbank entnommen werden.

ContactCreate Request
POST /contact
{
  "type": "PERSON",
  "fname": "John",
  "lname": "Doe",
  "organization": "Company",
  "address": [
      "123 Main Street"
  ],
  "pcode": "12345",
  "city": "Anytown",
  "country": "DE",
  "state": "BY",
  "phone": "+49-0-0",
  "email": "john.doe@domain.com"
}
ContactCreate Response
{
    "stid": "20180926-app3-dev-4889",
    "status": {
        "resultCode": "S0301",
        "text": "Domainkontakt wurde erfolgreich angelegt.",
        "type": "SUCCESS"
    },
    "object": {
        "type": "handle",
        "value": "23102255"
    },
    "data": [
        {
            "created": "2018-09-26T15:18:53.000+0200",
            "updated": "2018-09-26T15:18:53.000+0200",
            "id": 23102255,
            "owner": {
                "user": "USER",
                "context": CONTEXT
            },
            "updater": {
                "user": "USER",
                "context": CONTEXT
            },
            "alias": "John-Doe",
            "type": "PERSON",
            "fname": "John",
            "lname": "Doe",
            "organization": "Company",
            "address": [
                "123 Main Street"
            ],
            "pcode": "12345",
            "city": "Anytown",
            "country": "DE",
            "state": "BY",
            "phone": "+49-0-0",
            "email": "john.doe@domain.com",
            "protection": "SHOW_NONE"
        }
    ]
}
ContactCreate Request
<request>
  <auth>
    <user>USER</user>
    <password>PASSWORD</password>
    <context>CONTEXT</context>
  </auth>
  <task>
    <code>0301</code>
    <handle>
      <type>PERSON</type>
      <fname>John</fname>
      <lname>Doe</lname>
      <organization>Anycorp</organization>
      <address>Anystreet</address>
      <pcode>12345</pcode>
      <city>Anytown</city>
      <country>DE</country>
      <state />
      <phone>+49-0-0</phone>
      <fax>+49-0-0</fax>
      <email>john.doe@domain.com</email>
    </handle>
  </task>
</request>
ContactCreate Response
<response>
  <result>
    <data />
    <status>
      <code>S0301</code>
      <text>Domainkontakt wurde erfolgreich angelegt.</text>
      <type>success</type>
      <object>
        <type>handle</type>
        <value>100</value>
      </object>
    </status>
  </result>
</response>

Eine .com Domain registrieren

Domain registrieren

Mit dem Auftragstyp DomainCreate wird die Registrierung einer Domain gestartet. Dabei müssen Sie bestimmte Werte setzen:

  • Kontakte:  Geben Sie die Kontakt-ID der geforderten Kontakte an. Bei der TLD .com wird ein Inhaber, 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 benötigt werden hängt von der gewählten TLD ab. Jede Registry hat dabei ihre eigenen Richtlinien. Weitere Informationen zu den verschiedenen TLDs können 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