通知テンプレートを使用して通知を設定する

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

通知テンプレートとは何ですか?

Monetization には、さまざまな種類のイベント通知のサンプル テキストを定義する一連のテンプレートが用意されています。これらのテンプレートをカスタマイズして、次のことができます。

  • 新しいプロダクト、利用規約の新しいバージョン、新しい料金プランなどのイベントについて、すべてのデベロッパーに通知します。
  • 影響を受けるデベロッパーに、料金プランの改訂などのイベントについて通知します。
  • デベロッパー関連のイベント(デベロッパーがアカウントに登録したときや、デベロッパーが料金プランに登録したときなど)について、API プロバイダに通知します。
  • 特定のイベントについて会社のすべての管理者に通知する。

または、HTTP コールバック ハンドラを定義する Webhook を作成してから、Webhook を使用して通知を設定するで説明されているように、Webhook をトリガーする条件を構成します。

[通知] ページの使い方

次の手順で [通知] ページにアクセスします。

Edge

Edge UI を使用して [通知] ページにアクセスするには:

  1. apigee.com/edge にログインします。
  2. 左側のナビゲーション バーで [公開] > [収益受け取り] > [通知] を選択します。

[通知] ページが表示されます。

図でハイライト表示されているように、[通知] ページでは次のことができます。

従来の Edge(Private Cloud)

Classic Edge UI を使用して [通知] ページにアクセスするには:

  1. http://ms-ip:9000 にログインします。ここで、ms-ip は Management Server ノードの IP アドレスまたは DNS 名です。
  2. 上部のナビゲーション バーで [管理] > [通知] を選択します。

[通知] ページでは、以下のことができます。

通知の編集

UI を使用して通知を編集するには:

  1. [通知] ページにアクセスします。
  2. 編集する通知の横にある をクリックして、詳細を開きます。
  3. 必要に応じて、[Subject]、[Body]、[Recipient](使用可能な場合)の各フィールドを編集します。

    通知テンプレート内で指定できる変数については、通知テンプレートでの変数の使用をご覧ください。

    各カテゴリで通知を編集する方法について詳しくは、以下のセクションをご覧ください。

  4. 通知の横のチェックボックスをオンにして、通知を有効にします。
  5. 他の通知を編集するには、手順 2 から 4 を繰り返します。
  6. [保存] をクリックしてすべての変更を保存します。

通知が保存されたことを確認するメッセージが表示されます。保存オペレーションには数分かかることがあります。

すべてのデベロッパーに通知するための通知を編集する

[すべてのデベロッパーに通知] で選択したタイプのイベントの通知が、すべてのデベロッパーに送信されます。

通知は一日の終わりに実行されるようにスケジュールされています。通知が送信されると、イベントのチェックボックスが自動的にクリアされます。関連するイベントタイプの通知をスケジュール設定するには、これらを再度選択する必要があります。

次の表に、[すべてのデベロッパーに通知] セクションのイベントタイプ別の通知を示します。 詳細については、UI を使用して通知を編集するをご覧ください。

イベントタイプ トリガー メモ
新しいパッケージ 新しい API パッケージをご利用いただけます

更新の一環として、新しい各パッケージ(および各パッケージに含まれる商品)の名前をメール テンプレートの本文に追加します。通知に関する詳細情報を提供するデベロッパー ポータルまたはその他のウェブサイトへのリンクを追加することもできます。

新しいプロダクト 新しい API プロダクトをご利用いただけます

更新の一環として、新しい各プロダクトの名前をメール テンプレートの本文に追加してください。通知に関する詳細情報を提供するデベロッパー ポータルまたはその他のウェブサイトへのリンクを追加することもできます。

新規市場/対応範囲 特定の地理的市場で新しい API プロダクトを利用可能

更新の一環として、新しい市場と関連するプロダクトの名前をメール テンプレートの本文に追加してください。通知に関する詳細情報を提供するデベロッパー ポータルまたはその他のウェブサイトへのリンクを追加することもできます。

通知を編集して影響を受けるデベロッパーに通知する

[影響を受けるデベロッパーに通知する] セクションで選択したイベントタイプの通知は、そのタイプのイベントの影響を受けるデベロッパーにのみ送信されます。 たとえば、改訂版料金プランのイベントを選択すると、料金プランを承認したデベロッパーにのみ通知が送信されます。

次の表に、影響を受けるデベロッパーへの通知のセクションに記載されているイベントタイプ別の通知を示します。 詳細については、UI を使用して通知を編集するをご覧ください。

イベントタイプ トリガー メモ
利用規約に同意していない、または有効期限が切れている 新しい利用規約が公開されましたが、デベロッパーはまだ同意していません

この通知は、新しい利用規約が施行される 30 日前、7 日前、1 日前に送信されます。

新しい料金プラン 新しい料金プランが公開されました

料金プランが次の条件の場合:

  • Standard プランでは、すべてのデベロッパーに通知が届きます。
  • デベロッパー カテゴリの料金プランでは、そのカテゴリのデベロッパーのみに通知されます。
  • 特定のデベロッパーのみに通知されます。
料金プランの改訂 購入した料金プランの新しいバージョンをご利用いただけます

通知は、最新バージョンを購入したデベロッパーにのみ通知されます。この通知により、デベロッパーは新しいバージョンを確認し、新しい料金に同意しない場合はプランを終了するか切り替えることができます。

料金プランの期限切れ 料金プランが期限切れでフォローアップの料金プランがない

この通知は、料金プランの有効期限を最初に設定したときに送信され、追加の通知は、有効期限の 30 日前、7 日前、1 日前に送信されます。期限切れになる料金プランを購入したデベロッパーにのみ通知されます。

更新された料金プラン 料金プランの定期購入が更新されました。

該当する手数料がかかることをデベロッパーに伝えます。

レート制限を超過 料金プランの上限を超えています

該当する手数料がかかることをデベロッパーに伝えます。

フリーミアム料金プランの終了 トランザクション数または日数で測定される無料使用期間を使い切った

無料使用期間は、フリーミアムの料金プランで定義されます。

請求書類を公開しました

デベロッパー向けの請求ドキュメント(請求書など)が用意されている。

デベロッパーが新しい料金プランに登録する デベロッパーが新しい料金プランに登録する。

API プロバイダに通知するための通知の編集

[通知 API プロバイダ] セクションで選択したイベントタイプの通知が、指定した API プロバイダに送信されます。

次の表に、Notify API Provider セクションのイベントタイプ別の通知を示します。詳細については、UI を使用して通知を編集するをご覧ください。

イベントタイプ トリガー
新しいデベロッパーの登録

デベロッパーがアカウントを登録しました。

デベロッパーがアプリを追加する

デベロッパーが新しいアプリケーションを作成しました。

デベロッパーが新しい料金プランに申し込む

デベロッパーが料金プランに登録した。

デベロッパーが財務情報を変更する

デベロッパーが財務情報(会社名や会社の住所など)を変更した。

通知の有効化または無効化

UI を使用して通知を有効または無効にするには:

  1. [通知] ページにアクセスします。
  2. 通知の横のチェックボックスをオンまたはオフにします。
  3. [保存] をクリックしてすべての変更を保存します。

保存オペレーションには数分かかることがあります。通知が保存されたことを確認するメッセージが表示されます。

API でテンプレートを使用して通知を設定する

以降のセクションで説明するように、API を使用して通知を設定します。

API で通知テンプレートを管理する

以降のセクションで説明するように、API を使用して通知テンプレートを管理します。

API を使用したすべての通知テンプレートの表示

/mint/organizations/{org_name}/notification-email-templates に GET リクエストを発行すると、収益化によって提供されるすべての通知テンプレートを一覧表示できます。例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/notification-email-templates" \
  -u email:password

たとえば、次のイベント テンプレートは、新しい API プロダクトの提供状況をデベロッパーに通知します。

{
    "createdDate" : 1376975394984,
    "htmlImage" : "<p>Dear ${developer.legalName} , ${developer.name} <br /> Introducing _________. For more details visit us at _________________</p>",
    "id" : "4d81ea64-d005-4010-b0a7-6ec8a5c3954b",
    "name" : "DEFAULT_NEW_PRODUCT_TEMPLATE",
    "orgId" : "myorg",
    "source" : "Mail Man Test",
    "subject" : "Notification of new product",
    "updatedDate" : 1376975394984
}

API を使用した通知テンプレートの表示

通知テンプレートを表示するには、GET リクエストを /mint/organizations/{org_name}/notification-email-templates/{template_id} に発行します。ここで、{template_id} はテンプレートの ID です。例:

curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/notification-email-templates/4d81ea64-d005-4010-b0a7-6ec8a5c3954b" \
  -H "Accept:application/json"  \
  -u email:password

テンプレート内の「$」で始まる項目は変数です。詳細については、通知テンプレートでの変数の使用をご覧ください。通知内の変数が、次の値と評価されたとします。

  • ${developer.legalName}.XYZ company
  • ${developer.name}.DEV1
  • ${QUOTA_TYPE}.Transactions
  • ${PERCENT}.90%
  • ${QUOTA_UNIT}.Calls
  • ${QUOTA_LIMIT}.100
  • ${ratePlan.monetizationPackage.products.name}.X
  • ${EXPIRY_DATE}.2016-09-30

テンプレートによって提供される通知メッセージは次のようになります。

    "Dear XYZ company, DEV1
    You have exceeded Transactions of 90% calls of 100 calls for X product. Your API calls will be blocked till 2016-09-30"

API を使用した通知テンプレートの編集

PUT リクエストを /nint/organizations/{org_name}/notification-email-templates/{template_id} に送信して、通知テンプレートを編集します。テンプレートの変更内容をリクエストの本文に指定します。

通知テンプレートでメッセージをカスタマイズする場合は、1 つ以上の変数を含めることができます。詳細については、通知テンプレートでの変数の使用をご覧ください。

たとえば、次のリクエストは、新しい API プロダクト通知の内容を編集します。

curl -X PUT "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/notification-email-templates/4d81ea64-d005-4010-b0a7-6ec8a5c3954b " \
  -H "Content-Type: application/json" \
  -d '{
    "id" : "4d81ea64-d005-4010-b0a7-6ec8a5c3954b",
    "htmlImage" : "<p>Exciting news, we have added a new product :${Product.name}. See details in <a href="${Product.url}">New Products</a> </p>",
    "name" : "NewProductNotification",
    "organization": {
    "id": "{org_name}"
    },
    "source" : "Mail Man Test ",
    "subject" : "New Product Available: ${Product.name}"
  }' \
  -u email:password

API を使用して通知の条件とアクションを管理する

以降のセクションで説明するように、API を使用して通知の条件とアクションを管理します。

API を使用した通知条件とアクションの作成

/mint/organizations/{org_name}/notification-conditions に POST リクエストを発行して、自動通知となる通知条件とアクションを作成します。

リクエストを行う際、リクエスト本文で、通知になる条件と、その条件に達したときに行うアクション(通知メールの送信など)を指定します。

1 つ以上の属性値を指定して、通知条件の詳細を定義します。属性のリストについては、通知条件の構成プロパティをご覧ください。イベント通知の場合、新しいプロダクトが公開されると、条件がトリガーされることがあります。

actions を定義する場合は、該当する通知テンプレートを参照します。アクションのリストについては、通知アクションの構成プロパティをご覧ください。

たとえば、次のリクエストでは、属性が NEW_PRODUCT で、属性 PUBLISHED の値が true の場合に、ID が 01191bf9-5fdd-45bf-8130-3f024694e63 であるテンプレートで通知を送信するよう指定しています(これは DEFAULT_NEW_PRODUCT_TEMPLATE)。

curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/notification-conditions" \
  -H "Content-Type:application/json"
  -d '{
    "notificationCondition": [
    {
      "attribute": "NEW_PRODUCT"
    },
    {
      "attribute": "PUBLISHED",
      "value": "true"
    }
    ],
    "actions": [{
      "actionAttribute": "DEV_ID",
      "value": "ANY",
      "templateId": "01191bf9-5fdd-45bf-8130-3f024694e63"
    }]
  }' \
  -u email:password

API を使用して通知の条件とアクションを表示する

通知条件とアクションを表示するには、GET リクエストを organizations/{org_name}/notification-conditions/{condition_Id} に送信します。ここで、{condition_Id} は条件の ID です。通知条件を作成すると、この ID が返されます。例:

curl -X GET "https://api.enterprise.apigee.com /v1/mint/organizations/{org_name}/notification-conditions/2d08d03f-8a54-4e75-bd6f-9c9da2f53fc4" \
  -H "Accept:application/json" \
  -u email:password

レスポンスは次のようになります。

    {
    "actions" : [ {
    "actionAttribute" : "DEV_ID",
    "id" : "141ba00c-d7bd-4fef-b339-9d58b83255f4",
    "templateId" : "766aba4f-0f7a-4555-b48e-d707c48b8f4c",
    "value" : "ANY"
    }, {
    "actionAttribute" : "ORG_EMAIL",
    "id" : "21486ce1-4290-4a55-b415-165af3e93c9d",
    "templateId" : "efa4ce63-7c08-4876-984b-6878ec435994",
    "value" : "DEFAULT_LIMIT_NOTIFICATION_EMAIL"
    } ],
    "notificationCondition" : [ {
    "attribute" : "Balance",
    "id" : "2d08d03f-8a54-4e75-bd6f-9c9da2f53fc4",
    "organization" : {
    ...
    },
    "value" : "< 0"
    } ]
    }

API を使用した通知の条件とアクションの編集

通知の条件とアクションを編集するには、organizations/{org_name}/notification-conditions/{condition_Id} に POST リクエストを発行します。ここで、{condition_Id} は条件の ID です。通知条件を作成すると、この ID が返されます。リクエストを発行するときに、通知条件またはアクションに加える変更をリクエストの本文で指定します。

例:

   $ curl -H "Content-Type:application/json" -X POST -d \
    ' {
    "notificationCondition": [
    {
      "attribute": "NEW_PRODUCT"
    },
    {
    "attribute": "PUBLISHED",
    "value": "true"
    }
    ],
    "actions": [{
      "actionAttribute": "DEV_ID",
      "value": "ANY",
      "templateId": "01191bf9-5fdd-45bf-8130-3f024694e63"
    }]
    }' \
    "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/notification-conditions/2d08d03f-8a54-4e75-bd6f-9c9da2f53fc4" \
  -u email:password

API を使用して通知の条件とアクションを削除する

通知条件を削除するには、organizations/{org_name}notification-conditions/{condition_Id} に DELETE リクエストを発行します。例:

curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/notification-conditions/2d08d03f-8a54-4e75-bd6f-9c9da2f53fc4"  \
  -H "Accept:application/json"  \
  -u email:password

通知条件の構成プロパティ

API を使用する場合、通知条件に関する次の構成プロパティを使用できます。

名前 説明 デフォルト 必須 / 任意
attribute

通知条件の詳細。1 つ以上の属性を指定して、通知条件を調整できます。

値には次のうち 1 つ以上を指定できます。

  • ADD_RATEPLAN
  • ADHOC_NOTIFY_DEVELOPERS
  • BILLING_DOCS_PUBLISHED
  • COMPANY_ACCEPTS_INVITATION
  • COMPANY_CANCELS_INVITATION
  • COMPANY_DECLINES_INVITATION
  • COMPANY_INVITES_DEVELOPER
  • CREATE_APPLICATION
  • CREATE_DEVELOPER
  • DATE
  • DEVELOPER_ACCEPTS_INVITATION
  • DEVELOPER_CANCELS_INVITATION
  • DEVELOPER_DECLINES_INVITATION
  • DEVELOPER_INVITES_COMPANY
  • EXPIRING_TNC
  • FeeExposure
  • FREEMIUM_USED_UP
  • NEW_PACKAGE
  • NEW_PRODUCT
  • PUBLISHED
  • RATEPLAN
  • RATEPLAN_ACCEPTED
  • RATEPLAN_ENDED
  • RATEPLAN_EXPIRED
  • RATEPLAN_RENEWED
  • RATEPLAN_REVISION
  • Transactions
  • UPDATE_DEVELOPER
  • UsageTargetWebhook の構成にのみ有効)
なし
value

属性の値。

なし ×
associatedCondition

関連する条件への参照です。

なし ×

通知アクションの構成プロパティ

API 使用時の通知アクションに、次の構成プロパティを使用できます。

名前 説明 デフォルト 必須 / 任意
actionAttribute

通知の受信者を特定するために使用される方法。値には次のうち 1 つ以上を指定できます。

  • ORG_EMAIL。通知の受信者はメールアドレスで識別されます。
  • DEV_ID。通知の受信者はデベロッパー ID(メールアドレス)で識別されます。
  • COMPANY_ADMINS。通知は、設定されている値に関係なく、会社のすべての管理者に送信されます。会社の管理者は組織管理者とは異なります。
  • WEBHOOK。通知受信者情報が Webhook コールバック ハンドラに送信されます。Webhook を使用して通知を設定するをご覧ください。
なし
value

アクション属性の値。

actionAttributeORG_EMAIL または DEV_ID に設定されている場合、値を ANY にすると、ORG_EMAIL アドレスや DEV_ID など、該当する受信者に通知が送信されます。

actionAttributeWEBHOOK に設定されている場合、この値を Webhook の ID に設定します。

actionAttributeCOMPANY_ADMINS に設定されている場合、この値は無視され、会社のすべての管理者に通知が送信されます。

なし
templateID

通知テンプレートの ID。

注: actionAttributeWEBHOOK に設定されている場合、このオプションは無効です。

なし
postURL

Webhook のコールバック ハンドラ。

注: actionAttributeWEBHOOK に設定されている場合、このオプションは必須です。値が ORG_EMAILDEV_IDCOMPANY_ADMINS に設定されている場合、このオプションは無効です。

なし

通知テンプレートでの変数の使用

通知テンプレート内のメッセージを編集する際、Spring Expression Language(SpEL)を使用して 1 つ以上の変数を追加し、Transaction オブジェクトで返される値を表すことができます。

次の表は、よく使用される通知テンプレート変数をまとめたものです。

変数 説明
${application.name}

アプリの名前。

${application.products.name} アプリケーションに含まれるプロダクトの名前。
${BALANCE} 特定の割り当ての残高。
${developer.legalName}

デベロッパーの会社名。

${developer.name}

デベロッパーの名前。

${EXPIRY_DATE}

上限が期限切れになる、または制限がリセットされる日時。

${LONG_PERCENT} 現在の使用量による上限の割合(% 記号は付けません)。例: 50
${PERCENT}

現在の使用量による上限の割合(% 記号付き)。例: 50%。

${products.displayName} 商品に対して定義された表示名。
${QUOTA_TYPE}

上限のタイプ(トランザクション量、費用上限、料金の発生額)。

${QUOTA_UNIT}

上限の基本単位: 通貨(費用上限の場合)、または呼び出し回数(トランザクション上限の場合)。

${QUOTA_LIMIT}

上限の金額。

${ratePlan.displayName} 料金プランに対して定義された表示名。
${ratePlan.endDate} API プロバイダが料金プランを終了した日付。
${ratePlan.monetizationPackage.displayName}

API パッケージの名前。

${ratePlan.monetizationPackage.name} Monetization パッケージの名前。
${ratePlan.monetizationPackage.products.displayName}

API プロダクトに定義された表示名。

${ratePlan.monetizationPackage.products.name} Monetization パッケージに含まれるプロダクトの名前。
${ratePlan.startDate} 料金プランが作成された日付。
${USAGE} 現在の使用量(合計収益 / 請求額、またはボリューム)。
${USER}

ユーザーの名前。

返信先メールアドレスをカスタマイズする

収益化の場合、デフォルトの noreply@apigee.com アドレスは、会社とデベロッパーに送信されるメール通知用に構成されています。組織のカスタム返信名とアドレスを構成するには、Apigee サポートにご連絡ください。