- プラグイン/テーマに埋め込むスクリプト(提供する商品のコードの設定)
- API(ライセンス)キーの認証をしないと使えないようにする方法(提供する商品のコードの設定)
- API連携商品の作成(WooCommerce の設定)
プラグイン/テーマに埋め込むスクリプト(提供する商品のコードの設定)
WordPressプラグインまたはテーマにドロップして、APIキーを有効/無効にし、ソフトウェアの更新を確認し、WooCommerce API ManagerでAPIキーのステータスを確認できます。
wc-am-client.phpファイルには、プラグインのルートフォルダ、または同じレベルに配置する必要がありfunctions.php、それがテーマであれば、ファイル。以下のコードは、ルートプラグインファイルまたはテーマのfunctions.phpファイルに含まれ、常にファイルの最初のコードである必要があります。
クラス名WC_AM_Clientクラス名の競合がある場合は、以下のコード例では、ライン22と23にWC-AM-client.phpに、しかしこれは起こるべきではありません、あなたのプロジェクトにユニークなものに変更することができますwc-am-client.phpファイルは変更なしで使用され、以下のコード例はwc-am-client.phpファイルをロードするために使用されます。
次のコード例では、プラグインまたはテーマのいずれかのrequire_once()行のコメントを解除します。
変数$wcam_libは、WC_AM_Clientクラスのパブリックメソッドとプロパティにアクセスするために使用できる一意のオブジェクトへの参照であるため、一意の名前を付ける必要があります。
重要:以下のコードブロックは、プラグインヘッダーのすぐ下、またはテーマの関数ファイルの上部に追加する必要があります。以下のコードブロックは常に最初にロードされる必要があるため、常に機能し、プラグインまたはテーマで他の何かが壊れても壊れません。
<?php // Load WC_AM_Client class if it exists.(下記は、wc-am-client.php というファイルをこのファイルと同じディレクトリ内に含めた例。ファイルの読み込みを行います。) if ( ! class_exists( 'WC_AM_Client' ) ) { // これがプラグインなら下記を使用 // require_once( plugin_dir_path( __FILE__ ) . 'wc-am-client.php' ); // これがテーマなら下記を使用 // require_once( get_stylesheet_directory() . '/wc-am-client.php' ); } // Instantiate WC_AM_Client class object if the WC_AM_Client class is loaded.(wc-am-client.php 内に記述したクラス名を呼び出す。) if ( class_exists( 'WC_AM_Client' ) ) { * このファイルは、プラグインヘッダーを含む例にすぎず、このコードはクライアントオブジェクトのインスタンス化に使用されます。 * 変数 $wcam_libを使用して、WC_AM_Clientクラスからパブリックプロパィにアクセスできますが、$wcam_libには一意の名前が必要です。 * オプションテーブルでWC_AM_Clientによって保存されたデータを見つけるには、wc_am_client_{product_id}を検索します。この例では、wc_am_client_13になります。 * ※ この例というのは、このファイルの42行目の例です。 * ここにある下記のすべてのデータはWooCommerce API Manager APIに送信されます。 * ただし、タイトルとし使用される$ software_titleと、クライアントが表示するAPIキーアクティベーション用のメューラベルは除きます。 * * * @param string $file Must be __FILE__ from the root plugin file, or theme functions, file locations. * @param int $product_id Must match the Product ID number (integer) in the product. * @param string $software_version This product's current software version. * @param string $plugin_or_theme 'plugin' or 'theme' * @param string $api_url The URL to the site that is running the API Manager. Example: https://www.toddlahman.com/ * @param string $software_title The name, or title, of the product. The title is not sent to the API Manager APIs, but is used for menu titles. * * Example: * * $wcam_lib = new WC_AM_Client( $file, $product_id, $software_version, $plugin_or_theme, $api_url, $software_title ); */ $wcam_lib = new WC_AM_Client( __FILE__, 13, '1.0', 'plugin', 'http://wc26/', 'Simple Comments' ); }
API(ライセンス)キーの認証をしないと使えないようにする方法(提供する商品のコードの設定)
APIキーでアクティブ化するまでお客様がソフトウェアを使用できないようにするには、ソフトウェアをロードするコードを次のif条件で囲むことができます。
//この行の上に、WC API Manager PHP Libraryをロードするコードがあります 。//これは、ルートプラグインファイルに配置する必要があります。 if($ wcam_lib-> get_api_key_status()){ //ここにプラグインまたはテーマをロードするコード。 //このコードは、APIキーがアクティブになるまで実行されません。 }
API連携商品の作成(WooCommerce の設定)
すべてのAPI製品はバーチャルであり、サービス、ソフトウェア、またはバーチャル空間で製品が表すものとして販売できます。製品は、完全にサポートされているWooCommerceサブスクリプションにすることができます。
リソースにアクセスしてAPI製品を購入するには、購入者はログインをしている必要があります。
- 製品のタイプは、基本的な商品、基本的なサブスクリプション、バリエーションのある商品、バリエーションのあるサブスクリプション、およびグループ化された商品が利用できます。
WooCommerceの [商品] > [新規追加] から商品データへ移動します - ドロップダウンの中から製品のタイプを選択します
- APIのチェックボタンをチェックします
※ドロップダウンで選択した製品をAPI製品にするには、[API]チェックボックスを選択し、変更を保存します。APIチェックボックスがチェックされると、チェックを外すことはできず、ストアから製品を削除することもできません。また、仮想チェックボックスとダウンロード可能チェックボックスもありますが、どちらも必須ではなく、製品画面でこれらのオプションを非表示または表示するだけで、必要に応じて製品をセットアップします。
API Managerがインストールされる前に購入した既存の製品では、APIチェックボックスを選択して製品を更新すると、製品注文APIキーが作成されます。
f製品がダウンロード可能な場合、ダウンロードファイルの保存先として、いくつかのオプションがあります。
- 1つ目は、ローカルサーバーにファイルをアップロードすることです。
このファイルがWordPressプラグイン/テーマの場合、.zipファイルである必要があります。
現時点では、APIマネージャーはダウンロードおよびソフトウェア更新の最新のアップロードを検出するため、製品にはダウンロードファイルが1つだけ存在する必要があります。これらのURLは安全で、オンデマンドで生成され、設定に応じて有効期限が切れますが、60分以内に存在します。 - 2番目のオプションは、Amazon S3 URLを使用することです。これには、API ManagerがAmazon S3セキュアURLを作成するための追加セットアップが必要です。これらのURLは安全で、オンデマンドで生成され、設定に応じて有効期限が切れますが、60分以内に存在します。
- 最後のオプションは、別の場所にあるファイルにリモートURLを提供することです。
ダウンロードの制限とダウンロードの有効期限はもう守られません。APIアクセスを制限するために使用されるサブスクリプションの時間制限のみがあります。
APIアクセスの有効期限
API Access Expiresオプションは、購入した製品であるAPIリソースの時間制限を設定します。値が空のままの場合、時間制限は無期限です。数値(正の整数)は、APIリソースへのアクセスを制限する日数を設定するため、365は1年の制限になります。APIアクセスの有効期限が切れた後、製品を再度手動で購入する必要があります。アクセスの有効期限が切れた後、自動更新はありません。また、現在、お客様のアクセスが期限切れになることを通知する自動メールは送信されません。
基本的な商品・基本的なサブスクリプション
- [商品] > [商品編集] > [API] タブをクリックして移動します
- 製品番号:この一意のIDは変更できません。変更してしまうと、クライアントは製品データにアクセスできなくなります。製品IDは実際の製品IDと一致します。
- バージョン:ソフトウェアのバージョン番号
- ページURL:ソフトウェアページのURL
- 著者:ソフトウェアの作成者
- 必要なバージョン:ソフトウェアに対してWord Pressの必要な最小バージョン
- テスト済みのバージョン:テスト済みのWord Pressの最高バージョン
- PHPバージョンが必要:必要なPHPの最小バージョン
- 最終更新:ソフトウェアが最後に更新されたとき
- アップグレード通知:更新が利用可能になったときに表示される通知
- 無制限のアクティベーション:無制限のアクティベーションを有効にします
- アクティベーションの制限:アクティベーションの数を制限します、空のままだとデフォルトは1です。製品のアクティベーションを制限を引き上げると、製品に含まれている全てのAPIリソースのアクティベーション制限が、一致するように引き上げられます。
- APIアクセスの有効期限:APIアクセスの有効期限が切れるまでの日数を入力します。空白のままだと有効期限は切れません
- 残りのフィールドは、プラグインの「詳細の表示」タブにリンクされたドキュメントです。変更ログを除くすべてのドキュメントはオプションです。ページ/ドキュメントを選択すると、編集リンクが表示されます。表示されるドキュメントは、設定画面で有効/無効にすることができます。
バリエーションのある商品/バリエーションのあるサブスクリプション
バリエーションのある商品の[API]タブにはいくつかの違いがあります。他のすべてのフォームフィールドの説明については、基本的な商品を参照してください。
- 各バリエーション商品に表示されるため、アクティベーションフィールドはありません
- [API]タブに表示される製品番号は親製品専用であり、クライアントソフトウェアでは使用されません
- 親製品の[API]タブに入力された他のすべてのデータは、各バリエーションの対応するフィールドにコピーされ、複数のバリエーションにわたるデータ入力が容易になります
※同じ製品に複数の価格設定オプションが必要な場合、現在のところ、バリエーションのある商品が唯一の実行可能なオプションです。
無料の製品
価格をゼロに設定するだけで、無料の製品を作成できます。また、顧客に割り当てられた注文を作成し、無料で製品を追加することにより、既存の顧客に無料で製品を提供することもできます。無料の製品である無料のAPIリソースにアクセスするには、APIエンドポイントのセキュリティを維持するためにログインが必要なため、顧客はアカウントを作成するか、アカウントを保持する必要があります。