XML-Schnittstelle CANDAN zum Domain-System IP-CONF Version V2.0 01.01.2014 Alle Angaben über die Schnittstelle sind vertraulich zu behandeln. Die Weitergabe an Dritte ist nur zulässig, wie dies für den unmittelbaren Domainverwaltungsbetrieb notwendig ist.
Inhalt Hinweis... 2 Anfragen... 2 Domainliste... 3 Domainabfrage... 4 Domainreg... 6 Domain KK... 9 Domain KK Start... 10 Domain AuthCode Neueintrag... 11 Handle erfassen / ändern... 12 Handle erfassen / ändern Tech-C... 14 Domain Storno... 16 DNS Update, Domain IP-Update... 17 Domain Update... 20 Whois Abfrage... 22 Beispiel für php... 23 XML-Schnittstelle IP-CONF Seite 1 von 23
Hinweis Login Daten zur Schnittstelle Der Login erfolgt immer mit Ihrer Kundennummer und dem Kundenpasswort aus IP-CONF. Die XML-Schnittstelle erreichen Sie unter: https://canhost.de/ipxml/ipconf_xml_server.php Um die XML-Schnittstelle zu nutzen benötigen Sie eine feste IP-Adresse diese tragen Sie in IP-CONF unter Allgemein Systemdaten ändern ein, erst dann können Sie die Schnittstelle nutzen. Anfragen Alle XML-Anfragen haben den grundlegenden Aufbau <task>.</task>. Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja Task Transaktionsnummer 100 Ja XML-Schnittstelle IP-CONF Seite 2 von 23
Domainliste Abfrage der Domainliste Task 910001 <task>910001</task> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 910001 Ja Rückgabe SimpleXMLElement Object ( [task] => 910001 [rcode] => S910001 [rmessage] => Erfolgreich [domlist] =>can22.de;can210.de; Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 910001 rcode Rückgabecode S910001 rmessage Rückgabemeldung Erfolgreich domlist Domainliste Ihredomain;.. mit ; getrennt XML-Schnittstelle IP-CONF Seite 3 von 23
Domainabfrage Abfrage einer einzelnen Domain Task 91002 <task>910002</task> <domain> <name>domainname</name> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 910002 Ja domain / name Name der Domain Domain.de Ja Rückgabe SimpleXMLElement Object ( [task] => 910002 [rcode] => S910002 [rmessage] => Erfolgreich [domain] => 1hoster.de [domstatus] => REG/KK OK [dominfo] => Domain wurde aus IP-CONF V1.0 eingetragen [domainname] => 1hoster.de [domainidn] => none [inhaber] => 25938 [admin] => 25938 [techc] => 26758 [zonec] => 26758 [dns] => ns1.can02.de ns2.can02.de ns3.can02.de [domainip] => 213.203.199.3 [domainmailip] => 213.203.199.3 [regdate] => 18.04.2008 XML-Schnittstelle IP-CONF Seite 4 von 23
[abrechnung] => 18.04.2008 [gekuendigt] => none [domainkuendigungtage] => 20 Rückgabe Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 910001 rcode Rückgabecode S910001 rmessage Rückgabemeldung Erfolgreich domain Domain Ihredomain.xx domstatus Status der Domain REK OK dominfo Info aus IP-CONF domainname Name der Domain Ihredomain.xx domainidn IDN-CODE der Domain Bei Umlautdomains inhaber Handle des Inhabers Nummer $$$$$$$ admin Handel des Admin-C Nummer $$$$$$$ techc Handle des Tech-C Nummer $$$$$$$ zonec Handle des Zone-C Nummer $$$$$$$ dns Namen der DNS Server ns1 ns2 ns3 domainip IP der Domain Ipv4 ipv6 domainmailip E-Mail-IP der Domain Ipv6 ipv6 regdate Tag der Registrierung dd.mm.yyyy abrechnung Tag der Abrechnung dd.mm.yyyy gekuendigt Tag der Kündigung dd.mm.yyyy domainkuendigungtage Kündigungszeitraum XX Tage Hinweise Der Feldwert none (Platzhalter wird dann verwendet wenn keine Inhalte vorhanden sind. XML-Schnittstelle IP-CONF Seite 5 von 23
Domainreg Registrierung einer Domain Task 1000 Um eine Domain per NEUREG zu sichern, müssen Sie wenn Sie eigene DNS nutzen, diese vorher eingetragen, sowie die Handle angelegt, sein, dies vereinfacht die Ausführung eines REG/KK. Beachten Sie auch, dass bei eigenen DNS Server diese in IP-CONF unter Domain / DNS-Server erfasst sind. <task>1000</task> <domain> <name>domainname</name> <inhaber>27039</inhaber> <admin>27038</admin> <tech>27040</tech> <zone>27040</zone> <dnsserver> <provider>1</provider> <ip>127.0.0.1</ip> <emailip>128.0.0.2</emailip> <dnsname>ns1.eigen.de</dnsname> </dnsserver> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 1000 Ja domain / name Name der Domain Domain.de Ja domain / inhaber Handle des Inhabers Nummerisch Ja domain / admin Handle des Admin.C Nummerisch Ja domain / tech Handle des Tech C Nummerisch Ja domain / zone Handle des Zone C Nummerisch Ja XML-Schnittstelle IP-CONF Seite 6 von 23
Parameter Beschreibung Beispiel Erforderlich domain / dnsserver / provider DNS Server 0 = eigener DNS Ja 1 = Provider DNS domain / dnsserver / ip IP-Adresse Ipv4 ipv6 Ja domain / dnsserver / emailip E-Mail-IP Adresse Ipv4 ipv6 Ja Rückgabe SimpleXMLElement Object ( [task] => 1000 [rcode] => S1000 [rmessage] => Domain REG wurde aufgenommen [auftragsnummer] => 107459 [domain] => 4müller.de [domainendung] =>.de [domainidncode] => xn--4mller-4ya.de [domainlaufzeit] => 12 [domaineinrichtung] => 0.000 [domainkosten] => 0.300 [domaininhaber] => 25938 [domainadmin] => 25938 [domainzone] => 26758 [domaintech] => 26758 [domainip] => 127.0.0.1 [domainemailip] => 128.0.0.2 Parameter Beschreibung Beispiel Hinweis task Transaktionsnummer 910001 rcode Rückgabecode S910001 Rmessage Rückgabemeldung Erfolgreich domain Domain Ihredomain.xx domainendung Endung der Domain.de domainindncode IDN-CODE Xn--- Bei Umlautdomains domainlaufzeit $$ Monate 12 domaineinrichtung $$.$$$ Einrichtungskosten domainkosten $$.$$$ Kosten pro Monat domaininhaber Handel des Inhaber Nummer $$$$$$$ XML-Schnittstelle IP-CONF Seite 7 von 23
Parameter Beschreibung Beispiel Hinweis domainadmin Handel des Admin Nummer $$$$$$$ domainzone Handle des Zone-C Nummer $$$$$$$ domaintech Handle des Tech-C Nummer $$$$$$$ domainip Ip der Domain Ipv4 ipv6 domainemailip E-Mail-IP der Domain Ipv4 ipv6 Hinweise Der Feldwert none (Platzhalter wird dann verwendet wenn keine Inhalte vorhanden sind. Bei Fehler erhalten Sie immer SimpleXMLElement Object Rückgabe ( [task] => 1000 [rcode] => E1000 [rmessage] => Fehler: Hinweis [domain] => Domainname Parameter Beschreibung Beispiel Hinweis task Transaktionsnummer 1000 rcode Rückgabecode E1000 rmessage Rückgabemeldung Fehler: XML-Schnittstelle IP-CONF Seite 8 von 23
Domain KK KK einer Domain Task 1001 Beim KK ist das Vorgehend das selbige wie bei REG es wird nur zusätzlich bei einem KK einer.de oder.eu.cnoib sofern benötigt, der AuthCode als Eintrag mit übergeben, dies in der Form. <task>1001</task> <domain> <name>domainname</name> <authcode>authinfocode</authcode> <inhaber>27039</inhaber> <admin>27038</admin> <tech>27040</tech> <zone>27040</zone> <dnsserver> <provider>1</provider> <ip>127.0.0.1</ip> <emailip>128.0.0.2</emailip> <dnsname>ns1.eigen.de</dnsname> </dnsserver> </domain> Hinweis: Der KK wird nicht sofort gestartet, dieser pausiert, Sie können den KK aus IP-CONF starten, oder mit dem Task 2001 den KK per xml-schnittstelle ausführen. Der AuthCode kann jederzeit neu gesetzt werden mit dem Task 2002. XML-Schnittstelle IP-CONF Seite 9 von 23
Domain KK Start KK Start einer Domain ausführen Task 2001 <task>2001</task> <domain> <name>domainname</name> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 2001 Ja domain / name Name der Domain Domain.de Ja Rückgabe SimpleXMLElement Object ( [task] => 2001 [rcode] => S2001 [rmessage] => Domain KK wird gestartet [domain] => Domainname Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 2001 Rcode Rückgabecode S2001 S OK E Fehler rmessage Rückgabemeldung domain Name der Somain XML-Schnittstelle IP-CONF Seite 10 von 23
Domain AuthCode Neueintrag Domain AuthInfoCode neu setzen Task 2002 <task>2002</task> <domain> <name>domainname</name> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 2002 Ja domain / name Name der Domain Domain.de Ja Rückgabe SimpleXMLElement Object ( [task] => 2002 [rcode] => S2002 [rmessage] => Domain AuthCode neu gesetzt [domain] => Domainname Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 2002 Rcode Rückgabecode S2002 S OK E Fehler rmessage Rückgabemeldung domain Name der Somain XML-Schnittstelle IP-CONF Seite 11 von 23
Handle erfassen / ändern Handle Inhaber/Admin erfassen oder ändern Task 3001 <task>3001</task> <handle> <alias>27039</alias> <anrede>herr</anrede> <vorname>peterü</vorname> <nachname>michelß</nachname> <firma>handelshof AG1</firma> <strasse>buchstraße</strasse> <strassenr>2</strassenr> <plz>12313</plz> <ort>buchsdorf</ort> <land>de</land> <telefon>+49 2381 999199919</telefon> <telefax>+49 2381 766666566</telefax> <email>support@egalwer.de</email> <ausweisnummer></ausweisnummer> <steuernummer></steuernummer> <handelsregister></handelsregister> </handle> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 3001 Ja handle / alias Handle welches geändert wird Nummerisch Nein handle / anrede Anrede Herr oder Frau String Ja handle / vorname Vorname String Ja handle / nachname Nachname String Ja handle / firma Firma String Nein XML-Schnittstelle IP-CONF Seite 12 von 23
Parameter Beschreibung Beispiel Erforderlich handle / strasse Strasse String Ja handle / strassenr Hausnummer String Ja handle / plz Postleitzahl String Ja handle / ort Wohnort String Ja handle / land Land Abkürzung ISO String DE Ja handle / telefon Telefonnummer +49 vorwahl nummer Ja handle / telefax Telefaxnummer +49 vorwahl nummer Nein handle / email E-Mail-Adresse String Ja handle / Ausweisnummer Bei einigen TLDs Nein ausweisnummer erforderlich handle / Steuernummer Bei einigen TLDs Nein steuernummer handle / handelsregister Handelsregisternummer erforderlich Bei einigen TLDs erforderlich Nein Rückgabe SimpleXMLElement Object ( [task] => 3001 [rcode] => S3001 [rmessage] => Handle wurde erfasst oder Handle wurde geändert [handle] => Handlenummer Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 3001 Rcode Rückgabecode S3001 S OK E Fehler rmessage Rückgabemeldung handle Handlenummer Bei Fehler wird unter rmessage der Fehler ausgegeben. XML-Schnittstelle IP-CONF Seite 13 von 23
Handle erfassen / ändern Tech-C Handle Tech-C/Zone-C erfassen oder ändern Task 3001 <task>3002</task> <handle> <alias>27039</alias> <anrede>herr</anrede> <vorname>peterü</vorname> <nachname>michelß</nachname> <firma>handelshof AG1</firma> <strasse>buchstraße</strasse> <strassenr>2</strassenr> <plz>12313</plz> <ort>buchsdorf</ort> <land>de</land> <telefon>+49 2381 999199919</telefon> <telefax>+49 2381 766666566</telefax> <email>support@egalwer.de</email> <ausweisnummer></ausweisnummer> <steuernummer></steuernummer> <handelsregister></handelsregister> </handle> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 3001 Ja handle / alias Handle welches geändert wird Nummerisch Nein handle / anrede Anrede Herr oder Frau String Ja handle / vorname Vorname String Ja handle / nachname Nachname String Ja handle / firma Firma String Nein XML-Schnittstelle IP-CONF Seite 14 von 23
Parameter Beschreibung Beispiel Erforderlich handle / strasse Strasse String Ja handle / strassenr Hausnummer String Ja handle / plz Postleitzahl String Ja handle / ort Wohnort String Ja handle / land Land Abkürzung ISO String DE Ja handle / telefon Telefonnummer +49 vorwahl nummer Ja handle / telefax Telefaxnummer +49 vorwahl nummer Nein handle / email E-Mail-Adresse String Ja handle / Ausweisnummer Bei einigen TLDs Nein ausweisnummer erforderlich handle / Steuernummer Bei einigen TLDs Nein steuernummer handle / handelsregister Handelsregisternummer erforderlich Bei einigen TLDs erforderlich Nein Rückgabe SimpleXMLElement Object ( [task] => 3001 [rcode] => S3001 [rmessage] => Handle wurde erfasst oder Handle wurde geändert [handle] => Handlenummer Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 3001 Rcode Rückgabecode S3001 S OK E Fehler rmessage Rückgabemeldung handle Handlenummer Bei Fehler wird unter rmessage der Fehler ausgegeben. XML-Schnittstelle IP-CONF Seite 15 von 23
Domain Storno Storno einer Domain ausführen Task 5001 <task>5001</task> <domain> <name>domainname</name> <art>storno</art> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 2001 Ja domain / name Name der Domain Domain.de Ja domain / art Art = storno storno Ja Rückgabe SimpleXMLElement Object ( [task] => 5001 [rcode] => S5001 [rmessage] => Domain wurde storniert [domain] => Domainname Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 5001 Rcode Rückgabecode S5001 S OK E Fehler rmessage Rückgabemeldung domain Name der Somain XML-Schnittstelle IP-CONF Seite 16 von 23
DNS Update, Domain IP-Update Update DNS-GATE oder IP Task 6000 <task>6000</task> <domain> <name>domainname</name> <ip>ip-adresse</ip> <emailip>ip-adresse</emailip> <mailsrv>name Prio Subdomain</mailsrv> <arecord>sub IPv4</arecord> <a4record>sub IPv6</a4record> <crecord>sub ziel</crecord> <trecord>sub Eintrag</trecord> <service> Service Prio Weigh Port Target</service> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 3001 Ja domain / name Domainmame String Ja domain / ip IP-Adresse Domain String Ja domain / emailip IP-Adresse E-Mail-Server String Ja domain / arecord Arecord String Nein domain / a4record A4record String Nein domain / crecord Crecord String Nein domain / trecord Trecord String Nein domain / service Servcie String Nein Sie können Platzhalter für den Domainnamen #domain# für die Domain-IP #domip# für die E-Mail-IP #mailip# nutzen. Wenn ein Bereich nicht genutzt wird geben Sie den Platzhalter none an. XML-Schnittstelle IP-CONF Seite 17 von 23
Rückgabe SimpleXMLElement Object ( [task] => 6000 [rcode] => S6000 [rmessage] => Update wurde erfasst [domain] => Name der Domain [domainnummer] => Nummer der Domain Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 6000 Rcode Rückgabecode S6000 S OK E Fehler rmessage Rückgabemeldung domain Name der Domain domainnummer Nummer der Domain Bei Fehler wird unter rmessage der Fehler ausgegeben. Beispiel Sie wollen nur die IPs einer Domain anpassen, dann senden Sie dies: <task>6000</task> <domain> <name>domainname</name> <ip>ip-adresse</ip> <emailip>ip-adresse</emailip> </domain> Daher Sie müssen dann die anderen Felder nicht beachten, wenn Sie allerdings ein DNS-GATE-Update ohne Platzhalter wie #domain# #domip# #mailip# ausgeführt haben, dann müssen Sie die IP- Änderungen auch in den arecord usw.. ebenso ausführen. XML-Schnittstelle IP-CONF Seite 18 von 23
Ein Beispiel mit Platzhalter <task>6000</task> <domain> <name>domainname</name> <ip>ip-adresse</ip> <emailip>ip-adresse</emailip> <mailsrv>mail.#domain# 10</mailsrv> <arecord>www #domip# </arecord> <crecord>mail #mailip#</crecord> <trecord>none</trecord> <service> none</service> </domain> Mehrere Einträge werden mit, getrennt eingetragen, ein Beispiel: Sie haben die arecords @ IP www IP * IP dann geben Sie dies wie folgt ein: <arecord>www #domip#,@ #domip#,* #domip#</arecord> Beachten Sie folgendes: Mailserver hat den Eintrag. Mailsrv: MailServer (Leerstelle Priorität (Leerstelle none oder Subdmail auf welche der MailServer eingetragen werden soll. Arecord: Name des Bezeichners (leerstelle IPv4 Adresse (keine Domain A4record: Name des Bezeichners (leerstelle IPv6 Adresse (keine Domain Crecord: Name des Bezeichners (leerstelle Sprungziel ArecordBezeichner oder Zieladresse extern mit einem. am Ende (keine IP-Adresse Trecord: @ (leerstelle Texteintrag Service: Bezeichner (leerstelle Prio (leerstelle Weigh (leerstelle Port (leerstelle Target XML-Schnittstelle IP-CONF Seite 19 von 23
Domain Update Update einer Domain ausführen Task 6001 <task>5001</task> <domain> <name>domainname</name> <inhaber>25955</inhaber> <admin>25955</admin> <tech>26997</tech> <zone>26997</zone> <dnsserver> <provider>0</provider> <ip>127.0.0.1</ip> <emailip>128.0.0.2</emailip> <dnsname>ns1.sedoparking.com</dnsname> </dnsserver> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 2001 Ja domain / name Name der Domain Domain.de Ja domain / inhaber Handle Inhaber Nummerisch Ja domain / admin Handle Admin Nummerisch Ja domain / tech Handle Tech Nummerisch Ja domain / zone Handle Zone Nummerisch Ja domain / dnsserver / provider DNS Server 0 = eigener DNS Ja 1 = Provider DNS domain / dnsserver / ip IP-Adresse Ipv4 ipv6 Ja domain / dnsserver / emailip E-Mail-IP Adresse Ipv4 ipv6 Ja domain / dnsserver / dnsname Name des eigenen DNS Nein XML-Schnittstelle IP-CONF Seite 20 von 23
Rückgabe SimpleXMLElement Object ( [task] => 6001 [rcode] => S6001 [rmessage] => Domain Update wurde aufgenommen [domain] => Domainname [domainnummer] => 23080 [domaininhaber] => 25955 [domainadmin] => 25955 [domainzone] => 26997 [domaintech] => 26997 [domainip] => 127.0.0.1 [domainemailip] => 128.0.0.2 Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 6001 Rcode Rückgabecode S6001 S OK E Fehler rmessage Rückgabemeldung domain Name der Domain domainummer Nummer der Domain domainhaber Handel des Inhaber domainadmin Handel des Admin domainzone Handel des Zone-C domaintech Handel des Tech-C domainip IP der Domain domainemailip IP des E-Mail-Server Sie können über Domainupdate, die Inhaber und Zone Daten updaten, sowie den zuständigen DNS Server auf eigene die in IP-CONF erfasst sind, oder auf den Standard-DNS des Providers. XML-Schnittstelle IP-CONF Seite 21 von 23
Whois Abfrage Whois Abfrage Task 910005 <task>91005</task> <domain> <name>candan.com</name> </domain> Parameter Beschreibung Beispiel Erforderlich ctld Benutzername 100002 Ja ctid Passwort Jdhfhfhghghhg Ja task Transaktionsnummer 910005 Ja domain/name Abzufragende Domain candan.com Ja Rückgabe SimpleXMLElement Object ( [task] => 910005 [rcode] => S910005 [rmessage] => Erfolgreich [domain] => candan.com [domwhois] => SimpleXMLElement Object ( [whoisstatus] => assigned Parameter Beschreibung Beispiel Hinweis Task Transaktionsnummer 910005 rcode Rückgabecode S910005 rmessage Rückgabemeldung Erfolgreich whoisstatus Status der Abfrage assigned Vergeben free Frei whois error Fehler XML-Schnittstelle IP-CONF Seite 22 von 23
Beispiel für php Anbei ein Beispiel für PHP <?php $url = "https://canhost.de/ipxml/ipconf_xml_server.php"; #Domainlist Einzeldomain <ctld>kundenid</ctld> <ctid>kundenpasswort</ctid> <task>910002</task> <domain> <name>domainname</name> </domain> "; $ch = curl_init( $url ; curl_setopt( $ch, CURLOPT_VERBOSE, 0 ; curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 1 ; curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 1; curl_setopt( $ch, CURLOPT_POST, 1 ; curl_setopt( $ch, CURLOPT_HTTPHEADER, array('content-type: text/xml' ; curl_setopt( $ch, CURLOPT_POSTFIELDS, "$xml_datax" ; curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ; $output = curl_exec( $ch ; if( curl_errno($ch { echo curl_error($ch."\n"; } curl_close( $ch ; $RUECK=@simplexml_load_string( $output ; print_r($rueck; #Abfrage einer Variable erfolgt per $VARIABLE = $RUECK->bezeichnung?> Sollte bei Abfrage einer IDN-Domain nichts zurück kommen, oder eine Fehlermeldung, so übertragen Sie die Domain nicht im ISO-MODUS, daher dies wie folgt abfangen: $DOMAIN = mb_convert_encoding("günstiger-internetzugang.de", "UTF-8", "iso-8859-1"; XML-Schnittstelle IP-CONF Seite 23 von 23