Skip to main content

Schnittstellen für Mittwald-Kunden

Download OpenAPI specification:Download

Für die öffentliche API, alle Bestandteile und diese Dokumentation bieten wir keinen Support. Wir behalten uns vor, Änderungen jederzeit und ohne Ankündigung oder Dokumentation durchzuführen.

Authentifizierung

Mit Nutzername & Passwort

Zur Authentifizierung wird ein zuvor ausgestelltes API-Token benötigt. Bei Requests kann dieses Token innerhalb eines Authorization-Headers übergeben werden:

GET /v1/customers/123456 HTTP/1.1
Host: api.mittwald.de
Authorization: Bearer {TOKEN-HIER-EINFÜGEN}

Alternativ dazu kann das Token auch in Form des Query-Parameters access_token übergeben werden:

GET /v1/customers/123456?access_token={TOKEN-HIER-EINFÜGEN} HTTP/1.1
Host: api.mittwald.de

Um ein Token zu beziehen, kann der /authenticate-Endpunkt genutzt werden. Hier erfolgt eine Authentifzierung über die Zugangsdaten des Mittwald-Kundencenters.

POST /v1/authenticate HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json
Accept: application/jwt

{
    "username": "r1234",
    "password": "{PASSWORT-HIER-EINFÜGEN}"
}

Rückgabewert dieses Aufrufs ist ein API-Token. Dieses hat eine begrenzte Gültigkeitsdauer.

Wichtig: Client-Applikationen sollten das API-Token für seine Gültigkeitsdauer cachen, und erst anschließend ein neues Token über die API anfordern.

Mit Access-Token

Für Anwendungen, die dauerhaft Zugriff auf die Mittwald-API benötigen, wird nicht empfohlen, Nutzername und Passwort dauerhaft in der jeweiligen Anwendung zu speichern. Stattdessen empfehlen wir den Einsatz eines Access Tokens, welches nach einem (initialen) Login mit Nutzername und Passwort erstellt und im Anschluss anstelle dessen genutzt werden kann.

Hierzu wird zunächst ein reguläres API-Token benötigt, das per Nutzername und Passwort bezogen werden kann. Weder Nutzername+Passwort noch das damit bezogene API-Token müssen dauerhaft gespeichert werden. Sie dienen lediglich dazu, ein Access Token zu erstellen, welches im Anschluss dauerhaft in der Applikation gespeichert werden kann:

POST /v1/authentication/tokens HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json

{
  "description": "Meine Anwendung"
}

In der Antwort auf obige Anfrage ist das eigentliche Access Token und dessen ID enthalten (mit Beispiel-Daten):

HTTP/1.1 201 Created
Content-Type: application/json

{
  "uuid": "2a91ce52-2058-404b-9959-ac7d2fbbbfbc",
  "token": "MW_aEQyz5j9YmTaamTq2N9X3d2sBDACLUoz",
  "crdate": "2021-08-23T14:06:17.580Z",
  "description": "Meine Anwendung"
}

uuid und token dieser Antwort können bei nachfolgenden Authentifzierungs-Vorgängen als Nutzername und Passwort genutzt werden.

Rate Limiting

Zur Sicherstellung der Systemstabilität sind einige API-Endpunkte in der Anzahl der durchführbaren Anfragen beschränkt. Die Limitierung bezieht sich dabei stets auf ein Zeitfenster von 15 Minuten.

Bei auf diese Weise zugriffsbeschränkten API-Endpunkten enthalten die HTTP-Antworten stets einen X-RateLimit-Header, welcher die maximale Anzahl der ausführbaren Anfragen enthält. Außerdem enthält jede Antwort einen X-RateLimit-Remaining-Header, welcher die aktuell noch verfügbaren Anfragen enthält:

HTTP/1.1 200 OK
Content-Type: application/json;charset=utf8
Content-Length: 1234
X-RateLimit: 1000
X-RateLimit-Remaining: 712

Caching

Einige Anfragen an die API können zwecks besserer Performance aus einem serverseitigen Cache beantwortet werden. Wurde eine Anfrage aus dem Cache beantwortet, enthält die Antwort einen X-Cache: HIT-Header.

Der Cache einer Ressource wird dann geleert, wenn ein POST-, PUT- oder DELETE-Request an dieselbe URI gesendet wird, oder bei einem GET-Request ein Cache-Control: no-cache-Header gesendet wird.

Authentifizierung

Rate Limiting

Caching

Für die öffentliche API, alle Bestandteile und diese Dokumentation bieten wir keinen Support. Wir behalten uns vor, Änderungen jederzeit und ohne Ankündigung oder Dokumentation durchzuführen.

Authentifizierung

Mit Nutzername & Passwort

Zur Authentifizierung wird ein zuvor ausgestelltes API-Token benötigt. Bei Requests kann dieses Token innerhalb eines Authorization-Headers übergeben werden:

GET /v1/customers/123456 HTTP/1.1
Host: api.mittwald.de
Authorization: Bearer {TOKEN-HIER-EINFÜGEN}

Alternativ dazu kann das Token auch in Form des Query-Parameters access_token übergeben werden:

GET /v1/customers/123456?access_token={TOKEN-HIER-EINFÜGEN} HTTP/1.1
Host: api.mittwald.de

Um ein Token zu beziehen, kann der /authenticate-Endpunkt genutzt werden. Hier erfolgt eine Authentifzierung über die Zugangsdaten des Mittwald-Kundencenters.

POST /v1/authenticate HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json
Accept: application/jwt

{
    "username": "r1234",
    "password": "{PASSWORT-HIER-EINFÜGEN}"
}

Rückgabewert dieses Aufrufs ist ein API-Token. Dieses hat eine begrenzte Gültigkeitsdauer.

Wichtig: Client-Applikationen sollten das API-Token für seine Gültigkeitsdauer cachen, und erst anschließend ein neues Token über die API anfordern.

Mit Access-Token

Für Anwendungen, die dauerhaft Zugriff auf die Mittwald-API benötigen, wird nicht empfohlen, Nutzername und Passwort dauerhaft in der jeweiligen Anwendung zu speichern. Stattdessen empfehlen wir den Einsatz eines Access Tokens, welches nach einem (initialen) Login mit Nutzername und Passwort erstellt und im Anschluss anstelle dessen genutzt werden kann.

Hierzu wird zunächst ein reguläres API-Token benötigt, das per Nutzername und Passwort bezogen werden kann. Weder Nutzername+Passwort noch das damit bezogene API-Token müssen dauerhaft gespeichert werden. Sie dienen lediglich dazu, ein Access Token zu erstellen, welches im Anschluss dauerhaft in der Applikation gespeichert werden kann:

POST /v1/authentication/tokens HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json

{
  "description": "Meine Anwendung"
}

In der Antwort auf obige Anfrage ist das eigentliche Access Token und dessen ID enthalten (mit Beispiel-Daten):

HTTP/1.1 201 Created
Content-Type: application/json

{
  "uuid": "2a91ce52-2058-404b-9959-ac7d2fbbbfbc",
  "token": "MW_aEQyz5j9YmTaamTq2N9X3d2sBDACLUoz",
  "crdate": "2021-08-23T14:06:17.580Z",
  "description": "Meine Anwendung"
}

uuid und token dieser Antwort können bei nachfolgenden Authentifzierungs-Vorgängen als Nutzername und Passwort genutzt werden.

Rate Limiting

Zur Sicherstellung der Systemstabilität sind einige API-Endpunkte in der Anzahl der durchführbaren Anfragen beschränkt. Die Limitierung bezieht sich dabei stets auf ein Zeitfenster von 15 Minuten.

Bei auf diese Weise zugriffsbeschränkten API-Endpunkten enthalten die HTTP-Antworten stets einen X-RateLimit-Header, welcher die maximale Anzahl der ausführbaren Anfragen enthält. Außerdem enthält jede Antwort einen X-RateLimit-Remaining-Header, welcher die aktuell noch verfügbaren Anfragen enthält:

HTTP/1.1 200 OK
Content-Type: application/json;charset=utf8
Content-Length: 1234
X-RateLimit: 1000
X-RateLimit-Remaining: 712

Caching

Einige Anfragen an die API können zwecks besserer Performance aus einem serverseitigen Cache beantwortet werden. Wurde eine Anfrage aus dem Cache beantwortet, enthält die Antwort einen X-Cache: HIT-Header.

Der Cache einer Ressource wird dann geleert, wenn ein POST-, PUT- oder DELETE-Request an dieselbe URI gesendet wird, oder bei einem GET-Request ein Cache-Control: no-cache-Header gesendet wird.

Authentifizierung

Authentifizierung

Anforderung eines neuen API-Tokens

Diese Operation erlaubt die Ausstellung eines neuen API-Tokens. Für die Ausstellung des Tokens müssen die Zugangsdaten des Mittwald-Kundencenters im Body des Requests übermittelt werden.

Request Body schema: application/json

Die Zugangsdaten, mit denen die Authentifizierung erfolgen soll.

username
required
string

Der Kundencenter-Benutzername

password
required
string

Das Password

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "expires": "string"
}

Auslesen von erstellten Application-Tokens

Diese Operation liefert alle bisher erstellten Application-Tokens aus.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Hinterlegen von neuen Application-Tokens

Diese Operation ermöglicht es neue Application-Tokens zu hinterlegen.

Request Body schema: application/json

Das Token sowie eine optionale Beschreibung

description
required
string

Responses

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "crdate": "2019-08-24T14:15:22Z",
  • "token": "pa$$word",
  • "description": "string"
}

Löschen von Application-Tokens

Diese Operation ermöglicht es Application-Tokens zu löschen.

path Parameters
uuid
required
string

Die UUID des Tokens

Responses

Accounts

Webhosting-Accounts

Account auslesen

Diese Operation liest genaue Daten eines einzelnen Accounts aus

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "customerNumber": 0,
  • "name": "string",
  • "activateShell": true,
  • "description": "string",
  • "disabled": true,
  • "ipAddresses": [
    ],
  • "status": "creating"
}

Softwareinstallationen auslesen

Diese Operation liest alle Softwareinstallationen eines einzelnen Accounts aus

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

query Parameters
installPath
string

Filtert Software-Installationen nach Installationspfad (z.B. &installPath=%2Fhtml%2Ftypo3)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Accounts eines Kunden

Diese Ressource enthält eine Sammlung aller Accounts eines Kunden.

path Parameters
customerNumber
required
integer

Kundennummer

query Parameters
advised
boolean
Default: false

Dieser Parameter steuert, ob auch Accounts zurückgeliefert werden sollen, für die eine Verwaltungsfreigabe besteht, aber nicht zur Kundennummer {customerNumber} gehören.'

owned
boolean
Default: true

Dieser Parameter steuert, ob Accounts zurückgeliefert werden sollen, die direkt der Kundennummer {customerNumber} gehören. Dieser Parameter hat standardmäßig den Wert true; über den Wert false können in Kombination mit dem Parameter advised ausschließlich Accounts abgefragt werden, für die eine Verwaltungsfreigabe besteht.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getAccountVisitorStatistics

Liefert Statistiken zu Besucherzahlen eines Projekts

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "last_information_at": 0,
  • "limit": {
    },
  • "name": "string",
  • "skip_information": true,
  • "throttling": {
    },
  • "grace_period": null,
  • "visitor_information": {
    }
}

getAccountStatistics

Liefert Statistiken zur Speicherplatzauslastung eines Projekts

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "meta": {
    }
}

Reseller

Reseller-Tarife

Reseller auslesen

Diese Operation liest genaue Daten eines einzelnen Resellers aus

path Parameters
resellerIdentifier
required
string

Name oder ID eines Resellers

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "name": "string",
  • "customerNumber": 0
}

Database

Datenbanken

Datenbanktypen

Datenbanktypen auslesen

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Domains

Domaindaten

Domains eines Accounts auslesen

Diese Operation liest die Domains eines einzelnen Accounts aus

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

query Parameters
limit
integer
Default: 20

Anzahl der zurückzuliefernden Domains.

offset
integer
Default: 0

Offset für die Limitierung der Suchergebnisse

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Domain registrieren/Transfer einleiten

Diese Operation kann genutzt werden, um für den gegebenen Account eine neue Domain zu registrieren oder einen Virtual Host Eintrag zu erstellen. Falls die Domain bereits vergeben ist, müssen ein Auth-Code und unter Umständen ein Authentifizierungsverfahren mitangegeben werden, um einen Domain-Transfer einzuleiten.

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Request Body schema: application/json

Daten für eine Domain-Registrierung

object (Handles)
sld
required
string
tld
required
string
object (DomainNameTransfer)
external
boolean

Gesetzt, wenn es sich um einen Virtual Host Eintrag handeln soll

target
string

Bei Virtual Host Einträgen kann direkt das Zielverzeichnis mit angegeben werden

Responses

Request samples

Content type
application/json
{
  • "handles": {
    },
  • "sld": "string",
  • "tld": "string",
  • "domainNameTransfer": {
    },
  • "external": true,
  • "target": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Domain Proxies eines Accounts

Zeige alle aktiven Domain Proxies eines Accounts an

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Domain löschen/kündigen

Löscht bzw. kündigt eine bestehende Domain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Auth-Code einer Domain auslesen

Liefert den Auth-Code einer Domain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Response samples

Content type
application/json
{
  • "auth-code": "string"
}

Subdomains eines Accounts auslesen

Liefert alle verfügbaren Subdomains eines Accounts

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Subdomain erstellen

Erstellt eine neue Subdomain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Request Body schema: application/json

Daten der neuen Subdomain

Array
name
required
string
target
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Subdomain löschen

Löscht eine bestehende Subdomain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Domainverfügbarkeit prüfen

Prüft ob eine Domain verfügbar ist

path Parameters
domainIdentifier
required
string

Domain

Responses

Toplevel-Domains auslesen

Liefert alle möglichen Topleveldomains aus

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Toplevel-Domain auslesen

Liefert eine Topleveldomain aus

path Parameters
topLevelDomainIdentifier
required
string

Topleveldomain

query Parameters
fields
string

Auszuliefernde Felder, als kommaseparierte Liste.

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "name": "string",
  • "description": "string",
  • "articleNumber": 0,
  • "price": "string",
  • "agencyPrice": "string",
  • "setupFee": "string",
  • "isAllowedAsInclusiveDomain": true
}

Mailadressen

Mailadressen

Mailadressen eines Accounts auslesen

Diese Operation liest die Mailadressen eines einzelnen Accounts aus

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

query Parameters
limit
integer
Default: 20

Anzahl der zurückzuliefernden Domains.

offset
integer
Default: 0

Offset für die Limitierung der Suchergebnisse

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Software

Softwaremanager

Unterstützte Software auslesen

Liest die mögliche Software für eine Neu-Bestellung aus

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Softwareinstallationen auslesen

Diese Operation liest alle Softwareinstallationen eines einzelnen Accounts aus

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

query Parameters
installPath
string

Filtert Software-Installationen nach Installationspfad (z.B. &installPath=%2Fhtml%2Ftypo3)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Details einer Softwareinstallation auslesen

Diese Operation liest Details zu einer ganz bestimmten Softwareinstallation aus

path Parameters
installationIdentifier
required
string

ID einer Software-Installation

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "software": {
    },
  • "version": {
    },
  • "installPath": "string",
  • "frontendUrl": "string",
  • "backendUrl": "string",
  • "documentRoot": "string",
  • "status": "creating",
  • "database": {
    }
}

Extensions einer Softwareinstallation auslesen

Diese Operation liest Extensions aus, die in einer bestimmten Softwareinstallation installiert sind.

Hinweis: Diese Daten werden in der Regel einmal täglich aktualisiert.

path Parameters
installationIdentifier
required
string

ID einer Software-Installation

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Kunden

Kunden- und Vertragsdaten

Details zu dem aktuellem Kunden

Liefert Details zum aktuellen Kunden.

Responses

Response samples

Content type
application/json
{
  • "customerNumber": 0,
  • "prospect": true
}

Kundendetails auslesen

Diese Ressource enthält Detailinformationen zu einem bestimmten Kunden.

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "customerNumber": 0,
  • "prospect": true
}

Vertragspartner auslesen

Diese Operation liefert Details zum Vertragspartner eines Kunden zurück

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Vertragspartner ändern

Über diese Operation können die Vertragspartnerdaten eines Kunden geändert werden

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json

Die zu ändernden Vertragspartnerdaten

firstName
string non-empty
lastName
string non-empty
title
string non-empty
salutation
string
Enum: "Herr" "Frau" "Mr." "Ms."
street
string non-empty
houseNumber
string non-empty
string or integer non-empty
city
string non-empty
company
string
emailAddress
string <email>
phone
string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$
country
string = 2 characters
vat
string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "Herr",
  • "street": "string",
  • "houseNumber": "string",
  • "zip": "string",
  • "city": "string",
  • "company": "string",
  • "emailAddress": "user@example.com",
  • "phone": "string",
  • "country": "st",
  • "vat": "string"
}

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Ansprechpartner auslesen

Diese Operation liefert Details zum Ansprechpartner eines Kunden zurück. Der Ansprechpartner kann identisch mit dem Vertragspartner sein; in diesem Fall wird die Anfrage mit einem 303-Statuscode beantwortet, und der Location-Header enthält die URL des Vertragspartners, der in diesem Fall als Ansprechpartner gilt.

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Ansprechpartner ändern

Über diese Operation lassen sich die Daten des Ansprechpartners eines Kunden ändern. Dabei kann der Ansprechpartner über den Request-Body-Parameter "identicalToDefaultAddress" ebenfalls identisch zum Vertragspartner gesetzt werden.

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json

Die zu ändernden Ansprechpartnerdaten

identicalToDefaultAddress
boolean

Wahr, wenn der Ansprechpartner identisch zum Vertragspartner gesetzt ist

firstName
string non-empty
lastName
string non-empty
title
string non-empty
salutation
string
Enum: "Herr" "Frau" "Mr." "Ms."
street
string non-empty
houseNumber
string non-empty
string or integer non-empty
city
string non-empty
company
string
emailAddress
string <email>
phone
string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$
country
string = 2 characters
vat
string

Responses

Request samples

Content type
application/json
{
  • "identicalToDefaultAddress": true,
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "Herr",
  • "street": "string",
  • "houseNumber": "string",
  • "zip": "string",
  • "city": "string",
  • "company": "string",
  • "emailAddress": "user@example.com",
  • "phone": "string",
  • "country": "st",
  • "vat": "string"
}

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Zahlungseinstellungen auslesen

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "billingType": "SEPA",
  • "accountHolder": "string",
  • "iban": "string",
  • "bic": "string"
}

Zahlungseinstellungen ändern

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json

Neue Zahlungseinstellungen

One of
billingType
required
string
Value: "INVOICE"

Responses

Request samples

Content type
application/json
{
  • "billingType": "SEPA",
  • "accountHolder": "string",
  • "iban": "string",
  • "bic": "string"
}

Response samples

Content type
application/json
{
  • "billingType": "SEPA",
  • "accountHolder": "string",
  • "iban": "string",
  • "bic": "string"
}

Rechungsempfänger auslesen

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Rechnungsempfänger ändern

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json

Neuer Rechnungsempfänger

firstName
required
string

Vorname

lastName
required
string

Nachname

title
string

(Akademischer) grad

salutation
required
string

Grußformel, z.B. Herr oder Frau

company
string

Firmenname, oder null

required
object (CustomerAddress)
required
object (CustomerContactData)

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Rechnungsempfänger eines Kunden zurücksetzen

Diese Operation setzt den Rechnungsempfänger eines Kunden auf den Vertragspartner zurück

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Rechungseinstellungen auslesen

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "vatID": "string",
  • "postalInvoices": true
}

Rechnungseinstellungen ändern

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json

Neue Zahlungseinstellungen

vatID
string
postalInvoices
required
boolean

Responses

Request samples

Content type
application/json
{
  • "vatID": "string",
  • "postalInvoices": true
}

Response samples

Content type
application/json
{
  • "vatID": "string",
  • "postalInvoices": true
}

Rechnungen eines Kunden

Diese Ressource enthält eine Sammlung aller Rechnungen eines Kunden

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Accounts eines Kunden

Diese Ressource enthält eine Sammlung aller Accounts eines Kunden.

path Parameters
customerNumber
required
integer

Kundennummer

query Parameters
advised
boolean
Default: false

Dieser Parameter steuert, ob auch Accounts zurückgeliefert werden sollen, für die eine Verwaltungsfreigabe besteht, aber nicht zur Kundennummer {customerNumber} gehören.'

owned
boolean
Default: true

Dieser Parameter steuert, ob Accounts zurückgeliefert werden sollen, die direkt der Kundennummer {customerNumber} gehören. Dieser Parameter hat standardmäßig den Wert true; über den Wert false können in Kombination mit dem Parameter advised ausschließlich Accounts abgefragt werden, für die eine Verwaltungsfreigabe besteht.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Details zu einer gebuchten Leistung

Liefert Details zu einer gebuchten Leistung.

path Parameters
customerNumber
required
integer

Kundennummer

benefit
required
string

Leistung

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Rechnung eines Kunden

Diese Ressource repräsentiert eine einzelne Rechnung.

Über den Accept-Header kann gesteuert werden, ob die Daten dieser Rechnung als JSON-Dokument oder das tatsächliche Rechnungsdokument als PDF abgerufen werden sollen.

path Parameters
invoiceNumber
required
integer

Rechnungsnummer

header Parameters
Accept
string
Enum: "application/json" "application/pdf"

Das erwünschte Format (application/json oder application/pdf)

Responses

Response samples

Content type
application/json
{
  • "invoiceNumber": 0,
  • "invoicedAt": "string",
  • "netTotal": {
    },
  • "grossTotal": {
    },
  • "vat": null,
  • "items": [
    ]
}

Zahlungseingänge einer Rechnung

Liest erfasste Buchungen zu einer bestimmten Rechnung aus

path Parameters
invoiceNumber
required
integer

Rechnungsnummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Verträge

Verträge

Verträge auslesen

Liefert alle Verträge eines Kunden

path Parameters
customerNumber
required
integer

Die Kundennummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Verträge eines Kunden, die sich aktuell im Kündigungsprozess befinden

Liefert alle Verträge eines Kunden, die aktuell gekündigt werden und sich noch nicht länger als 5 Tage in diesem Prozess befinden

path Parameters
customerNumber
required
integer

Die Kundennummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Kündigung einleiten

Leitet die Kündigung für einen bestimmten Tarif ein

Request Body schema: application/json

Die Kündigungsdaten

contract
required
integer
Array of objects
message
string

Eine persönliche Nachricht zur Kündigung

call
boolean

Wahr, wenn der Kunde noch einmal angerufen werden möchte

reason
integer

ID des Kündigungsgrundes

Responses

Request samples

Content type
application/json
{
  • "contract": 0,
  • "domains": [
    ],
  • "message": "string",
  • "call": true,
  • "reason": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Kündigungsbestätigung erneut senden

Löst eine erneute Versendung der Kündigungsbestätigung per E-Mail aus

path Parameters
cancellationIdentifier
required
integer

Die ID der bereits eingeleiteten Kündigung

Responses

Angebote

Angebotsmanagement

Neues Angebot anfordern

Über diese Operation kann ein neues Angebot angefordert werden

Request Body schema: application/json

Die Angebotsanfrage; diese enthält Daten zu den angefragten Artikeln sowie notwendige Kundenstammdaten

required
object (OfferRequestRecipient)
required
object (OfferRequestArticles)
isTechnicalAdminForRecipient
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "recipient": {
    },
  • "articles": {
    },
  • "isTechnicalAdminForRecipient": false
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Angebot versenden

Erzeugt ein Angebot aus einem Warenkorb und verschickt dieses als PDF per Mail an den angegebenen Empfänger.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json

Empfänger

firstName
required
string non-empty
lastName
required
string non-empty
title
string non-empty
salutation
required
string
Enum: "Herr" "Frau" "Mr." "Ms."
street
required
string non-empty
houseNumber
required
string non-empty
required
string or integer non-empty
city
required
string non-empty
company
string
emailAddress
required
string <email>
country
required
string = 2 characters

iso country short code (ISO 3166-1 alpha-2)

fax
string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "Herr",
  • "street": "string",
  • "houseNumber": "string",
  • "zip": "string",
  • "city": "string",
  • "company": "string",
  • "emailAddress": "user@example.com",
  • "country": "st",
  • "fax": "string"
}

Warenkorbvorlage erstellen

Erstellt eine Vorlage aus einem Warenkorb. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorbvorlage für Account-Ausgliederung erstellen

Erstellt eine Vorlage aus einem Warenkorb mit Account-Ausgliederung. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "pinCode": 0,
  • "expireDate": "string"
}

Überprüfe PIN-Code von Empfehlung

Überprüft den Pin-Code bei einer Empfehlung.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json
pinCode
number

Der 6-stellige Pin-Code

sourceAccount
string

Name des Projektes

sourceReseller
string

Name des Resellers

Responses

Request samples

Content type
application/json
{
  • "pinCode": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Bestellungen

Bestellung neuer Artikel

Pre-Upgrade Check

Führt ein Check im Vorfeld aus, was sich bei einem Upgrade zu Artikel X ändern würde.

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

articleNumber
required
string

Artikelnummer

Responses

Response samples

Content type
application/json
{
  • "ipChanges": true
}

Anmeldung am Partnerprogramm

Über diese Operation kann ein Kunde am Partnerprogramm angemeldet werden.

Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein API-Token über den /authenticate-Endpunkt bezogen hat), ist die erneute Angabe von Kundenstammdaten im Request (hier über das customer-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten werden zugunsten der bereits im System hinterlegten ignoriert.

Request Body schema: application/json

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Bestellung eines Partnerbox

Über diese Operation kann ein neues Partnerbox bestellt werden.

Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein API-Token über den /authenticate-Endpunkt bezogen hat), ist die erneute Angabe von Kundenstammdaten im Request (hier über das customer-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten werden zugunsten der bereits im System hinterlegten ignoriert.

Request Body schema: application/json

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Partner

Partnerprogramm & Partnerbox

Anmeldung am Partnerprogramm

Über diese Operation kann ein Kunde am Partnerprogramm angemeldet werden.

Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein API-Token über den /authenticate-Endpunkt bezogen hat), ist die erneute Angabe von Kundenstammdaten im Request (hier über das customer-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten werden zugunsten der bereits im System hinterlegten ignoriert.

Request Body schema: application/json

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Bestellung eines Partnerbox

Über diese Operation kann ein neues Partnerbox bestellt werden.

Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein API-Token über den /authenticate-Endpunkt bezogen hat), ist die erneute Angabe von Kundenstammdaten im Request (hier über das customer-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten werden zugunsten der bereits im System hinterlegten ignoriert.

Request Body schema: application/json

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Artikel

Artikelverwaltung

Suche nach Artikeln

Diese Operation liefert eine Liste von Artikeln zurück, die den angegebenen Suchparametern entsprechen.

query Parameters
fields
string

Auszuliefernde Felder, als kommaseparierte Liste. Beispiel: articleNumber,description

limit
integer
Default: 20

Anzahl der zurückzuliefernden Artikel.

offset
integer
Default: 0

Offset für die Limitierung der Suchergebnisse

articles
string

Kommaseparierte-Liste von Artiklenummern

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Artikeldetails

Artikeldetails auslesen

path Parameters
articleNumber
required
string

Artikelnummer

query Parameters
fields
string

Auszuliefernde Felder, als kommaseparierte Liste. Beispiel: articleNumber,description

Responses

Response samples

Content type
application/json
{
  • "articleNumber": 0,
  • "isOrderable": true,
  • "price": "string",
  • "description": "string",
  • "contract": {
    },
  • "billing": {
    },
  • "commission": "string",
  • "articleGroups": [
    ],
  • "benefits": "string",
  • "configurationData": {
    },
  • "articleOptions": "string",
  • "crossSellingArticles": [
    ]
}

Cross-Selling Optionen

Liefert alle möglichen Cross-Selling Artikel aus

path Parameters
articleNumber
required
string

Artikelnummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Artikel Upgrades

Liefert alle möglichen Upgrades für diesen Artikel aus

path Parameters
articleNumber
required
string

Artikelnummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Warenkorb

Bestellung neuer Artikel

Warenkorb erstellen

Erstellt einen neuen Warenkorb

Request Body schema: application/json
forcePartnerId
string

Der Commission Code, welcher im weiteren Verlauf der Bestellstrecke nie wieder geändert werden kann.

Responses

Request samples

Content type
application/json
{
  • "forcePartnerId": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorb auslesen

Liefert einen bestehenden Warenkorb aus

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorb aus Vorlage erstellen

Erstellt einen neuen Warenkorb aus einer Vorlage

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorb bearbeiten

Aktualisiert einen bestehenden Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json

Der neue Warenkorb

_id
string
Array of objects (Article)
jwt
string

Set a new jwt for this cart.

promotionCode
string
newsletter
boolean
offer
number
software
string

The software to install for the order.

os
string

The operating system to install for the order.

note
string

Store a customer note for the order.

mysqlVersion
string

The MySQL-Version to use for the order.

databasePartitionPercentage
number

The database partition ratio. Must be between 20 & 80 %.

sourceAccount
string

Only for upgrades/extract: The UID or name of the source account.

sourceReseller
string

Only for upgrades/extract: The UID or name of the source reseller.

agencyServer
number

The UID of the target agency server.

stayOnHardware
boolean

Keep your existing hardware

testing
boolean

Is order an testaccount?

billingPeriod
number

Billing period for main order item

customerBillingPeriod
number

Billing period for whole customer

commission
string

The code from the partnerprogram

isCommissionLocked
boolean

If enabled, nobody can remove/change the commission code. Default=false

dueDate
number

Unix timestamp of the due date of the order (wish order execution date).

projectName
string

Your description for the account.

projectPassword
string

Your password for the account. Will be encrypted after setting this value.

object (Contact)
object (Contact)
object (Contact)
PaymentSettings (object) or PaymentSettings (object) (PaymentSettings)

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorb löschen

Löscht einen bestehenden Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Warenkorb-Position hinzufügen

Fügt ein neues Item in den Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json

Das hinzuzufügende Item

identifier
required
string
sourceIdentifier
string

Responses

Request samples

Content type
application/json
{
  • "identifier": "string",
  • "sourceIdentifier": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorb-Position löschen

Löscht ein Item aus dem Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

itemIdentifier
required
string

Item ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorb-Domainposition hinzufügen

Fügt eine Domain dem Warenkorb hinzu

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json

Die hinzuzufügende Domain

name
required
string
authCode
string
transfer
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "authCode": "string",
  • "transfer": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Bestellung abschließen

Erzeugt eine Bestellung aus einem Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json
pinCode
number

Der PinCode, der für den Kundennummer-Wechsel Ihres Bestandspaketes notwendig ist.

Responses

Request samples

Content type
application/json
{
  • "pinCode": 0
}

Angebot versenden

Erzeugt ein Angebot aus einem Warenkorb und verschickt dieses als PDF per Mail an den angegebenen Empfänger.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json

Empfänger

firstName
required
string non-empty
lastName
required
string non-empty
title
string non-empty
salutation
required
string
Enum: "Herr" "Frau" "Mr." "Ms."
street
required
string non-empty
houseNumber
required
string non-empty
required
string or integer non-empty
city
required
string non-empty
company
string
emailAddress
required
string <email>
country
required
string = 2 characters

iso country short code (ISO 3166-1 alpha-2)

fax
string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "Herr",
  • "street": "string",
  • "houseNumber": "string",
  • "zip": "string",
  • "city": "string",
  • "company": "string",
  • "emailAddress": "user@example.com",
  • "country": "st",
  • "fax": "string"
}

Warenkorbvorlage erstellen

Erstellt eine Vorlage aus einem Warenkorb. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "jwt": "string",
  • "promotionCode": "string",
  • "newsletter": true,
  • "offer": 0,
  • "software": "string",
  • "os": "string",
  • "note": "string",
  • "mysqlVersion": "string",
  • "databasePartitionPercentage": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string",
  • "agencyServer": 0,
  • "stayOnHardware": true,
  • "testing": true,
  • "billingPeriod": 0,
  • "customerBillingPeriod": 0,
  • "commission": "string",
  • "isCommissionLocked": true,
  • "dueDate": 0,
  • "projectName": "string",
  • "projectPassword": "string",
  • "contractPartner": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": {
    }
}

Warenkorbvorlage für Account-Ausgliederung erstellen

Erstellt eine Vorlage aus einem Warenkorb mit Account-Ausgliederung. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "pinCode": 0,
  • "expireDate": "string"
}

Überprüfe PIN-Code von Empfehlung

Überprüft den Pin-Code bei einer Empfehlung.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json
pinCode
number

Der 6-stellige Pin-Code

sourceAccount
string

Name des Projektes

sourceReseller
string

Name des Resellers

Responses

Request samples

Content type
application/json
{
  • "pinCode": 0,
  • "sourceAccount": "string",
  • "sourceReseller": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

SMS-Verifizierung starten

Fragt eine SMS-Verifizierung an. Der Empfänger erhält eine SMS mit einem Code.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json
recipient
string

Die Mobilfunknummer des Empfängers

Responses

Request samples

Content type
application/json
{
  • "recipient": "string"
}

SMS-Verifizierung bestätigen

Bestätigt die SMS-Verifizierung.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: application/json

Der Verifizierungcode

verificationCode
string

Responses

Request samples

Content type
application/json
{
  • "verificationCode": "string"
}

PromotionCode

Gutscheincodes

Promotioncode auslesen

Liefert PromotionCode-Details aus

path Parameters
promotionCode
required
string

PromotionCode

Responses

Promotioncode validieren

Validiert einen Promotion-Code für eine Bestellung

path Parameters
promotionCode
required
string

PromotionCode

Request Body schema: application/json

Die zu bestellenden Artikel und ob der Hauptartikel einen monatliche Abrechnungsperiode hat. Nur die Artikelnummer wird zwingend benötigt.

Array of objects (Article)
monthly
boolean

Responses

Request samples

Content type
application/json
{
  • "articles": [
    ],
  • "monthly": true
}

Virt

V/D-Root Server

Root-Server Betriebssysteme

Liefert die zur Installation vorhandenen Root-Server Betriebssysteme

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "identifier": "string",
  • "pleskRequired": true,
  • "pleskVersion": 0
}

Bankdaten

Bankdaten

Konvertiert Bankdaten in das IBAN / BIC Format

Liefert zu einer gegebenen Kontonummer und BLZ die entsprechende IBAN und BIC

Request Body schema: application/json

Die zu konvertierenden Bankdaten

bankAccountNumber
string

Die zu konvertierende Kontonummer

bankCode
string

Die zu konvertierende BLZ

Responses

Request samples

Content type
application/json
{
  • "bankAccountNumber": "string",
  • "bankCode": "string"
}

Response samples

Content type
application/json
{
  • "iban": "string",
  • "bic": "string"
}

Webhooks

Webhooks

Liefert alle hinterlegten Webhooks

Liefert alle hinterlegten Webhooks eines bestimmten Logins

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Registriert einen neuen Webhook

Registriert einen neuen Webhook für einen bestimmten Login

Request Body schema: application/json

Die Webhook-Konfiguration

url
required
string <uri>
method
required
string
Enum: "GET" "POST" "PUT" "DELETE" "PATCH"
eventType
required
string
Value: "DOMAIN_REGISTRATION_STATUS"
headers
object
object (WebhookParameter)

Responses

Request samples

Content type
application/json
{
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "uid": "string",
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Liefert einen bestimmten Webhook

Liefert die Daten eines bestimmten Webhooks

path Parameters
webhookIdentifier
required
string

Die ID des Webhooks

Responses

Response samples

Content type
application/json
{
  • "uid": "string",
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Updated den gewünschten Webhook

Updated die Daten des gewünschten Webhooks

path Parameters
webhookIdentifier
required
string

Die ID des Webhooks

Request Body schema: application/json

Die Webhook-Konfiguration

url
required
string <uri>
method
required
string
Enum: "GET" "POST" "PUT" "DELETE" "PATCH"
eventType
required
string
Value: "DOMAIN_REGISTRATION_STATUS"
headers
object
object (WebhookParameter)

Responses

Request samples

Content type
application/json
{
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "uid": "string",
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Löscht einen Webhook

Löscht den gegebenen Webhook

path Parameters
webhookIdentifier
required
string

Die ID des Webhooks

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Kündigung

Kündigung

Kündigung einleiten

Leitet die Kündigung für einen bestimmten Tarif ein

Request Body schema: application/json

Die Kündigungsdaten

contract
required
integer
Array of objects
message
string

Eine persönliche Nachricht zur Kündigung

call
boolean

Wahr, wenn der Kunde noch einmal angerufen werden möchte

reason
integer

ID des Kündigungsgrundes

Responses

Request samples

Content type
application/json
{
  • "contract": 0,
  • "domains": [
    ],
  • "message": "string",
  • "call": true,
  • "reason": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Kündigungsbestätigung erneut senden

Löst eine erneute Versendung der Kündigungsbestätigung per E-Mail aus

path Parameters
cancellationIdentifier
required
integer

Die ID der bereits eingeleiteten Kündigung

Responses

DSGVO-Verträge

DSGVO-Verträge

PDF - Liefert die Daten der Vertrags-PDFs

Liefert die Daten der vom Kunden manuell hochgeladenen Vertrags-PDFs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

PDF - Vertrags-PDF hochladen

Lädt einen eigens geschlossenen Vertrag hoch. Dabei werden nur PDF Dateien unterstützt

Request Body schema: application/json
name
required
string
pdf
required
string <binary>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "pdf": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "creationDate": "string"
}

PDF - Liefert ein bestimmtes Vertrags-PDF

Liefert ein bestimmtes manuell hochgeladenes Vertrags-PDF des Kunden

path Parameters
pdfIdentifier
required
string

Die ID des Vertrags-PDFs

Responses