このドキュメントでは、Easy Digital Downloads Slack 連携の設定について説明します。
Webhook の作成
拡張機能を インストールして有効化したら、Downloads > Settings > Extensions > Slack に移動し、まず Slack チームの受信 Webhook を作成します。
これにより、EDD Slack はあなたの代わりに通知を送信できます。つまり、あなたがアクセスできるのと同じチャンネルにのみ通知を送信できます。プライベートチャンネルにアクセスできる場合は、そのプライベートチャンネルに通知を送信できますが、アクセスできないプライベートチャンネルに通知を送信することはできません。
受信 Webhook 連携を作成する際、Slack はどのチャンネルに投稿したいかを尋ねます。これを「デフォルトチャンネル」と考えてください。拡張機能で作成する通知ごとに、必要に応じて異なるチャンネルを指定できます。

受信 Webhook を生成したら、「デフォルト Webhook URL」フィールドに入力し、「変更を保存」をクリックします。これで、通知の作成に進むことができます!
通知の作成
デフォルト Webhook URL が設定されたので、通知を設定する時間です!
EDD Slack を使用すると、Slack チームの指定された任意のチャンネルに送信される通知を無制限に設定できます。拡張機能の設定ページに移動し、「Slack 通知を追加」をクリックして設定フォームを表示するだけです。これらの設定は後でいつでも編集できます。

各フィールドの機能の説明は次のとおりです。
- この通知の識別子:このフィールドは単なるラベルであり、保存された通知のどれが何をするかを判断するのに役立ちます。好きなものを入力できます。何も入力しない場合、デフォルトで「新しい Slack 通知」になります。
- Slack トリガー:この通知が Slack にメッセージを送信する原因となるトリガーを定義します。これは、Easy Digital Downloads 内のアクション、またはサポートされている別の Easy Digital Downloads 拡張機能のアクションである可能性があります。トリガーの選択に基づいて、フォームに追加のフィールドが追加され、メッセージのプレテキスト、メッセージのタイトル、およびメッセージフィールドの異なるテキスト置換が利用可能になり、通知に関する適切な情報が Slack に渡されるようになります。
- メッセージ事前テキスト: メッセージタイトルの上に表示されるオプションのテキスト。
- メッセージタイトル: これにより、メッセージタイトルを制御できます。何も入力しない場合、これは上記の通知識別子のデフォルトになります。
- メッセージ: これはオプションのフィールドで、事前テキストとタイトルの下の通知内に、より説明的なテキストを入力できます。
- Slack Webhook URL: 特別なケースで使用するための代替Webhook URLを許可します。これは、デフォルトWebhookで定義されているチームとは異なるチームに通知を送信する必要があるイベントで使用できます。
- Slackチャンネル: これにより、この特定の通知のWebhookのSlackチャンネルをオーバーライドできます。チーム内の特定のSlackユーザーに通知を送信する場合は、
@username構文を使用してください。Webhookで定義されたデフォルトチャンネルの場合は空白のままにしてください。覚えておいてください、このチャンネルはWebhook URLの作成者がアクセスできるものでなければなりません! - 色: Slackに送信されるメッセージには、メッセージの前にバーにこの色が付きます。
- ユーザー名: メッセージが表示されるユーザーの名前を定義します。ユーザーはSlackに存在するとは限らず、好きなように設定できます。これはWordPressサイトの名前にデフォルト設定されます。
- アイコン絵文字または画像URL: 通知に使用されるデフォルトの画像または絵文字が気に入らない場合は、このフィールドでカスタムグラフィックを指定できます。このフィールドには、作成したカスタムSlack絵文字を設定することもできます。
- 選択したSlackトリガーによっては、追加のフィールドも表示されます。たとえば、これにより、どのダウンロードに対してトリガーが通知を送信するかを指定できます。
Slackトリガーを選択すると、フォームにフィールドとテキスト置換タグが追加されます。たとえば、「購入完了」トリガーを選択した場合に表示される内容は次のとおりです。

テキスト置換タグにより、トリガーに関する情報を通知の内容に追加できます。これにより、購入のカートの内容、合計、および選択したトリガーに基づくその他の情報を確認できます。
フォームがお好みの設定になったら、フォームの下部にある「Slack通知を保存」ボタンをクリックします。これによりフォームが閉じ、元の画面に戻り、通知が緑色に点滅して保存されたことを示します。緑色のチェックマークは、通知がアクティブであることを示します。おめでとうございます、最初のSlack通知を設定しました!
緑色のチェックマークの代わりに赤い「X」が表示された場合は、通知は非アクティブです。これは、次の1つ以上の理由で発生する可能性があります。
- Webhook URLがデフォルトとして設定されていないか、フォームの一部として提供されていません。
- フォームが保存されずに閉じられました。
- 以前に保存された通知が、利用できなくなったトリガーを使用していました。EDD Slackと統合するプラグインが無効になった場合に発生する可能性があります。

Slack アプリの設定
これらの手順はオプションですが、EDD Slack内の追加機能をアンロックします。これらの手順に従うと、Slack通知内のボタンをクリックしてSlack通知から直接サイトでアクションを実行できるようになるほか、スラッシュコマンドを使用してサイトからデータを返すことができるようになります。
注意:続行するには、サイトでSSLが有効になっている必要があります!
サイトでSSLが有効になっている場合、作成されたSlack通知の下に追加のオプションが表示されます。

このセクションの上部には、インタラクティブボタンをサポートする利用可能なトリガーのリストが表示されます。何も表示されない場合でも、スラッシュコマンドを使用するためにこれを設定することからメリットを得ることができます!
この機能は、Slackアプリをウェブサイトにリンクすることに基づいています。開始するには、「新しいアプリを作成」ボタンをクリックして、リンクをたどって独自のSlackアプリを作成してください。
最初にSlackアプリをリンクする:

アプリ名は任意に設定できます。これは、スラッシュコマンド内でデータを返す際の「ユーザー名」として使用されます。ワークスペースフィールドは、EDDストアをリンクしたいチームである必要があります。「アプリを作成」をクリックして続行します。
次の画面で、ページの下部にあるアプリの認証情報セクションに、SlackアプリのクライアントID、クライアントシークレット、および検証トークンが表示されます。これらをEDD Slack設定(ダウンロード > 設定 > 拡張機能 > Slack)に入力し、画面下部にある「変更を保存」をクリックします。
「Slackアプリをリンク」ボタンをクリックできるようになる前に、SlackアプリのリダイレクトURLを定義する必要があります。作成したSlackアプリの設定に戻ります:
- 画面左側の「OAuth & パーミッション」をクリックします。
- 「新しいリダイレクトURLを追加」をクリックします。
- https://yoursite.com/wp-admin/edit.php?post_type=download&page=edd-settings&tab=extensions§ion=edd-slack-settings を入力します。ここでyoursite.comはサイトのドメインです。フィールドの右側にある「追加」をクリックします。
- 下部にある「URLを保存」をクリックします。

これでEDD Slack設定ページに戻り、「Slackアプリをリンク」ボタンをクリックできます。これにより、新しいウィンドウがポップアップ表示され、サイトにSlackアプリを承認するために、以前に設定したチームにサインインします。以前のWebhook URLと同様に、これは、選択したチーム内でSlackアプリをサイトにリンクしたSlackユーザーがアクセスできるのと同じチャネルに制限されることを意味します。

承認されると、ポップアップウィンドウは自動的に閉じ、EDD Slack設定ページがリフレッシュされ、「Slackアプリが正常にリンクされました」というメッセージが表示されます。
この手順が完了したため、サイトでAPIエンドポイントが開かれました。これらは、インタラクティブ通知とスラッシュコマンドの両方で使用されます。
次の手順は、インタラクティブ通知、次にスラッシュコマンドを構成することです。
インタラクティブ通知
EDD Slackのインタラクティブ通知を設定するには、Slackアプリの設定に戻り、画面左側の「インタラクティビティとショートカット」をクリックしてください。
右上にあるオフトグルをクリックして有効にし、https://yoursite.com/wp-json/edd-slack/v1/slack-app/interactive-message/submitをリクエストURLフィールドに入力します。ここでyoursite.comはサイトのドメインです。完了したら、「変更を保存」をクリックしてください。

スラッシュコマンド
スラッシュコマンドは、Slackで特定の操作を行うためのショートカットとして機能し、EDDストアと対話するために使用できます。
スラッシュコマンドを設定するには、Slackアプリの設定内で「スラッシュコマンド」をクリックし、「新しいコマンドを作成」をクリックします。これにより、スラッシュコマンドの設定を入力するウィンドウが表示されます。
EDD Slackは単一のスラッシュコマンドを利用し、渡されたパラメータに基づいて異なる関数にルーティングします。以下は/eddコマンドの例です。
- コマンド: /edd「コマンド」を/eddに設定することをお勧めしますが、/webstoreやその他の名前を付けることも可能です。
- リクエストURL: https://yoursite.com/wp-json/edd-slack/v1/slack-app/slash-command/submit yoursite.comはウェブサイトのドメイン名です。
- 短い説明: EDDから情報を取得
- 使用方法のヒント: 「/edd help」を実行して使用方法のヒントを表示
- チャンネル/ユーザーのエスケープ: ほとんどの場合、チェックを外したままで構いません。これをオンにすると、ユーザーがコマンドと共に送信するパラメータが変更されます。詳細はこちらこちら

スラッシュコマンドは、アクセス可能な任意のチャンネルで/edd helpと入力してテストできます。インタラクティブ通知は、該当する場合は通常の通知の代わりに使用されます。
この拡張機能には、Slack内で実行できるいくつかの便利なコマンドがあり、サイトに実際にログインすることなく、WordPressサイトからデータを取得したり、新しいものを作成したりできます。
Slackにはすでに/remindコマンドのような便利なスラッシュコマンドが多数含まれています。EDD Slackは、Easy Digital Downloadsのユーザーに特化した新しいコマンドをいくつか導入しています。
EDD Slackに含まれるすべてのスラッシュコマンドを表示する最も簡単な方法は、Slackに/edd helpと入力することです。これはどこでも実行でき、結果はあなたにのみ表示されます。結果は次のようになります。
*/edd sales*
Description: Show an Earnings Report for the Selected Time Period
Example: `/edd sales this_month`
Option(s): `today`, `yesterday`, `this_week`, `last_week`, `this_month`, `last_month`, `this_quarter`, `last_quarter`, `this_year`, `last_year`
Default: `this_month`
*/edd version*
Description: Outputs the current version of Easy Digital Downloads.
Example: `/edd version`
*/edd discount*
Description: Outputs information about a Discount Code. This can also be used to create new Discount Codes.
Examples:
`/edd discount DISCOUNTCODE` - Retrieve information about a Discount Code
`/edd discount DISCOUNTCODE $3.50` - Create or Update a Discount Code with a Flat Rate Discount
`/edd discount DISCOUNTCODE 42%` - Create or Update a Discount Code with a Percentage Discount
*/edd customer*
Description: Outputs information about a Customer. You can use either their Customer ID or their Primary Email Address for this command.
Examples:
`/edd customer 42`
`/edd customer [email protected]`
*/edd help*
Description: Shows this Dialog. Optionally can show the Help Dialog for a Single Command.
Example: `/edd help`
Option(s): `sales`, `version`, `discount`, `customer`
/edd help/edd sales/edd version/edd discount/edd customer
Slack チーム招待の設定
この機能を有効にするには、あなた自身のSlackユーザーアカウントにユーザーを招待するために必要な権限が必要です。これは通常、Slackチーム管理者に reserved されています。インタラクティブメッセージやWebhook URLと同様に、これはSlackユーザーの機能の一部を継承します。ユーザーを招待できない場合、Slackアプリもユーザーを招待できません。
顧客をSlackチームに自動招待する機能は、インタラクティブ通知とスラッシュコマンドが既に有効になっている必要がある拡張機能に存在します。
インタラクティブ通知とスラッシュコマンドを有効にすると、EDD Slack設定にSlackチーム招待を有効にする新しいボタンが表示されます。

このボタンをクリックすると、以前にインタラクティブメッセージとスラッシュコマンドを設定したときと同様のポップアップウィンドウが表示されます。これは、Slackアプリにさらに多くの権限を付与する必要があるためです。
表示されるウィンドウには、Slackアプリにすべてのコンテンツとすべてのイベントにリアルタイムでアクセスする権限を付与していることが表示されます。これは、顧客とSlackユーザーを招待するために、Slackアプリが完全なSlackクライアントとしてのすべての権限を必要とするためです。これは、顧客をSlackチームに招待するためだけにのみ使用されます。

これが完了すると、いくつかの新しいオプションが表示されます。これにより、顧客向けのSlackチーム招待、およびベンダー向けのSlackチーム招待(フロントエンド提出拡張機能がサイトでアクティブな場合)を有効にすることができます。
新しく招待されたすべてのSlackユーザーは、デフォルトで#generalチャンネル(または名前を変更した場合)に自動招待されます。ただし、この画面では、招待したい追加の公開チャンネルを定義できます。Slackチームからすべての公開チャンネルを取得するため、ドロップダウンから希望するチャンネルを選択するだけです。

「Slackチーム参加テキスト」フィールドは、顧客/ベンダーにSlackチームへの招待オプションを提供するときに表示されるテキストを調整します。顧客の場合はチェックアウトページに、ベンダーの場合はWordPressダッシュボードのベンダー登録ページに表示されます。

また、「ツール」タブの下の顧客ページから顧客を手動で招待することもできます。また、フロントエンド提出拡張機能を使用している場合は、WordPressダッシュボードの「プロフィール」タブの下のベンダーページからベンダーを招待することもできます。

利用可能な EDD Slack 連携

Easy Digital Downloads – フロントエンド提出

フロントエンド提出がアクティブな場合、次のトリガーが利用可能になります。
- 新規ベンダー申請
- 新規ベンダー製品(ベンダーが製品を作成する権限を与えられている場合)
- ベンダー製品編集(ベンダーが自分の製品を編集する権限を与えられている場合)
- 新規ベンダー問い合わせフォーム送信
- 新規ベンダーフィードバック(レビューもアクティブである必要があります)
インタラクティブ通知サポート
次のフロントエンド提出トリガーは、さまざまな条件が満たされている場合に、インタラクティブ通知をサポートします。次のベンダーアクションをSlackから直接承認または拒否できます。
- 新規ベンダー申請(新規ベンダー申請が自動承認に設定されていない場合)
- 新規ベンダー製品(新規ベンダー製品が自動承認に設定されていない場合)
- ベンダー製品編集(ベンダー製品の新規編集が自動承認に設定されていない場合)
Easy Digital Downloads – ソフトウェアライセンス
ソフトウェアライセンスがアクティブな場合、次のトリガーが利用可能になります。
- 新規ライセンスキー生成
- ライセンスキーがアクティブになりました
- 注意: ライセンス画面から手動でアクティブにしても、これはトリガーされません。
- ライセンスキーが無効になりました
- 注意: ライセンス画面から手動で無効にしても、これはトリガーされません。
- ライセンスがアップグレードされました
Easy Digital Downloads – 手数料
手数料がアクティブな場合、以下のトリガーが利用可能になります:
- 新しい手数料
Easy Digital Downloads – 購入制限
購入制限がアクティブな場合、以下のトリガーが利用可能になります:
- 購入制限に達しました
ダウンロードへのコメント(有効な場合)
厳密には「インテグレーション」ではありませんが、デフォルトではEasy Digital Downloadsはダウンロードへのコメントをサポートしていません。ただし、自分で、または別のプラグインを通じて有効にした場合、以下のトリガーが利用可能になります:
- ダウンロードへの新しいコメント
インタラクティブ通知サポート
このインタラクティブ通知は、サイトでコメントを手動で承認するように設定されている場合とそうでない場合で、2つのバージョンがあるという点でユニークです。
サイトでコメントを手動で承認している場合、コメントを承認するか、スパムとしてマークすることができます。それ以外の場合は、スパムとしてマークすることしかできません。
サーバーサイドキャッシュに関する注意:
ライセンスのアクティベーショントリガーは、EDDのWeb API経由のアクティベーション/ディアクティベーションに特化するようになりました。
これは、サーバーサイドキャッシュのため、一部のサーバー構成で問題を引き起こす可能性があります。edd_action=activateおよびedd_action=deactivateのURLパラメータは、すべてが正しく機能するように、サイトのホームページからキャッシュを除外する必要があります。
Easy Digital Downloads – レビュー
レビューがアクティブな場合、以下のトリガーが利用可能になります:
- ダウンロードへの新しいレビュー
- 新しいベンダーフィードバック(Frontend Submissionsもアクティブである必要があります)
Easy Digital Downloads – 不正モニター
不正モニターがアクティブな場合、以下のトリガーが利用可能になります:
- 不正の疑いのある購入
インタラクティブ通知サポート
インタラクティブ通知を使用して、Slackから直接支払いを有効とマークしたり、不正とマークしたりできます。これを行うと、支払いに関連付けられたログに実行されたアクションが表示され、EDD Slack経由で、どのSlackユーザーによって実行されたかが示されます。
Easy Digital Downloads – 定期払い
定期払いがアクティブな場合、以下のトリガーが利用可能になります:
- 新しいサブスクリプションが作成されました
- サブスクリプションがキャンセルされました
