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

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。
情報

通知テンプレートとは

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

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

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

[Notifications] ページの詳細

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

Edge

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

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

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

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

Classic Edge(Private Cloud)

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

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

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

通知の編集

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

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

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

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

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

通知が保存されたことを確認するメッセージが表示されます。保存処理には数分かかることがあります。

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

[Notify All Developers] セクションで選択したイベントタイプの通知は、すべてのデベロッパーに送信されます。

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

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

イベントタイプ トリガー メモ
新しいパッケージ 新しい API パッケージが利用可能

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

新製品 新しい API プロダクトが利用可能

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

新規市場/対象範囲 新しい API プロダクトは特定の地域市場で利用可能

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

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

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

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

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

通知は、新しい利用規約が有効になる 30 日前、7 日前、1 日前に送信されます。

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

料金プランが次のいずれかに該当する場合:

  • スタンダード プランの場合、すべてのデベロッパーに通知されます。
  • デベロッパー カテゴリ料金プランの場合、そのカテゴリのデベロッパーのみに通知されます。
  • デベロッパーの料金プラン。特定のデベロッパーにのみ通知されます。
料金プランの改定 購入した料金プランの新しいバージョンが利用可能

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

料金プランの有効期限が切れました 料金プランの有効期限が切れており、後続の料金プランがない

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

更新された料金プラン 料金プランのサブスクリプションが更新されました。

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

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

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

無料料金プランの終了 取引数または日数で測定された無料使用期間が終了した

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

請求書が公開されました

デベロッパーの請求書などの請求関連書類が利用可能である。

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

Notify API Providers への通知を編集する

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

次の表に、Notify API プロバイダ セクションのイベントタイプに基づく通知を示します。詳細については、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 を使用して通知テンプレートを表示する

/mint/organizations/{org_name}/notification-email-templates/{template_id} に GET リクエストを発行して、通知テンプレートを表示します。ここで、{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 を使用して通知テンプレートを編集する

/nint/organizations/{org_name}/notification-email-templates/{template_id} に PUT リクエストを発行して、通知テンプレートを編集します。リクエスト本文で、テンプレートの変更されたコンテンツを指定します。

通知テンプレートのメッセージをカスタマイズするときに、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 を使用して通知の条件とアクションを表示する

通知の条件とアクションを表示するには、organizations/{org_name}/notification-conditions/{condition_Id} に GET リクエストを発行します。ここで、{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

action 属性の値。

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} 収益化パッケージの名前。
${ratePlan.monetizationPackage.products.displayName}

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

${ratePlan.monetizationPackage.products.name} 収益化パッケージに含まれるアイテムの名前。
${ratePlan.startDate} 料金プランが作成された日付。
${USAGE} 現在の使用量(合計収益、料金、または量)。
${USER}

ユーザーの名前。

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

収益化では、企業とデベロッパーに送信されるメール通知に使用するデフォルトの noreply@apigee.com アドレスが構成されます。組織のカスタム返信名とアドレスを構成するには、Apigee サポートにお問い合わせください。