拡張ライセンス付きで Plesk ライセンスを販売する

クリーンな Plesk インスタンスに多数の有料の拡張を組み合わせて販売したい場合、この方法を使用します。この方法は、アプリ内課金シナリオには対応しません。

詳しい実装方法

  1. Plesk および再販したい拡張をオンラインストアで購入可能にする必要があります。
  2. 顧客から注文があったら、KA パートナー API 経由で KA にコンタクトして、注文された商品のライセンスをリクエストする必要があります。
  3. リクエストされたライセンスを KA が作成し、これらのライセンス用にアクティベーションコードを 1 つ送信します。KA のパートナー API には、v1 と v3 という 2 つのバージョンがあります。
    1. パートナー API v1 (廃止、推奨しません):
      1. メインの Plesk キーと複数の拡張用追加キーを一度にリクエストできます( createKey() を参照してください)。
      2. メインの Plesk ライセンスとすべての追加ライセンスキーの両方に対して、アクティベーションキーを 1 つだけ使用します。
    2. パートナー API v3 (推奨):
      1. 一度のコールで 1 つのキーのみリクエストできます(メイン Plesk キーまたは 1 つの拡張の 1 つの追加キー)(「 Creating a License Key 」を参照してください)。
      2. メインの Plesk ライセンスとすべての追加ライセンスキーの両方に対して、アクティベーションキーを 1 つだけ使用します(別々の API コールでリクエストされた追加キーがメインのライセンスに紐付けられます。メインの Plesk ライセンスのアクティベーションキーにより、紐付けられたすべての追加キーもアクティブ化されます)。
  4. ストアにアクティベーションコードが届いたら、このコードを顧客に提供することができますが(ストアの UI またはメールで)、あるいは(できれば)、顧客に対して作成した Plesk インスタンスで CLI コマンドを実行してライセンスをアクティブ化することをお勧めします。CLI 経由でライセンスをアクティブ化するには、「license」ユーティリティを使用します( Plesk for LinuxPlesk for Windows )。

拡張のアプリ内アップセル

既にプロビジョンした Plesk インスタンスに対し、オンラインストアで拡張をアップセルしたい場合、この方法を使用します。顧客が Plesk の拡張カタログで[今すぐ購入]ボタンをクリックすると、御社のオンラインストアが開き、顧客は注文を完了できます。

KA との統合

  1. 顧客から注文があったら、KA パートナー API 経由で KA にコンタクトして、購入された拡張のライセンスをリクエストする必要があります。API コールの引数で、メインの Plesk キー番号を渡します。
  2. リクエストされた拡張ライセンスを KA が作成し、メイン Plesk ライセンスに紐付けます。
  3. ライセンスのリクエストには、パートナー API v1 または v3 を使用できます。
    1. パートナー API v1 (廃止、推奨しません):一度のコールで拡張ライセンスを 1 つ作成し、メイン Plesk キーに紐付けます( createKey() を参照してください)。
    2. パートナー API v3 (推奨):一度のコールで拡張ライセンスを 1 つ作成し、メイン Plesk キーに紐付けます(「 Creating a License Key 」を参照してください)。

パートナー API 経由で拡張ライセンスを注文した後、ライセンスはメイン Plesk ライセンスに紐付けられます。この拡張ライセンスが Plesk サーバにインストールされるのは、次に Plesk がメイン Plesk ライセンスの更新のために KA に接続したときです(通常、これには 1 日から 1 ヶ月かかります)。顧客は以下の手順を実行し、拡張ライセンスを直ちにインストールすることもできます(これは、たとえばオンラインストア UI で実行できます)。

  1. 左側のナビゲーションで、 [ツールと設定] をクリックします。
  2. [ライセンス管理] をクリックします(Plesk の下)。
  3. [キーを取得] をクリックし、Plesk に新しいライセンスをインストールします。

御社のオンラインストアに顧客を転送する

デフォルトで、顧客が Plesk 内の拡張カタログで[今すぐ購入]ボタンをクリックすると、御社のストアではなく Plesk ストアが開きます。 panel.ini ファイルに御社のストアのホスト名を指定することで、この挙動を変更できます。このストアホスト名をカスタマイズすると、拡張内に表示されるすべての[今すぐ購入]リンクとその他のアップセルリンクから御社のオンラインストアが開くようになります。

[今すぐ購入]リンクのリンク先オンラインストアの URL を変更するには、 panel.ini ファイルを編集して、 [extensions] セクションに以下の行を追加します。

[extensions]
buyUrl = "https://shop.com"

ここで「shop.com」は、オンラインストアのドメイン名です。

次のように機能します。

  • 拡張で使用されるオリジナル URL:

    https://go.plesk.com/buy-plesk-ext/some-extension-name?kn=PLESK.12345678.0001&token=U29NZVVuaXF1ZUdVSUQxMjM%3D&product-id=SomeProductID
    

    panel.ini ファイルにストアのホスト名を指定した後、拡張で使用されるようになる変更後の URL: https://shop.com/?extension-id=some-extension-name&kn=PLESK.12345678.0001&token=U29NZVVuaXF1ZUdVSUQxMjM%3D&product-id=SomeProductID

ライセンス購入のワークフローは、「単独オファー」および「複数オファー」のライセンスモデルでは以下のようになります。

image-a

顧客が[今すぐ購入]をクリックするたびに、顧客に対して御社のオンラインストアが表示されます。変更後の URL で渡されるパラメータを御社のオンラインストアで処理できることを確認してください。

パラメータ名 説明
extension-id extension-id=some-extension-name

拡張の ID。 拡張とその ID(「コード」)のリストはこちらを参照してください

リクエストされた拡張に適したパートナー API 定数を選択し、パートナー API コールに含めてください。パートナー API 定数のリストは以下にあります。

  • パートナー API v1( ExcelJSON
  • パートナー API v3( ExcelJSON

なお、Excel ファイルでは「Extension ID」が extension-id に該当し、JSON ファイルでは「extensionId」が extension-id に該当します。

kn kn=PLSK.12345678.0001 メイン Plesk キー番号。パートナー API コールで、このキー番号を親キー番号として渡します。
token token=U29NZVVuaXF1ZUdVSUQxMjM%3D

オプションのパラメータ。「個別オファー」ライセンスモデルのみで必要です。

このライセンスモデルでは、ウェブサイト所有者が必要に応じて製品とサービスを自分で購入します。これは、エンドユーザが注文するためのリンクを Plesk UI に追加することで実現します。まず、エンドユーザは必要なウェブサイトを選択し、次に拡張で提供されている製品の中から必要な製品を選択してから、オンラインストアに進んでこの注文を確定します。

product-id パラメータには、顧客が選択した製品の ID が保持されます。リクエストされた拡張と製品に適したパートナー API 定数を選択し、パートナー API コールに含めてください。extension-id と product-id で適切なパートナー API 定数を確認するには、以下のリンク先を使用します。

  • パートナー API v1( ExcelJSON
  • パートナー API v3( ExcelJSON

なお、Excel ファイルでは「Extension ID」と「Extension Product ID」がそれぞれ extension-idproduct-id に該当し、JSON ファイルでは「extensionId」と「extensionProductId」がそれぞれ extension-idproduct-id に該当します。

token パラメータは拡張自体によって生成され、注文の一意の ID が保持されます。この ID は、拡張が ISV 側での注文のステータスを追跡するために必要です。このパラメータは以下の方法で処理する必要があります。

  1. まず、 URL エンコード メカニズムに従ってデコードする必要があります。
  2. 次に、BASE64 エンコードに従ってデコードする必要があります。
  3. 次に、パートナー API コールで KA に渡される必要があります。
product-id product-id=SomeProductID  

ライセンス購入のワークフローは、「個別オファー」のライセンスモデルでは以下のようになります。

image-b

注釈: この機能の影響を受けるのは、Plesk から販売された、宛先ホスト名が「go.plesk.com」である拡張のみです。ISV から直接販売された拡張の場合、「今すぐ購入」リンクやその他のアップセルリンクに影響はありません。

表示・販売したい拡張のコントロール方法

上記のように「今すぐ購入」リンクの URL を変更すると、今後拡張カタログに追加されるものを含め、あらゆる有料の拡張が(たとえまだセットアップしていなくても)御社のストアに紐付けられるようになります。Plesk 拡張カタログ用にスマートプロキシサーバを構成することによって、販売の準備が整った有料の拡張のみを顧客に表示できます。このプロキシサーバは、拡張カタログのフィードを受信し、販売準備ができていない拡張を除外してから、御社の Plesk インスタンスに修正後のフィードを提供します。

詳しい実装方法:

  1. プロキシスクリプトを実行するサーバ(物理または仮想)をセットアップします。

  2. サーバに プロキシスクリプト をダウンロードします。このリンクには、スクリプトのデプロイ方法と操作方法の説明が含まれています。

  3. 御社の Plesk サーバに表示すべき有料の拡張のみが通過するようにプロキシを構成します。プロキシはホワイトリストとして機能します。Plesk に表示すべき有料の拡張の ID を指定する必要があります。他のものは一切表示されません。

    注釈: このプロキシは、「今すぐ購入」リンクのリンク先が「https://go.plesk.com」になっている拡張にのみ影響を与えます。無料の拡張および「今すぐ購入」ボタンが他の場所をポイントする拡張は、プロキシによってフィルタされません。プロキシの設定を問わず、御社の Plesk サーバの拡張カタログに表示されます。

  4. 御社のすべての Plesk サーバで拡張カタログフィードの URL を変更し、プロキシサーバのアドレスをポイントさせます。これには、 panel.ini ファイル に以下の行を追加します。

    [extensions]
    catalog.url = http://<proxy-address>:8080
    
  5. 拡張カタログで新しい有料の拡張が使用可能になり、御社のストアでこの拡張を販売するように設定したら、プロキシを変更してこの拡張の ID を追加します。これにより、この拡張がプロキシを通過するようになり、顧客が購入可能になります。カタログフィードは Plesk サーバにキャッシュされます。新しい拡張は瞬時に表示される訳ではありません。

以下の図は、拡張カタログでプロキシスクリプトをどのように使用できるかを示しています。

image-new-one