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