Die WEDOS REST API befindet sich noch in Entwicklung. Zugriff und Funktionen können sich ohne vorherige Ankündigung ändern.
Dieser Artikel beschreibt teilweise den WEDOS.protection-Endpoint der WEDOS REST API. WEDOS.protection Services und Members haben eigene Artikel. Für WEDOS API (WAPI) siehe WAPI – WEDOS Protection.
Grundlegende Informationen zur WEDOS REST API finden Sie im WEDOS REST API Handbuch.
In diesem Artikel finden Sie die folgenden Informationen:
- Zugriff auf den DNS-Endpoint
- Details zum DNS-Endpoint:
Zugriff auf den WGP-Endpoint
Die WGP HTTP REST API v2 dient zur Verwaltung von Domains, Services und Einladungen zur Mitverwaltung in WEDOS.protection (WGP).
Basis-URL und Authentifizierung
Die Basis-URL für die WGP-Endpoints lautet: https://api.wedos.com/v2
Die Authentifizierung erfolgt ausschließlich über OAuth2: Senden Sie ein gültiges Access-Token im Request-Header (Authorization: Bearer <TOKEN>) mit dem wgp Scope. Ohne gültiges Token liefert die API den Fehler 2000.
Sie können den Parameter example=1 an jeden Endpoint als GET-Parameter anhängen (?example=1 für Endpoints ohne eigene GET-Parameter, sonst &example=1). Die API liefert dann einen Beispiel-curl-Befehl für diesen Aufruf, ohne dass echte Parameter nötig sind. Auch in diesem Modus ist eine gültige Authentifizierung erforderlich.
Übersicht der Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | /domains/{domain} | Detail einer Domain in WGP |
| GET | /domains/templates | Liste der Vorlagen-Domains für eine bestimmte Service-Variante |
| POST | /domains/create | Neue Domain in WGP einrichten |
| POST | /domains/info | Detail einer oder mehrerer Domains in WGP |
| POST | /domains/{domain}/create/retry | Domain-Einrichtung nach einem Fehler erneut versuchen |
| POST | /domains/{domain}/delete-order | Nicht abgeschlossene Domain-Bestellung löschen |
Antwortformat
Die API-Antwort ist immer ein JSON-Objekt mit den Schlüsseln code (Rückgabecode), msg (Textbeschreibung), request_id (Anfrage-Kennung) und gegebenenfalls data (bei Erfolg zurückgegebene Daten).
Allgemeine Rückgabecodes, die für alle Endpoints gelten (REST-Schicht, unabhängig von der konkreten Operation):
1000– Erfolg (OK)2000– Authentifizierung (OAuth2-Bearer-Token) fehlt oder ist ungültig2004– maximale Anfragegröße überschritten (URL oder Request-Body)4000– unbekannte/nicht unterstützte API-Methode (die aufgerufene Kombination aus HTTP-Methode und Pfad existiert nicht)4001– Eingabevalidierung fehlgeschlagen4005– kein Beispiel für den aktuellen Endpoint im Modusexample=1vorhanden6000– interner Fehler beim Initialisieren des zugrunde liegenden WAPI-Befehls
Darüber hinaus liefert jeder Endpoint eigene fachliche Codes, die für die jeweilige Operation spezifisch sind (entsprechend dem zugrunde liegenden WAPI-Befehl). Diese sind unter Rückgabecodes beim jeweiligen Endpoint aufgeführt.
GET /domains/{domain}
Liefert Informationen zu einer mit WGP verbundenen Domain – eine Kombination aus Daten der externen Verwaltung von WEDOS Global Protection und der internen WEDOS-Datenbank.
Parameter:
domain– erforderlich, Pfad – Domainname
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültiges Parameterformat2202– ungültiges oder nicht unterstütztes Format des Domainnamens2292– die Domain existiert in WGP für dieses Kundenkonto nicht2400– interner Fehler – nicht registrierter Rückgabecode der WGP API (siehe Hinweise)2418– TXT-Eintrag fehlt für eine Domain im StatusPending_TXT.
Antwortdaten:
wgp– Domaindaten aus der externen WGP-Verwaltung (z. B. Domain-Status, Admin-Konto-Flag und mehr; die Elementewedos_client_idundcmswerden aus der Antwort entfernt)service– Domaindaten aus der internen Datenbank:ID,name,num,user_id,lang,currency, Kontaktdaten für Rechnung (cli_*) und Inhaber (own_*),status,expiration
Beispiel:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/domain1.tld'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"wgp": {
"domain": "domain1.tld",
"state": "active",
"user_admin": false
},
"service": {
"ID": 435,
"name": "domain1.tld",
"num": "2026123456",
"user_id": 10234,
"lang": "cs",
"currency": "CZK",
"status": "active",
"expiration": "2027-10-01 00:00:00"
}
}
}
GET /domains/templates
Liefert eine seitenweise Liste der Vorlagen-Domains, die für die angegebene WGP-Service-Variante verfügbar sind. Verwenden Sie sie als Quelle für template_domain_id beim Einrichten einer Domain oder beim Replizieren von Einstellungen.
Parameter:
variant_id– erforderlich, Query – ID der WGP-Service-Variante (siehe Codelistehosting_wedos_protection.variants)per_page– optional, Query – Datensätze pro Seite; Standard 15, der Wert-1liefert alle Datensätzepage– optional, Query – Seitennummer; Standard 1locale– optional, Query – Sprache der Seitennavigation, erlaubte Wertecs,en; Standardensearch– optional, Query – Suchzeichenkette in den Spaltencustom_name,name
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt (variant_id)2400– interner Fehler – nicht registrierter Rückgabecode
Antwortdaten:
data– Array von Vorlagen-Domains; jedes Element enthältid,custom_name,name,urlper_page,total,last_page,from,to– Angaben zur Seitennavigationfirst_page_url,prev_page_url,next_page_url,last_page_url,path– Links auf die einzelnen Seitenlinks– Array von Navigationselementen (url,label,active)
Beispiel:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/templates?variant_id=1'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"data": [
{
"id": 123,
"custom_name": "Sample e-shop",
"name": "template-eshop.wedos.com",
"url": "https://template-eshop.wedos.com"
}
],
"per_page": 15,
"total": 1,
"last_page": 1,
"from": 1,
"to": 1,
"path": "https://api.wedos.com/v2/wgp/domains/templates",
"first_page_url": "https://api.wedos.com/v2/wgp/domains/templates?page=1",
"prev_page_url": null,
"next_page_url": null,
"last_page_url": "https://api.wedos.com/v2/wgp/domains/templates?page=1",
"links": [
{"url": null, "label": "« Previous", "active": false},
{"url": "https://api.wedos.com/v2/wgp/domains/templates?page=1", "label": "1", "active": true},
{"url": null, "label": "Next »", "active": false}
]
}
}
POST /domains/info
Liefert Informationen zu einer oder mehreren Domains in WGP (entspricht GET /domains/{domain}, Sie können jedoch im Request-Body mehrere durch Kommas getrennte Domains angeben).
Parameter:
domain– erforderlich – Domainname oder mehrere durch Kommas getrennte Namen (z. B."domain1.tld,domain2.tld")
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2101– ungültiges Parameterformat2202– ungültiges oder nicht unterstütztes Format des Domainnamens2292– die Domain existiert in WGP für dieses Kundenkonto nicht2400– interner Fehler – nicht registrierter Rückgabecode der WGP API2418– TXT-Eintrag fehlt für eine Domain im StatusPending_TXT.
Antwortdaten: Bei einer Domain dieselbe Struktur wie bei GET /domains/{domain} (Schlüssel wgp und service). Bei mehreren Domains ist die Antwort ein Objekt mit dem Domainnamen als Schlüssel, wobei jedes Element wieder die Struktur wgp und service hat.
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/domains/info' \
--data '{"domain":"domain1.tld,domain2.tld"}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain1.tld": {
"wgp": {"domain": "domain1.tld", "state": "active", "user_admin": false},
"service": {"ID": 435, "name": "domain1.tld", "status": "active", "expiration": "2027-10-01 00:00:00"}
},
"domain2.tld": {
"wgp": {"domain": "domain2.tld", "state": "active", "user_admin": false},
"service": {"ID": 436, "name": "domain1.tld", "status": "active", "expiration": "2027-03-15 00:00:00"}
}
}
}
POST /domains/create
Richtet eine neue Domain in WGP ein. Damit lässt sich auch eine Domain wiederherstellen, die gesperrt wurde (Status disabled), weil ihre Einrichtung nach dem Anlegen nicht rechtzeitig abgeschlossen wurde.
Parameter:
domain– erforderlich – Domainnamevariant_id– erforderlich, Zahl – ID der Service-Variante (siehe Codelistehosting_wedos_protection.variants)period_id– erforderlich, Zahl – ID der Abrechnungsperiodeupstream_ips– optional, Array – Array von IP-Adressen, die nicht auf WGP aufgelöst werdentemplate_domain_id– optional, Zahl – ID der Vorlagen-Domain, nach der die neue Domain konfiguriert wirdmode– optional, String – Domain-Modus, erlaubte Wertensodercname
Rückgabecodes:
1000– OK (Wiederherstellung einer zuvor gesperrten Domain aus dem Statusdisabled)1001– Anfrage angenommen, die Domain-Einrichtung wird verarbeitet2101– ungültiger Parameterwert2202– ungültiges oder nicht unterstütztes Format des Domainnamens2203– ungültiger Wert vonperiod_id2272– ungültiges Format der IP-Adresse (upstream_ips)2273– ungültiger Wert vonvariant_id2276– nicht unterstützte TLD2277– ein expliziteswww.im Domainnamen ist nicht erlaubt2278– für diese Domain existiert bereits ein Service2279– das Guthabenkonto ist gesperrt2281– das Guthabenkonto ist nicht aktiv2282– Zahlung vom Guthabenkonto in der angegebenen Währung nicht möglich2283– unzureichendes Guthaben auf dem Guthabenkonto2284– Fehler in den Kontaktdaten des Guthabenkontos2285– falsche Abrechnungseinstellung mit/ohne MwSt.2291– die Domain existiert in WGP für dieses Kundenkonto bereits2293– Guthabenstand des Guthabenkontos kann nicht ermittelt werden2294– Preis des Service kann nicht ermittelt werden2416– ungültiger Domain-Modus (mode)2417– ungültiges oder nicht unterstütztes Format des Subdomainnamens2422– Kontotyp kann nicht bestimmt werden (Admin/Kunde)2423– interner Fehler beim Aufruf der WGP API- weitere operationsspezifische Fehlercodes (z. B. Validierung der Replikation der Vorlagen-Domain
2401–2405)
Antwortdaten:
WGP_ID– ID der Domain in WGPdomain– Domainnameorder_num– Bestellnummer (sofern die Domain nicht kostenlos oder von einem Admin-Konto eingerichtet wird; auch bei der Wiederherstellung aus dem Statusdisabled)currency,amount– Währung und vom Guthabenkonto abgebuchter Betragacc_amount_before,acc_amount_current– Guthabenstand vor und nach der Zahlungdesc– Beschreibung (nur bei der Wiederherstellung einer Domain aus dem Statusdisabled)
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/domains/create' \
--data '{"domain":"domain1.tld","variant_id":1,"period_id":1,"mode":"ns"}'
{
"code": 1001,
"msg": "Request pending",
"request_id": "a1b2c3d4",
"data": {
"WGP_ID": 98765,
"domain": "domain1.tld",
"order_num": "2026123456",
"currency": "CZK",
"amount": -499,
"acc_amount_before": 1500,
"acc_amount_current": 1001
}
}
POST /domains/{domain}/create/retry
Wiederholt eine mit einem Fehler beendete Domain-Einrichtung (nur für bestimmte Domain-Status verfügbar, z. B. error_crt).
Parameter:
domain– erforderlich, Pfad – Domainname
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2292– die Domain existiert in WGP für dieses Kundenkonto nicht2400– interner Fehler – nicht registrierter Rückgabecode
Antwortdaten:
domain– Domainnamedomain_id– ID der Domain in WGPwedos_client_id– ID des Kunden in WGP
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/domain1.tld/create/retry'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234
}
}
POST /domains/{domain}/delete-order
Löscht eine nicht abgeschlossene Domain-Bestellung – also den Zustand, in dem die Domain in WGP hängen bleibt, die Aktivierung nicht abgeschlossen werden kann und der lokale Service noch nicht existiert.
Parameter:
domain– erforderlich, Pfad – Domainname
Rückgabecodes:
1000– OK2100– erforderlicher Parameter fehlt2292– die Domain wurde in WGP für dieses Kundenkonto nicht gefunden2400– interner Fehler2410– Service nicht gefunden2421– der WGP-Service existiert bereits, die Domain wird nicht entfernt
Antwortdaten:
domain– Domainnamedomain_id– ID der Domain in WGPwedos_client_id– ID des Kunden in WGP
Beispiel:
curl -X POST -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/domain1.tld/delete-order'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234
}
}
