You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 47
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.
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.
Zur Prozessbeschreibung Domainkontakt anlegen.
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.
Domain Create - Beispiele für Aufträge und Systemantworten
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>
<stid>20181015-dev-3282</stid>
</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.
PollInfo - Beispiele für Aufträge und Systemantworten
PollInfo Request
PollInfo 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"
}
}
}
]
}
PollInfo Request
<request>
<auth>
<user>USER</user>
<context>CONTEXT</context>
<password>PASSWORD</password>
</auth>
<task>
<code>0905</code>
</task>
</request>
PollInfo Response
<response>
<result>
<data>
<summary>1</summary>
<message>
<id>1855680</id>
<owner>
<user>alex_normal_plus</user>
<context>4</context>
</owner>
<job>
<domain>
<name>domain.com</name>
<expire>2019-10-15 14:02:40</expire>
<payable>2019-10-15 14:02:41</payable>
<ownerc>100</ownerc>
<adminc>100</adminc>
<techc>100</techc>
<nic_member_label>VGRS-TEST</nic_member_label>
<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>
<authinfo>S0Lygv+ZkNbniICm</authinfo>
<autorenew>true</autorenew>
<confirm_order>1</confirm_order>
<confirm_owner_consent>0</confirm_owner_consent>
<registrar_status>ACTIVE</registrar_status>
<rdds_opt_in>NOT_SET</rdds_opt_in>
<owner/>
<updater/>
<created>2018-10-15 14:02:41</created>
</domain>
<job_id>4295625406</job_id>
<status>
<code>S0101</code>
<type>success</type>
<object>
<type>domain</type>
<value>domain.com</value>
</object>
</status>
<stid>20181015-app1-3788</stid>
</job>
<created>2018-10-15 14:03:02</created>
</message>
</data>
<status>
<code>S0905</code>
<text>Die Benachrichtigung wurde erfolgreich abgerufen.</text>
<type>success</type>
<object>
<type>message</type>
<value>1855680</value>
</object>
</status>
</result>
<stid>20181015-app1-3805</stid>
</response>
PollConfirm - Beispiele für Aufträge und Systemantworten
PollConfirm Request
PollConfirm Response
{
"stid": "20180926-stid",
"status": {
"resultCode": "S0906",
"text": "Die Benachrichtigung wurde erfolgreich bestätigt.",
"type": "SUCCESS"
},
"object": {
"type": "message",
"value": "1819853"
}
}
PollConfirm Request
<request>
<auth>
<user>USER</user>
<context>CONTEXT</context>
<password>PASSWORD</password>
</auth>
<task>
<code>0906</code>
<message>
<id>650664</id>
</message>
</task>
</request>
PollConfirm Response
<response>
<result>
<data>
<summary>0</summary>
<message>
<id>650664</id>
</message>
</data>
<status>
<code>S0906</code>
<text>Die Benachrichtigung wurde erfolgreich bestätigt.</text>
<type>success</type>
<object>
<type>message</type>
<value>650664</value>
</object>
</status>
<stid>20181015-app1-3162</stid>
</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 ist der task sinnvoll
Zur Prozessbeschreibung Domaindaten ermitteln
Auftragstypen, Auftragstypen-Codes und Routen
Auftragstyp | Code | Route |
---|
ContactCreate | 0301 | POST /contact |
DomainCreate | 0101 | POST /domain |
PollInfo | 0905 | GET /poll |
PollConfirm | 0906 | PUT /poll/$id |
DomainInfo | 0105 | GET / domain/$name |
Ablauf-Diagramm