Die WEDOS REST API befindet sich noch in der Entwicklung. Zugang und Funktionen können sich ohne vorherige Ankündigung ändern.
Dieser Artikel behandelt teilweise den Domains-Endpoint der WEDOS REST API. Domains und NSSETs haben eigene Artikel. Für die WEDOS API (WAPI) siehe den Artikel WAPI – WEDOS Domain Contacts.
Grundlegende Informationen zur WEDOS REST API finden Sie im Artikel WEDOS REST API Handbuch.
In diesem Artikel finden Sie folgende Informationen:
- Zugang zum DNS-Endpoint
- Details des DNS-Endpoints:
- Hinweise
Contacts Endpoint Access
Diese API umfasst die Verwaltung der Domain-Kontakte unter dem Präfix /v2/contacts der URL. Bei Kontakten müssen Sie immer die TLD angeben, weil sich Format und Validierung der Kontaktdaten je nach der Registry unterscheiden, zu der die TLD gehört.
Basis-URL und Authentifizierung
The base URL for the contacts endpoints is: https://api.wedos.com/v2
Die gesamte Kommunikation läuft über HTTPS, die Authentifizierung erfolgt ausschließlich über OAuth2: Jede Anfrage muss den Header Authorization: Bearer <TOKEN> enthalten. Das Token muss den Scope domains besitzen (ein gemeinsamer Scope für Domains, Kontakte und NSSETs). Ohne gültige Authentifizierung gibt die API einen Fehler zurück.
Datenanfragen (POST/PATCH) werden als JSON gesendet (Content-Type: application/json).
Sie können an jeden Endpoint den Parameter example=1 anhängen (z. B. ?example=1, oder &example=1 , wenn die URL bereits andere Query-Parameter enthält). Statt die Anfrage auszuführen, gibt die API dann einen Beispiel-curl-Befehl für diesen Aufruf zurück. Eine gültige Authentifizierung ist auch in diesem Modus erforderlich.
Übersicht der Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | /contacts/check | Verfügbarkeit/Existenz eines Kontakts prüfen |
| GET | /contacts/{cname} | Informationen zum Kontakt |
| POST | /contacts/create | Neuen Kontakt anlegen |
| POST | /contacts/{cname}/transfer | Kontakt transferieren |
| POST | /contacts/{cname}/auth-info/send | Autorisierungscode des Kontakts senden |
| PATCH | /contacts/{cname} | Kontakt ändern |
Antwortformat
Die API-Antwort ist immer ein JSON-Objekt mit den Schlüsseln code (Rückgabecode), msg (Textbeschreibung), request_id (Kennung der Anfrage) und, sofern zutreffend, data (zurückgegebene Daten bei Erfolg).
Neben den spezifischen (fachlichen) Rückgabecodes, die unten bei jedem Aufruf aufgeführt sind, können alle Endpoints auch diese allgemeinen Codes der REST-Schicht zurückgeben:
1000– die Anfrage wurde erfolgreich ausgeführt2000– Authentifizierung (OAuth2 Bearer Token) fehlt oder ist ungültig2004– maximal zulässige Anfragegröße überschritten (URL oder Anfragekörper)4000– unbekannte/nicht unterstützte API-Methode oder Aktion4001– Validierung der Eingabedaten fehlgeschlagen4005– kein Beispiel für die aktuelle URL-Form im Modusexample=1definiert6000– interner Fehler bei der Initialisierung der Anfrageverarbeitung
GET /contacts/check
Prüft, ob ein Kontakt-Handle frei verwendbar ist und welchen Status es bei der Registry hat.
Parameter:
tld– erforderlich, Query, String – TLD, für die der Kontakt geprüft wirdcname– erforderlich, Query, String – Handle (Kennung) des Kontaktsreg_key– optional, Query, String – Kennung einer konkreten Registry (wenn die TLD mehrere Registries/Modi unterstützt)
Rückgabecodes:
1000– der Kontakt ist frei und verwendbar2201– ungültige TLD2216– ungültiges Format der Kontaktkennung2218– Kontakte werden bei dieser Registry automatisch erzeugt (Sie können das Handle nicht wählen)3228– die Registry unterstützt keine Kontakte3231– der Kontakt existiert bereits3233– der Kontakt kann nicht verwendet werden3234– der Kontakt kann nicht verwendet werden – Quarantäne3235– der Kontakt kann nicht verwendet werden – reserviert3236– der Kontakt kann nicht verwendet werden – gesperrt3237– der Kontakt ist bereits bei uns registriert4211– Prüfung des Kontakts fehlgeschlagen – Verbindungsfehler
Antwortdaten: Keine – das Ergebnis liefert direkt die Antwort in den Feldern code/msg.
Beispiel:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/contacts/check?tld=eu&cname=CONTACT'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3f1"
}
GET /contacts/{cname}
Gibt detaillierte Informationen zu einem Kontakt zurück.
Parameter:
cname– erforderlich, Pfad – Handle des Kontaktstld– erforderlich, Query, String – TLD, unter der der Kontakt gesucht wirdauth_info– optional, Query, String – Autorisierungscode des Kontakts (wird er angegeben, muss er mit dem am Objekt gesetzten Code übereinstimmen, sonst wird ein Fehler zurückgegeben)reg_key– optional, Query, String – Kennung einer konkreten Registry
Rückgabecodes:
1000– OK2201– falsch angegebene TLD2216– Syntaxfehler der Kontaktkennung3215– ungültiger Autorisierungscode (angegeben und stimmt nicht überein)3228– die Registry unterstützt keine Kontakte3229– Fehler beim Laden des Kontakts3236– der Kontakt ist gesperrt4212– Verbindungsfehler5001– es ist niemand angemeldet
Antwortdaten:
contact– Objekt mit den Kontaktdaten:contact_id,roid,status– Kennung, ROID und Status des Kontakts bei der Registryname,fname,lname,company– Name/Vorname/Nachname bzw. Firmennameaddr_street,addr_city,addr_zip,addr_state,addr_country– Adressephone,fax,email,email2– Kontaktangabenic,dic,taxpayer– Firmenidentifikationsnummer (IČ), Steuernummer (DIČ), Status als Umsatzsteuerzahlerreg_owner,reg_creator,reg_update– Kennungen des Registrarscreated_date,updated_date,transfer_date– Datum der Erstellung/Aktualisierung/des Transfersdisclose– Einstellung der Veröffentlichung von Daten (je Registry)other– weitere registryspezifische Daten
Beispiel:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/contacts/CONTACT?tld=eu'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3f2",
"data": {
"contact": {
"contact_id": "CONTACT",
"status": "ok",
"fname": "Esmeralda",
"lname": "Excavadora",
"company": null,
"addr_street": "Street 123",
"addr_city": "City",
"addr_zip": "11000",
"addr_country": "CZ",
"phone": "+420.777123456",
"email": "esmeralda@wedos.com",
"created_date": "2024-01-10",
"updated_date": null
}
}
}
POST /contacts/create
Legt einen neuen Domain-Kontakt für die angegebene TLD an.
Parameter:
tld– erforderlich, String – TLD, für die der Kontakt angelegt wirdreg_key– optional, String – Kennung einer konkreten Registrycontact– erforderlich, Objekt – Kontaktdaten; die verfügbaren Felder unterscheiden sich je nach Registry, typischerweise:cname(optional) – gewünschtes Handle des Kontakts; lassen Sie es bei Registries weg, die Handles automatisch erzeugenfname,lname– Vor- und Nachname (bei einer natürlichen Person)company– Firmenname (bei einer juristischen Person)addr_street,addr_city,addr_zip,addr_state,addr_country– Adressephone,fax,email,email2– Kontaktangabenic,dic,taxpayer– Firmenidentifikationsnummer (IČ), Steuernummer (DIČ), Status als Umsatzsteuerzahler- weitere Elemente je nach konkreter Registry
Rückgabecodes:
1000– Kontakt angelegt2100– erforderlicher Parameter fehlt2101– ungültige Eingabeparameter2201– ungültige TLD2216– ungültiger Name des Kontakts2218– Kontaktnamen werden bei dieser Registry automatisch erzeugt (Sie können keinen eigenen angeben)2219–2242– einzelne Elemente des Kontakts fehlen oder haben ein ungültiges Format (Firma, Vorname, Nachname, E-Mail, Telefon, Fax, Firmenidentifikationsnummer, Steuernummer, Adresse, Region, weitere Daten)3228– die Registry unterstützt keine Kontakte3230– Anlegen des Kontakts fehlgeschlagen3231– der Name des Kontakts wird bereits verwendet3233– der Kontakt kann nicht verwendet werden3234– der Kontakt kann nicht verwendet werden – Quarantäne3236– der Kontakt kann nicht verwendet werden – gesperrt3237– der Kontakt ist bereits bei uns registriert4211– Prüfung fehlgeschlagen – Kommunikationsfehler4213– Anlegen des Kontakts fehlgeschlagen – Kommunikationsfehler
Antwortdaten:
cname– Handle des angelegten Kontakts
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/contacts/create' \
--data '{
"tld": "eu",
"contact": {
"fname": "Esmeralda",
"lname": "Excavadora",
"addr_street": "Street 123",
"addr_city": "City",
"addr_zip": "11000",
"addr_country": "CZ",
"email": "esmeralda@wedos.com",
"phone": "+420.777123456"
}
}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3f3",
"data": {
"cname": "CONTACT"
}
}
POST /contacts/{cname}/transfer
Transferiert einen Kontakt von einem anderen Registrar zu uns (nur bei Registries, die den Transfer von Kontakten unterstützen, z. B. CZ.NIC).
Parameter:
cname– erforderlich, Pfad – Handle des Kontaktstld– erforderlich, String – TLDauth_info– erforderlich, String – Autorisierungscode des Kontaktsreg_key– optional, String – Kennung einer konkreten Registry
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültige Eingabeparameter2201– ungültige TLD2215– Parameterauth_infofehlt2216– ungültige Kennung des Kontakts2244– diese Domain/Registry unterstützt den Transfer von Kontakten nicht3229– der Kontakt ist nicht verfügbar3237– der Kontakt ist bereits bei uns registriert3240– Autorisierungsfehler3241– Transfer fehlgeschlagen4216– Transfer fehlgeschlagen – Verbindungsfehler
Antwortdaten: Keine – das Ergebnis liefert direkt die Antwort in den Feldern code/msg.
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/contacts/CONTACT/transfer' \
--data '{"tld": "cz", "auth_info": "AUTHCODE123"}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3f4"
}
POST /contacts/{cname}/auth-info/send
Sendet den Autorisierungscode des Kontakts an dessen Kontakt-E-Mail-Adresse.
Parameter:
cname– erforderlich, Pfad – Handle des Kontaktstld– erforderlich, String – TLDreg_key– optional, String – Kennung einer konkreten Registry
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültige Eingabeparameter2201– ungültige TLD2216– ungültiger Name des Kontakts2243– das Senden des Autorisierungscodes ist für diesen Kontakt nicht erlaubt3213– der Kontakt ist nicht verfügbar3215– das Senden des Codes ist fehlgeschlagen3228– die Registry unterstützt keine Kontakte4217– Senden fehlgeschlagen – Kommunikationsfehler5001– Authentifizierungsfehler
Antwortdaten: Keine – das Ergebnis liefert direkt die Antwort in den Feldern code/msg.
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/contacts/CONTACT/auth-info/send' \
--data '{"tld": "eu"}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3f5"
}
PATCH /contacts/{cname}
Ändert die Daten eines bestehenden Kontakts. Kann bei Registries, bei denen Kontakte nicht bearbeitbar sind (z. B. Ascio), nicht verwendet werden.
Parameter:
cname– erforderlich, Pfad – Handle des Kontaktstld– erforderlich, String – TLDauth_info– optional, String – Autorisierungscode des Kontaktscontact– erforderlich, Objekt – zu ändernde Kontaktdaten (dieselben Felder wie bei POST /contacts/create; geändert werden nur die angegebenen Felder)reg_key– optional, String – Kennung einer konkreten Registry
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültige Eingabeparameter2201– ungültige TLD2207– Syntaxfehler2216– ungültiger Name des Kontakts2219–2241– einzelne geänderte Elemente fehlen oder haben ein ungültiges Format (gleicher Umfang wie beim Anlegen eines Kontakts)3211– der Kontakt konnte nicht geladen werden3238– Autorisierungsfehler3239– Änderung fehlgeschlagen4202– Kontakt nicht verfügbar – Verbindungsfehler4215– Ausführung fehlgeschlagen – Verbindungsfehler
Antwortdaten: Keine – das Ergebnis liefert direkt die Antwort in den Feldern code/msg.
Beispiel:
curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/contacts/CONTACT' \
--data '{"tld": "eu", "contact": {"email": "esmeralda-new@wedos.com"}}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3f6"
}
Hinweise
- Die Endpoints unter
/v2/domains,/v2/contactsund/v2/nssetswerden von einer gemeinsamen Serverklasse verarbeitet und teilen sich alle einen OAuth2-Scope,domains. Aus Sicht des Clients sind es drei logisch getrennte, aber administrativ vereinheitlichte APIs. - Bei Kontakten ist der Parameter
tldimmer erforderlich, weil dasselbe Handle (cname) theoretisch bei mehreren Registries existieren kann und sich Validierung/Format der Daten je nach TLD/Registry unterscheiden.
