API
Erfahre, wie die netcup API funktioniert.
Du findest die technische Dokumentation zur API unter: Technische Dokumentation API
Customer Control Panel API
Die APIs im Customer Control Panel (CCP) erlauben es dir, programmatisch verschiedene Aktionen durchzuführen.
Aktuell zur Verfügung stehende API-Dienste
- DNS API
- Mit der DNS API kannst du Modifikationen an DNS-Zonen von Domains vornehmen, welche über unsere netcup Nameserver angebunden sind, sowie Informationen über die DNS-Zonen und -Records erhalten.
- Domain-Reselling API
- Nur nach Abschluss eines Domain-Reselling-Vertrags mit uns nutzbar.
- Die API erlaubt es dir, Domains zu registrieren und zu transferieren, Kontakt-Handles anzulegen, Domain-Handles zuzuweisen und vieles mehr.
Authentifizierung
Beantragung eines API-Passworts und API-Keys
Für die Nutzung der API-Funktionen benötigst du ein API-Passwort und einen API-Key. Die nötigen Daten kannst du im Customer Control Panel (CCP) unter Stammdaten > API erhalten.
API-Passwort generieren
Klicke auf API-Passwort generieren, um das API-Passwort zu generieren. Das Passwort wird von uns generiert. Es ist nicht möglich, ein eigenes Passwort zu hinterlegen.
Sobald du ein neues Passwort generierst, musst du dieses direkt in deinen Clients anpassen. Das Passwort für die API wird dir einmalig in der Bestätigungsmeldung angezeigt. Solltest du dieses vergessen, musst du ein neues Passwort generieren, denn pro Kundenkonto wird lediglich ein API-Passwort vergeben. Bewahre das Passwort also gut auf.
API-Key erstellen
Um eine Verbindung mit der Schnittstelle herstellen zu können, benötigst du mindestens einen API-Key. Diesen kannst du ebenfalls im CCP unter Stammdaten > API erstellen. Bestätige dazu die Bedingungen für die Nutzung der API mit einem Klick auf die Checkbox. Anschließend kannst du über den Button API-Key erstellen einen Key für die Nutzung der Schnittstelle erstellen lassen.
Der API-Key wird von uns generiert und ist ausreichend lang, um eine hohe Sicherheit zu gewährleisten. Der API-Key wird dir anschließend angezeigt und du kannst diesen in deinen Clients implementieren.
Du kannst mehrere API-Keys erzeugen und unabhängig voneinander auch wieder entfernen.
Authentifizierung an der API
Um die API nutzen zu können, musst du dich authentifizieren. Jeder Job erfordert eine Authentifizierung mit gültiger Session in Form einer Session-ID.
Bei Nutzung der login Methode übermittle an uns
- Deine Kundennummer
- Deinen API-Key
- Dein API-Passwort
Du erhältst von uns dann als Rückgabewert eine generierte Session-ID übermittelt, die du, zusammen mit dem API-Key, zur Nutzung der anderen Methoden benötigst. Durch Nutzung deiner Session-ID bist du gegenüber unserer API authentifiziert.
Die Session läuft nach 15 Minuten Inaktivität automatisch ab. Alternativ kannst du die logout Methode nutzen. Diese führt zu einem direkten Ablauf der Session.
API-Log
Im Customer Control Panel (CCP) kannst du im Bereich Domains > API Log die zuletzt ausgeführten API-Aktionen ansehen. Falls du kein Domain-Reseller bist, erscheint der Button, sobald du mindestens eine API-Aktion ausgeführt hast.
Du findest dort den Zeitpunkt, die Aktion, den Status, eine kurze Rückmeldung, das Handle bzw. die Domain, auf die sich die Handlung bezieht, den verwendeten API-Key sowie den Zeitpunkt, zu dem die Nachricht (mit ackpoll) gelesen wurde.
Wie auf dem Screenshot oben zu erkennen, werden Aktionen, die am selben Tag und in der gleichen Stunde, Minute und Sekunde durchgeführt werden, nicht zwangsläufig in chronologischer Reihenfolge dargestellt.
Über einen Klick auf die Lupe links neben der Aktion erhältst du eine detaillierte Rückmeldung, die sowohl die Request Message als auch die Response Message enthält. Außerdem siehst du auch die Server Request-ID, die Client Request-ID, die Rückmeldungsnummer sowie das verwendete Nachrichtenformat.
Die Rückmeldungsnummern orientieren sich an den üblichen Gruppen der HTTP-Fehlercodes:
- 2*** Erfolgsmeldungen
- 4*** Fehler tendenziell auf Kundenseite
- 5*** Fehler tendenziell auf Serverseite
Geloggt werden folgende Aktionen:
- cancelDomain
- changeOwnerDomain
- createDomain
- createHandle
- deleteHandle
- getAuthcodeDomain
- transferDomain
- updateDnsRecords
- updateDnsZone
- updateDomain
- updateHandle
Technische Informationen
API-Endpoint
Der API-Endpoint befindet sich unter folgender URI:
https://ccp.netcup.net/run/webservice/servers/endpoint.php
Allgemeine Informationen zu API-Requests
- Input und Output erfolgt in UTF-8.
- Domains, die Sonderzeichen wie beispielsweise einen deutschen Umlaut enthalten, müssen vor der Übertragung in Punycode umgewandelt werden. Je nach Registrar kann es trotzdem sein, dass bestimmte Sonderzeichen nicht unterstützt werden. Du erhältst dann eine Fehlermeldung.
- Ändert sich die Rückmeldung seitens der Registry (z. B. bei einem Transfer von der Auftragsannahme “return receipt” zu “transfer successful”, so wird die Message bei einem poll erneut mit der neuen Rückmeldung übermittelt, auch wenn diese zuvor via ackpoll gelesen wurde.
Validierung
- Zur Validierung können die in der WSDL enthaltenen XSDs genutzt werden.
URI für SOAP-Requests
https://ccp.netcup.net/run/webservice/servers/endpoint.php?WSDL
Anmerkungen zu SOAP-Requests
- Gib bei einem SOAP-Aufruf im Client die Parameter wie in der Funktion bzw. der WSDL beschrieben vor.
- Verwende zum Beispiel den von uns generierten SOAP-Client
https://ccp.netcup.net/run/webservice/servers/endpoint.php?PHPSOAPCLIENT
- Wir übernehmen keine Garantie für die Fehlerfreiheit des Clients. Auf dem Markt gibt es eine Vielzahl von kostenlosen Lösungen, die Code aus der WSDL für die von dir bevorzugte Sprache erzeugen.
Anmerkungen zu JSON-Requests
Die Nachricht (payload) an den Server muss per POST erfolgen. Ein Login sieht z. B. wie folgt aus:
{
"action":"login",
"param":{
"apikey":"xxxxxxxxxxxx",
"apipassword":"xxxx",
"customernumber":"123456"
}
}
URI für JSON-Requests (REST)
https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON
Wichtige Anmerkungen zu JSON-Requests
- Nutze die JSON-URI für Requests in REST-Form.
- Die Parameterreihenfolge ist bei JSON-Requests irrelevant, da die Parameter per Key definiert werden.
Technische Clients
Beachte, dass wir für die Funktionsfähigkeit, Stabilität, Zuverlässigkeit und andere Aspekte der folgenden Clients keine Haftung übernehmen. Diese wurden nicht von oder im Auftrag der netcup GmbH entwickelt oder von uns getestet. Wir können dafür keinen Support leisten. Bei Fragen wende dich an den Entwickler des jeweiligen Clients.
Einige unserer Nutzer haben Clients entwickelt, die mit unseren APIs verwendet werden können. Wir freuen uns über das Engagement unserer Nutzer und möchten dir die Projekte hier gerne vorstellen. Hast du auch einen Client für eine unserer APIs entwickelt und dieser fehlt in der folgenden Liste? Schreibe uns gerne eine E-Mail mit einer kurzen Beschreibung deines Projekts und wir nehmen deinen Client auf.
Inhaltsverzeichnis
- 1 Liste der CCP API-Clients
- 1.1 DNS API
- 1.1.1 DNS-Verwaltung
- 1.1.2 Dynamisches DNS
- 1.1.3 Let’s Encrypt Clients
- 1.1.4 Libraries / Schnittstellen
- 1.1 DNS API
Liste der CCP API-Clients
DNS API
DNS-Verwaltung
- ncdapi (inofficial netcup DNS API Client)
- Ein Bash-Client für die netcup DNS API, der das Modifizieren und Anlegen von DNS-Records sowie den Ex- und Import von Zonen erlaubt
- https://github.com/linux-insideDE/ncdapi
Dynamisches DNS
- Dynamic DNS client for netcup DNS API
- Ein PHP DNS API Client für dynamisches DNS (dynamic DNS) mit IPv6-Support
- https://github.com/stecklars/dynamic-dns-netcup-api
- Eigener DynDNS auf Netcup-vServer mit API
- “netcup stellt für Abfragen und Änderungen der DNS-Daten eine API zur Verfügung. Lars-Sören Steck hat auf Github Code veröffentlich, der auf Clients ausgeführt werden kann und mit der API dynamische DNS-Einträge aktualisiert. Ich habe das Repository mit meinem bisherigen Code zu einem DynDNS-Server für netcup verwurstelt.”
- https://www.onderka.com/computer-und-netzwerk/eigener-dyndns-auf-netcup-vserver-mit-api
- Dyndns client for the netcup dns api written in go
- Ein Go DNS API Client für dynamisches DNS (dynamic DNS) mit IPv6-Support
- https://github.com/Hentra/dyndns-netcup-go
- ownDynDNS (Self-hosted dynamic DNS php script for FRITZ!Box and netcup DNS API)
- Ein PHP DNS API Client für dynamisches DNS mit FRITZ!Box-Routern (kann darin direkt eingebunden werden)
- https://github.com/fernwerker/ownDynDNS
- netcup-ddns
- Lua DNS API Client für dynamisches DNS auf Routern mit OpenWRT.
- https://github.com/hazzl/netcup-ddns
- NetCupDynDNS
- C# DNS API Client für dynamisches DNS (dynamic DNS) mit IPv6-Support
- https://github.com/DjNemas/NetCupDynDNS
- netcup-ddns-for-mikrotik
- Dieses Skript dient der Nutzung der netcup API für DynDNS mit Mikrotik-Routern
- https://github.com/toscdesign/netcup-ddns-for-mikrotik
Let's Encrypt Clients
- ACME-DNS-NC
- Ein Helper-Script für verschiedene Let’s Encrypt Clients (z.B. GetSSL und acme.sh), um die dns-01 Challenge zu automatisieren (DNS API)
- https://github.com/froonix/acme-dns-nc
- certbot-dns-netcup
- netcup DNS Authenticator plugin for certbot.
- https://github.com/coldfix/certbot-dns-netcup
Libraries / Schnittstellen
- netcup_dns module
- Add netcup_dns module (Manage DNS records hosted by netcup)
- https://github.com/ansible/ansible/pull/44063
- nc_dnsapi
- A simple API wrapper for the netcup DNS API
- https://pypi.org/project/nc-dnsapi/
- dnssync_nc
- dnssync_nc is a Python package that can interface with the (public, non-reseller) DNS API of the ISP netcup
- https://github.com/johndoe31415/dnssync_nc
- phpnetcuplib
- phpnetcuplib is PHP library that can interface with the public reseller API of the ISP netcup.
- https://github.com/goINPUT-IT-Solutions/phpnetcuplib
- netcup-node
- A node wrapper for the Netcup CCP API.
- https://github.com/proohit/netcup-node
- https://www.npmjs.com/package/netcup-node
DNS API
Die DNS-Funktionalität (DNS API) der CCP API ermöglicht es dir, Modifikationen an DNS-Zonen von Domains vorzunehmen, welche über unsere Nameserver angebunden sind sowie Informationen über die DNS-Zonen und -Records zu erhalten.
Die zur Verfügung stehende Funktionalität orientiert sich dabei unter anderem an den Möglichkeiten, die dir im CCP im Bereich “DNS” zur Verfügung stehen. Dazu findest du bereits umfangreiche Dokumentation in unserem Help Center.
Im Folgenden beschreiben wir die Grundlagen zur Nutzung der DNS API.
Voraussetzungen
Für die Nutzung der DNS API musst du keine besonderen Voraussetzungen erfüllen. Die DNS API kann von jedem Kunden, der Domains bei uns besitzt, genutzt werden. Wichtig ist, dass für die zu bearbeiteten Domains die Nameserver von netcup gesetzt sind. Verwendest du externe Nameserver, können wir für diese keine API bereitstellen. Ferner richtet sich die DNS API an Kunden, die bereits Erfahrung mit der Manipulation und dem Anlegen von DNS-Einträgen gesammelt haben.
Beachte: Ungültige oder falsche DNS-Einträge können die Funktionalität deiner Domain beeinträchtigen.
Funktionen
Mit der DNS-API kannst du aktuell:
- Dich an der API anmelden bzw. abmelden
- Methoden: login bzw. logout
- Informationen über die DNS-Zone einer Domain erhalten
- Methode: infoDnsZone
- Alle DNS-Records einer Zone erhalten
- Methode: infoDnsRecords
- Änderungen an der DNS-Zone einer Domain vornehmen
- Methode: updateDnsZone
- Änderungen an den DNS-Records einer Zone vornehmen
- Methode: updateDnsRecords
Alle Änderungen, die du über die API durchführst, sind auch im CCP ersichtlich, umgekehrt gilt das Gleiche.
Domain-Reselling API
Mit der Domain-Reselling-Funktionalität (Domain-Reselling API) der CCP API kannst du als Domain-Reseller vielfältige Aktionen mit Domains durchführen. So ermöglicht die API, Domains zu registrieren und zu transferieren, Kontakt-Handles anzulegen, Domain-Handles zuzuweisen und vieles mehr.
Die zur Verfügung stehende Funktionalität orientiert sich dabei unter anderem an den Möglichkeiten, die dir das Domain-Reselling im CCP bietet. Dazu sei hier auf unsere entsprechende Dokumentation verwiesen.
Im Folgenden beschreiben wir die Grundlagen zur Nutzung der Domain-Reselling-API.
Voraussetzungen
Um die Domain-Reselling-API nutzen zu können, musst du bestimmte Voraussetzungen erfüllen:
- Du musst Domain-Reseller von netcup sein, um die Domain-Reselling-API nutzen zu können: Bestellung Reseller-Level.
- Die Domain-Reselling-API richtet sich an Kunden, die bereits Erfahrung mit Aktionen, die Domains betreffen, gesammelt haben.
- Bei Verwendung von Funktionen der API, welche die Angabe von Nameservern erfordern, ist es nötig, mindestens zwei eigene Nameserver zu betreiben. In diesem Fall kannst du die von uns bereitgestellten Nameserver nicht nutzen. Möchtest du diese verwenden, so führe nach der Registrierung oder dem Transfer die nötigen Aktionen über dein CCP durch.
- Verwende auf deinem vServer zum Beispiel das vorkonfigurierte PowerDNS Image von netcup, um selbst Nameserver zu installieren.
Funktionen
Mit der Domain-Reselling-API kannst du aktuell:
- Dich an der API anmelden bzw. abmelden
- Methoden: login bzw. logout
- Kontakt-Handles anlegen, bearbeiten und löschen
- Methoden: createHandle, updateHandle und deleteHandle
- Alle angelegten Kontakt-Handles auflisten lassen
- Methode: listallHandle
- Domains registrieren und transferieren
- Methoden: createDomain und transferDomain
- Alle angelegten Domains auflisten lassen
- Methode: listallDomains
- Authcodes für Domains beantragen
- Methode: getAuthcodeDomain
- Domains kündigen
- Methode: cancelDomain
- Inhaberwechsel von Domains durchführen
- Methode: changeOwnerDomain
- Domain-UPDATES durchführen (Handles und Nameserver ändern)
- Methode: updateDomain
- Informationen über eine Domain bzw. ein Kontakt-Handle erhalten
- Methoden: infoDomain bzw. infoHandle
- Den Preis einer bestimmten TLD erhalten
- Methode: priceTopleveldomain
- Rückmeldungen zu durchgeführten Domainaufträgen erhalten und diese als gelesen markieren
- Methoden: poll und ackpoll
Alle Änderungen, die du über die API durchführst, sind auch im CCP ersichtlich, umgekehrt gilt das Gleiche.
Einschränkungen
- Bei dem Ausführen von Domainbestellungen über die API (mittels der Methoden createDomain / transferDomain):
- Es ist nötig, eigene Handles anzugeben. Es ist dabei nicht möglich, unsere Standardhandles zu verwenden.
- Sollten für eine Domain unsere Standardhandles gesetzt sein, ist eine Kündigung und ein Inhaberwechsel der Domain nur über das CCP möglich.
- Domains werden immer als zusätzliche Domains angelegt. Es ist nicht möglich, Inklusiv-Domains über die API zu registrieren.
- Es ist nötig, eigene Handles anzugeben. Es ist dabei nicht möglich, unsere Standardhandles zu verwenden.
- Wie bereits in den Voraussetzungen genannt, musst du bei der Nutzung von Funktionen der API, bei der die Angabe von Nameservern erforderlich ist, eigene Nameserver angeben und somit betreiben. Dabei kannst du auf unseren vServern auch unser PowerDNS-Image nutzen.
Solltest du die obige Funktionalität dennoch nutzen wollen, so kannst du die gewünschten Aktionen über das CCP tätigen.
- Gespeichert werden im Logging ausschließlich folgende Aktionen: cancelDomain, createDomain, changeOwnerDomain, createHandle, deleteHandle, getAuthcodeDomain, transferDomain, updateDnsRecords, updateDnsZone, updateDomain, updateHandle




