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:
teamGuidwird verwendet, um eine WP Guardian-Lizenz zu aktualisieren oder zu kündigen.userTokenhilft 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_TOKENist ein Token, das für den Zugriff auf die Key Administrator Partner API erforderlich ist. Jeder Plesk-Partner hat so ein Token.- Die
uidinactivationInfoentspricht derteamGuidaus Antwort 2.3. -
iteminitemsist der Lizenztyp und kann einer der folgenden Einträge sein: -
WPG-PLSK-1-1M WPG-PLSK-5-1MWPG-PLSK-10-1MWPG-PLSK-30-1MWPG-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:passwordist das Benutzername/Passwort-Paar, das für den Zugriff auf die Manage2 API erforderlich ist. Jeder cPanel-Partner hat diese Anmeldedaten.packageIDist 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
sitesmuss dem Lizenztyp entsprechen. Wenn beispielsweise der LizenztypP999994429lautet, dann muss der Parametersitesder 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}.