You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 57
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.
Ablauf-Diagramm
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.
Ablauf
DomainCreate-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. Die Anzahl der benötigten Nameserver ist abhängig von der TLD.
Domain Create - Beispiel
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"
}
]
}
{
"stid": "20180926-stid",
"status": {
"resultCode": "N0101",
"text": "Die Domainregistrierung wurde erfolgreich gestartet.",
"type": "NOTIFY"
},
"object": {
"type": "domain",
"value": "example.com"
}
}
<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>
<?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
{
"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"
}
}
}
]
}
<request>
<auth>
<user>USER</user>
<context>CONTEXT</context>
<password>PASSWORD</password>
</auth>
<task>
<code>0905</code>
</task>
</request>
<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
{
"stid": "20180926-stid",
"status": {
"resultCode": "S0906",
"text": "Die Benachrichtigung wurde erfolgreich bestätigt.",
"type": "SUCCESS"
},
"object": {
"type": "message",
"value": "1819853"
}
}
<request>
<auth>
<user>USER</user>
<context>CONTEXT</context>
<password>PASSWORD</password>
</auth>
<task>
<code>0906</code>
<message>
<id>650664</id>
</message>
</task>
</request>
<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 |