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

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

通知テンプレートとは

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

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

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

[通知] ページの詳細

以下の手順に従って、[Notifications] ページにアクセスします。

Edge

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

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

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

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

Classic Edge(プライベート クラウド)

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

  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. [保存] をクリックして、すべての変更を保存します。

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

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

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

通知は、当日が終了するタイミングで配信されるようにスケジュール設定されています。通知が送信されると、イベントのチェックボックスは自動的にオフになります。関連するイベントタイプの通知をスケジュールするには、もう一度選択する必要があります。

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

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

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

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

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

新規市場/カバレッジ 新しい API プロダクトが特定の地域で利用可能に

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

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

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

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

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

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

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

料金プランは:

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

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

期限切れの料金プラン 料金プランの有効期限が切れているが、フォローアップの料金プランがない

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

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

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

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

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

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

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

請求書の公開

デベロッパー用の請求ドキュメント(請求書など)を利用できます。

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

通知を編集して API プロバイダに通知

[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 を使用した通知の条件とアクションの作成

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

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

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

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

たとえば、次のリクエストでは、属性が NEW_PRODUCT で、属性 PUBLISHED の値が true の場合、ID 01191bf9-5fdd-45bf-8130-3f024694e63DEFAULT_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 を使用して通知条件とアクションを編集する

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

通知の受信者の識別に使用されるメソッド。値は次のいずれかです。

  • 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_ID、または COMPANY_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 サポートにお問い合わせください。