使用通知模板设置通知

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

什么是通知模板?

Monetization 提供了一组模板,用于定义各种类型的活动通知的示例文本。您可以自定义这些模板中的任何一个,以实现以下目的:

  • 就新产品、新版条款及条件或新费率方案等事宜通知所有开发者。
  • 就修订后的费率方案等事件通知受影响的开发者。
  • 通知 API 提供方与开发者相关的事件,例如开发者注册账号或订阅费率方案。
  • 就特定事件通知所有公司管理员。

或者,您也可以创建一个定义 HTTP 回调处理程序的 Webhook,然后配置触发该 Webhook 的条件,如使用 Webhook 设置通知中所述。

探索“通知”页面

访问“通知”页面,如下所述。

Edge

如需使用 Edge 界面访问“通知”页面,请执行以下操作:

  1. 登录 apigee.com/edge
  2. 在左侧导航栏中,依次选择发布 > 创收 > 通知

系统会显示“通知”页面。

如图所示,您可以通过“通知”页面执行以下操作:

经典边缘(私有云)

如需使用经典版 Edge 界面访问“通知”页面,请执行以下操作:

  1. 登录 http://ms-ip:9000,其中 ms-ip 是管理服务器节点的 IP 地址或 DNS 名称。
  2. 在顶部导航栏中,依次选择管理 > 通知

在“通知”页面中,您可以执行以下操作:

修改通知

如需使用界面修改通知,请执行以下操作:

  1. 访问“通知”页面
  2. 点击要修改的通知旁边的 以展开其详细信息。
  3. 根据需要修改“主题”“正文”和“收件人”(如有)字段。

    如需了解可在通知模板中指定的变量,请参阅在通知模板中使用变量

    如需详细了解如何修改各个类别的通知,请参阅以下部分:

  4. 选中通知旁边的复选框即可启用相应通知。
  5. 重复第 2 步到第 4 步,以修改其他通知。
  6. 点击保存以保存所有更改。

系统会显示一条消息,确认通知已保存。保存操作可能需要几分钟时间。

将通知修改为“通知所有开发者”

系统会向所有开发者发送您在通知所有开发者部分中选择的事件类型的通知。

通知已安排在一天结束时运行。通知发送完毕后,系统会自动清除相应活动的复选框。您必须再次选择这些事件类型,才能为关联的事件类型安排通知。

下表列出了“通知所有开发者”部分中基于事件类型的通知。 如需了解详情,请参阅使用界面修改通知

事件类型 触发器 备注
新软件包 有新的 API 软件包可用

在电子邮件模板的正文中添加每个新套餐的名称(以及每个套餐中包含的产品),作为更新的一部分。您还可以添加指向开发者门户或任何其他网站的链接,以便提供有关相应通知的更多信息。

新产品 新的 API 产品现已推出

在电子邮件模板的正文中添加每个新产品的名称,作为更新的一部分。您还可以添加指向开发者门户或任何其他网站的链接,以便提供有关相应通知的更多信息。

新市场/覆盖范围 新 API 产品已在特定地理市场推出

在电子邮件模板的正文中添加每个新市场的名称和相关产品,作为更新的一部分。您还可以添加指向开发者门户或任何其他网站的链接,以便提供有关相应通知的更多信息。

修改通知以通知受影响的开发者

系统只会向受通知受影响的开发者部分中选择的事件类型影响的开发者发送通知。 例如,如果您选择“修订后的费率方案”事件,则系统只会向接受了相应费率方案的开发者发送通知。

下表列出了“通知受影响的开发者”部分中基于事件类型的通知。 如需了解详情,请参阅使用界面修改通知

事件类型 触发器 备注
未接受或已过期的条款及条件 已发布新版条款及条件,但开发者尚未接受

我们会在新条款及细则生效前 30 天、7 天和 1 天发送通知。

新价格方案 发布了新的费率方案

如果费率方案是:

  • 标准方案,所有开发者都会收到通知。
  • 开发者类别价格方案,只有该类别的开发者会收到通知。
  • 开发者价格方案,只有特定开发者会收到通知。
修订后的费率方案 已购买的费率方案有新版本可用

系统只会通知购买了当前版本的开发者。通过此通知,开发者可以查看新版本,并决定是否接受新费率,如果不接受,则可以终止或改用其他方案。

已过期的费率方案 费率方案已过期,且没有后续费率方案

此通知会在您首次将费率方案设置为失效时发送,并在失效日期前 30 天、7 天和 1 天发送其他通知。系统只会通知已购买即将过期的费率方案的开发者。

续订的价格方案 费率方案订阅已续订。

告知开发者将收取适用的费用。

已超出速率限制 已超出费率方案限额

告知开发者将收取适用的费用。

已耗尽的 Freemium 费率方案 免费使用期(按交易次数或天数衡量)已结束

免费使用期由您的免费增值费率方案决定。

结算凭证已发布

开发者的结算文件(例如账单)可供查看。

开发者订阅新费率方案 开发者订阅新费率方案。

修改“通知 API 提供商”通知

系统会向您指定的 API 提供商发送通知 API 提供商部分中您选择的事件类型的通知。

下表列出了基于“Notify API 提供方”部分中的事件类型的通知。 如需了解详情,请参阅使用界面修改通知

事件类型 触发器
新开发者注册

开发者已注册账号。

开发者添加应用

开发者已创建新应用。

开发者订阅新费率方案

开发者已订阅费率方案。

开发者更改财务详细信息

开发者的财务详细信息(例如公司名称或公司地址)已发生变更。

启用或停用通知

如需使用界面启用或停用通知,请执行以下操作:

  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 请求来修改通知模板。 在请求正文中提供模板的更改内容。

在通知模板中自定义消息时,您可以添加一个或多个变量。如需了解详情,请参阅在通知模板中使用变量

例如,以下请求会修改新的 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 请求,创建可自动发送通知的通知条件和操作。

发出请求时,请在请求正文中指定导致通知的条件,以及达到该条件时要采取的操作(例如发送通知电子邮件)。

您可以通过指定一个或多个属性值来定义通知条件的详细信息。如需查看属性列表,请参阅通知条件的配置属性。对于事件通知,当发布新商品时,可能会触发相应条件。

定义 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

通知条件的详细信息。您可以指定一个或多个属性来细化通知条件。

可以是以下值中的一个或多个:

  • 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
  • UsageTarget(仅适用于配置 Webhook
不适用
value

属性的值。

不适用
associatedCondition

对关联条件的引用。

不适用

通知操作的配置属性

使用 API 时,以下配置属性可用于通知操作。

名称 说明 默认值 是否必需?
actionAttribute

用于确定通知接收者的方法。可以是以下一个或多个值:

  • ORG_EMAIL。通知接收者由电子邮件地址标识。
  • DEV_ID。通知收件人由开发者 ID(电子邮件地址)标识。
  • COMPANY_ADMINS. 系统会向所有公司管理员发送通知,无论设置的值是多少。请注意,公司管理员与组织管理员不同。
  • WEBHOOK. 通知接收者信息会发送到 webhook 回调处理程序。请参阅使用 Webhook 设置通知
不适用
value

操作属性的值。

如果 actionAttribute 设置为 ORG_EMAILDEV_ID,则值为 ANY 时,系统会将通知发送给任何适用的收件人,例如任何 ORG_EMAIL 地址或任何 DEV_ID

如果 actionAttribute 设置为 WEBHOOK,请将此值设置为 Webhook 的 ID。

如果 actionAttribute 设置为 COMPANY_ADMINS,系统会忽略此值,并向所有公司管理员发送通知。

不适用
templateID

通知模板的 ID。

注意:如果 actionAttribute 设置为 WEBHOOK,则此选项无效。

不适用
postURL

Webhook 的回调处理程序。

注意:如果 actionAttribute 设置为 WEBHOOK,则必须使用此选项。如果该值设置为 ORG_EMAILDEV_IDCOMPANY_ADMINS,则此选项无效。

不适用

在通知模板中使用变量

在通知模板中修改消息时,您可以使用 Spring 表达式语言 (SpEL) 包含一个或多个变量,以表示在 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 支持团队联系,为您的组织配置自定义回复名称和地址。