Die Verwaltung von Kunden kann von Resellern per API vollständig automatisiert werden. Die Verwaltung verwendet dabei die "normalen" API-Keys für Accounts. Dieser kann entweder händisch angelegt werden (per Single-Sign-On für Reseller) oder es wird beim Erstellen des Kunden per Reseller-API der Parameter furnish_api_key gesendet. Dann wird für den Kunden sofort ein API-Key mit allen Rechten erstellt und der API-Key in der Antwort zurückgegeben.

Ein solcher Ablauf könnte etwa so aussehen:

                                                +----------------+
+-------------------+       Kunden-Daten        |                |
|                   | +---------------------->  |  Reseller-API  |
|                   |       UserID & API-Key    |                |
| Automation-Script | <----------------------+  +----------------+
|  muss den API-Key |
|  speichern        |                           +----------------+
|                   | API-Request mit User-Key  |                |
|                   | +---------------------->  |  Usercp-API    |
+-------------------+ <----------------------+  |                |
                                                +----------------+

Schritt 1: API-Key für den Reseller anlegen

Logge Dich mit dem Reseller-Account ein und öffne die API-Keys-Seite. Lege einen neuen API-Key an. Der API-Key muss die reseller.customers.admin-Rechte haben.

Dieser API-Key wird für das Anlegen der Kunden verwendet.

Schritt 2: Kunden per API anlegen

Führe per Script den folgenden API-Call aus (Beispiel mit cURL - ersetze den RESELLERAPIKEY mit dem Key aus Schritt 1), um einen Kunden anzulegen:

curl 'https://www.lima-city.de/resellercp/customers' -H 'Content-Type: application/json' -u api:RESELLER_API_KEY --data '{"customer":{"hosting_type":"cloud","disk_space_gb":10,"mysql_space_gb":1,"mail_limit":100,"furnish_api_key":"1","username":"demouser1337","email":"kundenemail@example.de"}}'

Es wird dabei das folgende JSON zurückgegeben:

{
  "status": "ok",
  "object": {
    "id": 386557,
    "api_key": "HnyxDQCkB6NUJCd6a7X43qIygcLVJ9ZR"
  }
}

Der API-Key, der in dieser Antwort zurückgesendet wird, ist der Management-API-Key für den Reseller. Der API-Key kann jederzeit über den Kunden-Account (per Single-Sign-In oder Login) geändert oder gelöscht werden.

Wichtig: ohne den Parameter furnish_api_key wird kein API-Key für die Verwaltung des Kunden-Accounts angelegt - den brauchen wir aber für die weiteren Schritte!

Schritt 3: API-Calls als Kunde absetzen

Da wir nun einen API-Key (im Beispiel HnyxDQCkB6NUJCd6a7X43qIygcLVJ9ZR) mit allen Rechten für den Kunden erstellt haben, können wir diesen normal nutzen. Benutze dazu wie gewohnt die lima-city API mit dem API-Key des Kunden.