GET
?resource=ping
Verbindungstest – zeigt an, welcher Key genutzt wird und ob er an einen Kunden gebunden ist.
Beispiel-Antwort
{
"ok": true,
"version": "1.0",
"app": "MeerSYS CCP",
"key": "Mein Projekt",
"customer_id": 0,
"time": "2026-07-29T09:10:06+02:00"
}
GET
?resource=customers&id=123
Einzelnen Kunden lesen. Ohne id (nur mit unbegrenztem Key) liefert &limit=50 eine Liste (max. 100).
POST
?resource=customers
nur unbegrenzter Key
Neuen Kunden anlegen – inklusive Portal-Login. Ohne vollständige Adresse käme später ohnehin keine echte Domain-Registrierung beim Registrar durch, deshalb wird das schon hier geprüft.
Parameter
| Feld | Pflicht | Hinweis |
| email | Pflicht | gültige E-Mail-Adresse |
| first_name / last_name | Pflicht* | *oder company |
| company | optional* | *oder first_name+last_name |
| phone / mobile | Pflicht* | *mindestens eines von beiden |
| street | Pflicht | Straße |
| house_number | optional | Hausnummer |
| zip | Pflicht | Postleitzahl |
| city | Pflicht | Ort |
| country | optional | ISO-2, Standard DE |
Beispiel-Request
{
"email": "[email protected]",
"first_name": "Max", "last_name": "Mustermann",
"phone": "+49 30 1234567",
"street": "Musterstraße", "house_number": "12",
"zip": "12345", "city": "Berlin", "country": "DE"
}
Beispiel-Antwort
{
"ok": true,
"customer_id": 42,
"customer_number": "K-2026-1234",
"user_created": true
}
Es wird automatisch ein Portal-Login angelegt (falls noch keins existiert) und eine „Konto einrichten"-Mail mit 7 Tage gültigem Link zum Passwort-Festlegen verschickt. Existiert die E-Mail bereits, wird die vorhandene ID zurückgegeben ("existing": true) statt eines Duplikats.
GET
?resource=products
Alle aktiven, bestellbaren Produkte inkl. Netto- und Bruttopreis. Domain-Produkte mit fester Endung (z.B. „.de-Domain") liefern die erkannte Endung in fixed_tld – exakt die Endung, die eine bestellte Domain bei orders haben muss.
Beispiel-Antwort
{
"ok": true, "vat_rate": 19,
"products": [
{ "id": 4, "name": ".de-Domain", "category": "domain",
"billing_cycle": "yearly", "is_domain_product": true,
"fixed_tld": "de", "price_net": 7.08, "price_gross": 8.43 },
{ "id": 1, "name": "Webhosting Basic", "category": "hosting",
"billing_cycle": "monthly", "is_domain_product": false,
"fixed_tld": null, "price_net": 4.99, "price_gross": 5.94 }
]
}
GET
?resource=domain_check&domain=example.de
Einzelne Domain auf Verfügbarkeit prüfen, plus aktueller Registrierungspreis (netto) falls hinterlegt.
Beispiel-Antwort
{
"ok": true, "domain": "example.de",
"available": false, "status": "unavailable",
"error": null, "price_net": 7.08
}
available ist true / false / null (null = Antwort nicht eindeutig interpretierbar – im Zweifel wie „unklar" behandeln). Ist die Verfügbarkeitsprüfung nicht konfiguriert, kommt 503.
GET
?resource=domain_search&name=beispiel&tlds=de,com,net
Ein Name gegen mehrere Endungen gleichzeitig prüfen (ein Aufruf statt vieler). tlds ist optional – ohne Angabe werden bis zu 10 aktive Endungen verwendet.
Beispiel-Antwort
{
"ok": true, "name": "beispiel",
"results": [
{ "tld": "de", "domain": "beispiel.de", "available": false, "error": null, "price_net": 7.08 },
{ "tld": "com", "domain": "beispiel.com", "available": true, "error": null, "price_net": 15.99 }
]
}
POST
?resource=orders
Bestellung anlegen. Erzeugt einen Service (pending) plus Rechnung – keine echte Registrierung/Transfer beim Registrar. Das passiert erst nach bestätigtem Zahlungseingang, komplett getrennt von dieser API.
Parameter
| Feld | Pflicht | Hinweis |
| customer_id | Pflicht* | *entfällt bei gebundenem Key |
| product_id | Pflicht | ID aus resource=products |
| domain | Pflicht* | *wenn Produkt ein Domain-Produkt ist |
| is_transfer | optional | true = Transfer statt Neuregistrierung |
| auth_code | Pflicht* | *bei is_transfer: true |
Beispiel-Request
{
"customer_id": 42, "product_id": 4,
"domain": "example.de"
}
Beispiel-Antwort
{
"ok": true, "service_id": 123,
"invoice_id": 456, "domain": "example.de", "error": null
}
Bei Domain-Produkten mit fester Endung muss domain exakt darauf enden. Ohne Transfer wird die Verfügbarkeit live geprüft – vergeben oder unklar ergibt 422 mit Begründung.
GET
?resource=services&id= | &customer_id=
Service(s) inkl. Status (pending/active/…), Fälligkeit und Preis – damit lässt sich pollen, ob eine Bestellung schon bezahlt/aktiv wurde.