Skip to content

WP Guardian API

はじめに

このトピックは、WP Guardian がインストールされライセンスが付与された VPS を販売したい Plesk パートナーまたは cPanel パートナーを対象としています。 クライアントの VPS に WP Guardian をインストールしてライセンスを付与するために必要な手順と API 呼び出しの例を示します。

前提条件

Plesk または cPanel のパートナーはそれぞれ、対応する API にアクセスできる必要があります: Plesk の場合は Key Administrator、cPanel の場合は Manage2

アクセス権があるということは、API を使用するために必要な認証情報 (Key Administrator の場合は基本の $AUTH_TOKEN、Manage2 の場合はログイン/パスワードのペア) があることを意味します。

上記の認証情報がない場合は、Plesk または cPanel のアカウント マネージャにお問い合わせください。

全体的なアルゴリズムと詳細なスキーム

手順は、クライアントが注文するところ (ステップ 1) から始まり、使用準備のできた VPS をクライアントに提供することで終了します (ステップ 6)。 その間に、次の手順を実行する必要があります。

(2) WP Guardian ユーザーを作成する。

(3) WP Guardian ライセンスを作成する。

(4) 接続文字列スニペットを取得する。

(5) クライアントの VPS で接続文字列スニペットを実行する。

上記のすべての手順は、ステップ 3 を除けば Key Administrator と Manage2 で類似しています。 そのため、Key Administrator と Manage2 を使用して WP Guardian ライセンスを作成する方法について、2 つの別々のセクションで示します。

Key Administrator と Manage2 の違いをよりよく理解できるよう、これらの API の詳細な図を用意しています。 それ以降は、これらの図に示されている番号も使用します (たとえば、API リクエスト 2.1 や応答 4.2)。 テキストの内容が理解できない場合は、以下の図を参照して理解を深めてください。

2. WP Guardian ユーザーを作成する

WP Guardian API 経由でユーザーを作成するには、まず管理トークンを取得する必要があります。 そのためには、WP Guardian の営業担当者または Plesk カスタマーサクセスチームにお問い合わせください。

管理トークンを取得したら、Authorization ヘッダにトークンを追加して次のパターンのリクエストを送信します。

リクエスト 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" }

リクエスト 2.1 が成功すると、次のパターンの応答が返されます。

応答 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" } }

応答には 3 つの値が含まれます。 後で使用するために、そのうちの 2 つ (teamGuiduserToken) を保存します。

  • teamGuid は、WP Guardian ライセンスをアップグレードまたは終了するために使用されます。
  • userToken は、より多くのサーバをユーザーのアカウントに接続するのに役立ちます。

リクエスト 2.1 が正しくない場合は、次のエラー応答が返されます。

エラー応答: 無効なトークン応答

HTTP/1.1 401 Unauthorized

送信された情報を持つユーザーが既に存在する場合は、次のエラー応答が返されます。

エラー応答: ユーザーは既に存在します

HTTP/1.1 409 Conflict

3. WP Guardian ライセンスを作成する (Key Administrator)

各 WP Guardian ユーザーは、一度に 1 つのアクティブライセンスのみを持つことができます。

WP Guardian ユーザーのライセンスは、Key Administrator パートナー API を介して作成します。

ライセンスを作成するには、次のパターンのリクエストを送信します。

リクエスト 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" } ] }

ここで

  • $AUTH_TOKEN は、Key Administrator パートナー API にアクセスするために必要なトークンです。 これは各 Plesk パートナーが持っています。
  • activationInfouid は、応答 2.3 の teamGuid です。
  • itemsitem はライセンスの種類であり、次のいずれかになります。

  • WPG-PLSK-1-1M

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

!!! 注

利用可能なすべての WP Guardian ライセンスの種類のリストを確認するには、["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"`) を参照してください。

リクエスト 3.1 が成功すると、次のパターンの応答が返されます。

応答 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 }

リクエスト 3.1 が正しくない場合は、次のエラー応答が返されます。

エラー応答: 無効なトークン応答

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

ユーザーが既にアクティブなライセンスを持っている場合は、次のエラー応答が返されます。

エラー応答: サードパーティエラー

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

3. WP Guardian ライセンスを作成する (Manage2)

Key Administrator とは異なり、Manage2 は特定のユーザーにバインドされたライセンスの作成をサポートしていません。 まず非アクティブなライセンスを作成し、ライセンスのアクティベーションリンクを生成してから、そのリンクをクライアントに送信します。 クライアントがリンクを開くと、ライセンスがアクティブになり、クライアントにバインドされます。

各ステップをどのように実行するかを見てみましょう。

ステップ 1. 次のパターンの API リクエストを送信して、非アクティブな WP Guardian ライセンスを作成します。

リクエスト 3.1

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

ここで

  • login:password は、Manage2 API にアクセスするために必要なログイン/パスワードのペアです。 これは各 cPanel パートナーが持っています。
  • packageID はライセンスの種類であり、次のいずれかになります。
  • "P999994429": "WP Guardian 500 Sites"
  • "P999994433": "WP Guardian 1000 Sites"
  • "P999994441": "WP Guardian 10000+ Sites Pay As You Go"
  • sites パラメータはライセンスの種類と一致する必要があります。 たとえば、ライセンスの種類が P999994429 の場合、sites パラメータは 500 になります。

!!! 注

利用可能なすべての WP Guardian ライセンスの種類のリストを確認するには、[Manage2 API](https://docs.cpanel.net/manage2/api/manage2-api-list-package-information/){target=_blank} を使用します。

!!! 注

[Manage2 API の出力](https://docs.cpanel.net/manage2/api/manage2-api-list-package-information/){target=_blank}には、「WP Guardian N Sites」と「WP Guardian (cPanel Addon) N Sites Pack」という 2 つの製品が含まれていますが、必要なのは前者です。

リクエスト 3.1 が成功すると、次のパターンの応答が返されます。

応答 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" }

後で使用するために、応答から licenseid 値をコピーする必要があります。

ステップ 2. 次のパターンの API リクエストを送信してアクティベーションリンクを生成します。

リクエスト 3.3

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

ここで、liscid は応答 3.2 の licenseid です。

リクエスト 3.3 が成功すると、次のパターンの応答が返されます。

応答 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 }

ステップ 3. 応答 3.4 で受信したアクティベーションリンクを保存し、クライアントに送信します。 クライアントにリンクを必ず開いてもらう必要があります。 リンクを開くと、ライセンスがアクティブ化され、クライアントにバインドされます。

4. 接続文字列スニペットを取得する

接続文字列スニペットは、WP Guardian API から取得する必要があるスクリプトです。 クライアントのサーバ上でスニペットを実行すると、WP Guardian に接続されます。

スニペットを取得するには、次のパターンの API リクエストを送信します。

リクエスト 4.1

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

ここで、$USER_TOKEN は応答 2.3 の userToken です。

API リクエストが正しければ、次のパターンの応答が返されます。

応答 4.2

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

5. クライアントの VPS でスニペットを実行する

最後のステップは、前のステップで受信した接続文字列スニペットをクライアントの VPS で実行することです。 これが完了すると、WP Guardian が搭載された VPS の準備は完了です。 おつかれさまでした。

スニペットは、クライアントの VPS を WP Guardian に自動的に接続します。 何らかの理由でスニペットが失敗した場合は、[VPS を WP Guardian に手動で接続]( https://docs.wpguardian.io/index.html#connecting-servers-to-wp-guardian){target=_blank} することで問題を解決できます。

Back to top