Skip to content

WP Guardian API

Einführung

Dieser Artikel richtet sich an Plesk- oder cPanel-Partner, die virtuelle private Server (Virtual Private Server, VPS) vertreiben möchten, auf denen WP Guardian inklusive Lizenz installiert ist. Wir bieten eine schrittweise Anleitung und Beispiel-API-Aufrufe, die für die Installation und Lizenzierung von WP Guardian auf dem VPS eines Kunden erforderlich sind.

Voraussetzungen

Als Plesk- oder cPanel-Partner müssen Sie Zugriff auf die entsprechenden APIs haben: Key Administrator für Plesk und Manage2 für cPanel.

Zugriff zu haben bedeutet, dass Sie über die erforderlichen Anmeldeinformationen verfügen, um die APIs zu nutzen. Dies sind die grundlegenden Anmeldeinformationen $AUTH_TOKEN für Key Administrator und das Benutzername/Passwort-Paar für Manage2.

Hinweis

Wenn Sie nicht über die oben genannten Zugangsdaten verfügen, wenden Sie sich an Ihren Plesk- oder cPanel-Kundenbetreuer. 

Algorithmus und detaillierte Schemata

Der Vorgang beginnt damit, dass ein Kunde eine Bestellung aufgibt (Schritt 1) und endet damit, dass Sie dem Kunden einen einsatzbereiten VPS zur Verfügung stellen (Schritt 6). Dazwischen liegen die folgenden Schritte:

(2) Erstellen Sie einen WP Guardian-Benutzer.

(3) Erstellen Sie eine WP Guardian-Lizenz.

(4) Rufen Sie das Snippet mit dem Connection String ab.

(5) Führen Sie das Snippet mit dem Connection String auf dem VPS des Kunden aus.

Mit Ausnahme von Schritt 3 ist die Vorgehensweise in Key Administrator und Manage2 ähnlich. Wir beschreiben in zwei separaten Abschnitten, wie eine WP Guardian-Lizenz mit Key Administrator und Manage2 erstellt wird.

Um das Verständnis der Unterschiede zwischen Key Administrator und Manage2 zu erleichtern, haben wir ein detailliertes Schema für jede der APIs ausgearbeitet. Im Folgenden verwenden wir die im jeweiligen Schema angegebene Nummerierung (z. B. API-Anfrage 2.1 oder Antwort 4.2). Sollten Sie im Text den Überblick verlieren, sehen Sie in den Schemata unten nach.

2. WP Guardian-Benutzer erstellen

Um einen Benutzer über die WP Guardian API zu erstellen, benötigen Sie zunächst ein Verwaltungstoken. Wenden Sie sich dazu an einen WP Guardian-Vertriebsmitarbeiter oder an das Plesk Customer Success Team.

Sobald Sie das Verwaltungstoken erhalten haben, senden Sie die Anfrage nach folgendem Muster und fügen Sie das Token dem Authorization-Header hinzu:

Anfrage 2.1

POST https://app.wpguardian.io/api/v1/security-dashboard/management/users HTTP/1.1
Authorization: Bearer $MANAGEMENT_TOKEN
Content-Type: application/json
{
  "email": "john.doe@example.com",
  "firstName": "John",
  "lastName": "Doe"
}

Wenn Anfrage 2.1 erfolgreich ist, erhalten Sie eine Antwort mit folgendem Muster:

Antwort 2.3

HTTP/1.1 201 Created
{
  "data": {
    "userGuid": "1092a1a6-a716-400d-aba5-ad853a330561",
    "teamGuid": "1247c8bc-6d5d-41f6-9bda-007a6e6fb20c",
    "userToken": "368ded8f-883a-4759-9f28-8906c3e5136c"
  }
}

Die Antwort enthält drei Werte. Speichern Sie zwei davon (teamGuid und userToken) zur späteren Verwendung:

  • teamGuid wird verwendet, um eine WP Guardian-Lizenz zu aktualisieren oder zu kündigen.
  • userToken hilft dabei, mehr Server mit dem Benutzerkonto zu verbinden.

Falls Anfrage 2.1 fehlerhaft ist, erhalten Sie die folgende Fehlermeldung:

Fehlermeldung: Ungültiges Token

HTTP/1.1 401 Unauthorized

Falls der Benutzer mit den übermittelten Informationen bereits vorhanden ist, erhalten Sie die folgende Fehlermeldung:

Fehlermeldung: Der Benutzer existiert bereits

HTTP/1.1 409 Conflict

3. WP Guardian-Lizenz erstellen (Key Administrator)

Hinweis

Jeder WP Guardian-Benutzer kann jeweils nur eine aktive Lizenz haben. 

Sie erstellen eine Lizenz für einen WP Guardian-Benutzer über die Key Administrator Partner API.

Um die Lizenz zu erstellen, senden Sie eine Anfrage nach folgendem Muster:

Anfrage 3.1

POST https://api.central.plesk.com/30/keys?return-key-state=yes
Authorization: Basic: $AUTH_TOKEN
Content-Type: application/json
{
    "activationInfo": { "uid": "1247c8bc-6d5d-41f6-9bda-007a6e6fb20c" },
    "items": [
        {
            "item": "WPG-PLSK-1-1M"
        }
    ]
}

Hierbei gilt Folgendes:

  • $AUTH_TOKEN ist ein Token, das für den Zugriff auf die Key Administrator Partner API erforderlich ist. Jeder Plesk-Partner hat so ein Token.
  • Die uid in activationInfo entspricht der teamGuid aus Antwort 2.3.
  • item in items ist der Lizenztyp und kann einer der folgenden Einträge sein:

  • WPG-PLSK-1-1M

  • WPG-PLSK-5-1M
  • WPG-PLSK-10-1M
  • WPG-PLSK-30-1M
  • WPG-PLSK-50-1M

!!! Hinweis

  Eine Liste aller verfügbaren WP Guardian-Lizenztypen finden Sie im Abschnitt ["Partner API 3.0 Constants"](https://docs.plesk.com/en-US/obsidian/partner-api-3.0/partner-api-30-constants.77835/){target=_blank} (`"category":"WP Guardian Keys"`).

Wenn Anfrage 3.1 erfolgreich ist, erhalten Sie eine Antwort mit folgendem Muster:

Antwort 3.4

HTTP/1.1 201 Created
{
  "ownerId": "700540512",
  "keyIdentifiers": {
    "keyId": 17654729,
    "keyNumber": "WPG.17654729.0000",
    "activationCode": "AB1234-CD5678-EF9012-GH123-IJ456",
    "activationLink": "https://app.wpguardian.io/licensing/activate-license?code=AB1234-CD5678-EF9012-GH123-IJ456&product=WP+Guardian+1+Site"
  },
  "parentKeyIdentifiers": null,
  "activationInfo": {
    "uid": "1247c8bc-6d5d-41f6-9bda-007a6e6fb20c",
    "activated": true
  },
  "ipAddressBinding": null,
  "nickname": "",
  "productConfigurationId": null,
  "items": [
    {
      "externalId": null,
      "item": "WPG-PLSK-1-1M"
    }
  ],
  "creationDate": "2024-09-12T10:34:11.741Z",
  "lastModificationDate": "2024-09-12T10:34:11.763Z",
  "updateDate": "2024-10-12T00:00:00.000Z",
  "expirationDate": "2024-10-22T00:00:00.000Z",
  "susExpirationDate": null,
  "susStatus": null,
  "supportExpirationDate": null,
  "supportStatus": null,
  "status": "ACTIVE",
  "terminated": false,
  "suspended": false,
  "ownerSuspended": false,
  "autoRenew": true,
  "restrictIPBinding": false,
  "frauds": [],
  "lastReportingDate": null,
  "lastReportingIp": null,
  "lastReportingOs": null,
  "childKeyIdentifiers": [],
  "overridingKeyIdentifiers": null
}

Falls Anfrage 3.1 fehlerhaft ist, erhalten Sie die folgende Fehlermeldung:

Fehlermeldung: Ungültiges Token

HTTP/1.1 401
Content-Type: application/json
Content-Length: 77
{"code":"401","type":"6011","message":"The request requires authentication."}

Falls der Benutzer bereits eine aktive Lizenz hat, erhalten Sie die folgende Fehlermeldung:

Fehlermeldung: Fehler durch Drittanbieter

HTTP/1.1 404 
Content-Type: application/json
{"code":"404","type":"6101","message":"Third party server returned an error"}

3. WP Guardian-Lizenz erstellen (Manage2)

Im Gegensatz zu Key Administrator kann mit Manage2 keine Lizenz erstellt werden, die an einen bestimmten Benutzer gebunden ist. Sie erstellen zunächst eine nicht aktive Lizenz, generieren den Aktivierungslink für die Lizenz und senden diesen Link dann an den Kunden. Sobald der Kunde den Link öffnet, wird die Lizenz aktiviert und an den Kunden gebunden.

Schauen wir uns an, wie Sie die einzelnen Schritte durchführen.

Schritt 1: Erstellen Sie eine nicht aktive WP Guardian-Lizenz, indem Sie die API-Anfrage nach folgendem Muster senden:

Anfrage 3.1

GET https://manage2.cpanel.net/XMLlicenseAdd.cgi?output=json&packageid=P999994429&sites==500
Authorization Basic: login:password

Hierbei gilt Folgendes:

  • login:password ist das Benutzername/Passwort-Paar, das für den Zugriff auf die Manage2 API erforderlich ist. Jeder cPanel-Partner hat diese Anmeldedaten.
  • packageID ist der Lizenztyp und kann einer der folgenden Werte sein:
  • "P999994429": "WP Guardian 500 Sites"
  • "P999994433": "WP Guardian 1000 Sites"
  • "P999994441": "WP Guardian 10000+ Sites Pay As You Go"
  • Der Parameter sites muss dem Lizenztyp entsprechen. Wenn beispielsweise der Lizenztyp P999994429 lautet, dann muss der Parameter sites der Wert 500 sein.

!!! Hinweis

  Um die Liste aller verfügbaren WP Guardian-Lizenztypen anzuzeigen, [verwenden Sie die Manage2 API](https://docs.cpanel.net/manage2/api/manage2-api-list-package-information/){target=_blank}.

!!! Hinweis

  [Die Ausgabe der Manage2 API](https://docs.cpanel.net/manage2/api/manage2-api-list-package-information/){target=_blank} enthält zwei Produkte: "WP Guardian N Sites" und "WP Guardian (cPanel Addon) N Sites Pack". Sie benötigen das erstere.

Wenn Anfrage 3.1 erfolgreich ist, erhalten Sie eine Antwort mit folgendem Muster:

Antwort 3.2

{
    "monthly_price": "21.34",
    "status": 1,
    "yearly": 0,
    "reason": "Activated EXAMPLECOMPANY license on in the 'example' group.",
    "price": "0.00",
    "promoinfo": "",
    "licenseid": "17654729"
}

Kopien Sie den Wert licenseid zur späteren Verwendung aus der Antwort.

Schritt 2: Generieren Sie den Aktivierungslink, indem Sie die API-Anfrage nach folgendem Muster senden:

Anfrage 3.3

{
GET https://manage2.cpanel.net/XMLlicenseInfo.cgi?output=json&liscid=17654729
Authorization Basic: login:password
}

Dabei entspricht liscid dem Wert aus licenseid in der Antwort 3.2.

Wenn Anfrage 3.3 erfolgreich ist, erhalten Sie eine Antwort mit folgendem Muster:

Antwort 3.4

{
    "licenses": {
        "17654729": {
            "accounts": 1,
...
            "activation_link": "https://app.wpguardian.io/licensing/activate-license?code=A00300-GEX111-577J59-A6AG72-AEKX66&product=WP+Guardian+500+Sites ",
...
        }
    },
    "reason": "OK",
    "status": 1,
    "version": 0.7
}

Schritt 3: Speichern Sie den Aktivierungslink, den Sie in Antwort 3.4 erhalten haben, und senden Sie ihn an den Kunden. Vergewissern Sie sich, dass der Kunde den Link öffnet. Denn nur so wird die Lizenz aktiviert und an den Kunden gebunden.

4. Snippet mit dem Connection String abrufen

Das Connection-String-Snippet ist ein Skript, das über die WP Guardian API abgerufen wird. Wenn Sie das Snippet auf dem Server eines Kunden ausführen, stellen Sie eine Verbindung zu WP Guardian her.

Um das Snippet abzurufen, senden Sie eine API-Anfrage nach folgendem Muster:

Anfrage 4.1

GET https://app.wpguardian.io/api/v1/security-dashboard/connection-snippet
Authorization: Bearer $USER_TOKEN
Content-Type: application/json

Dabei entspricht $USER_TOKEN dem Wert userToken aus Antwort 2.3.

Wenn die API-Anfrage erfolgreich war, erhalten Sie eine Antwort im folgenden Muster:

Antwort 4.2

{
    "data": {
        "expireAt": "2024-09-24T17:18:51.697Z",
        "snippet": "<script to run on a client's VPS>"
    }
}

5. Snippet auf dem VPS eines Kunden ausführen

Der letzte Schritt besteht darin, das im vorherigen Schritt abgerufene Connection-String-Snippet auf dem VPS des Kunden auszuführen. Anschließend ist der VPS mit WP Guardian direkt einsatzbereit. Gut gemacht!

Hinweis

Das Snippet stellt automatisch eine Verbindung zwischen dem VPS eines Kunden und WP Guardian her.
Wenn das Snippet aus irgendeinem Grund fehlschlägt, können Sie das Problem beheben, indem Sie [einen VPS manuell mit WP Guardian verbinden]( https://docs.wpguardian.io/index.html#connecting-servers-to-wp-guardian){target=_blank}.
Back to top