You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 51
Next »
Anleitung zur vollständigen Automatisierung der Registrierung einer Domain, am Beispiel der Domain example.com.
.com ist eine generische Top-Level-Domain, die sich aufgrund fehlender Beschränkungen gut für die erste Implementierung eignet.
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 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": "example.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": "example.com"
}
}
DomainCreate Request
<request>
<auth>
<user>USER</user>
<password>PASSWORD</password>
<context>CONTEXT</context>
</auth>
<task>
<code>0101</code>
<domain>
<name>example.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>example.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 "Poll Message "bezeichnet
Sie müssen die PollMessage mit dem Auftragstyp PollInfo abrufen. Das Abrufen müssen Sie mit dem Auftragstyp PollConfirm 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": "example.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": "example.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>example.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>example.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