使用通知模板设置通知

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

什么是通知模板?

变现提供了一组模板,用于为各种类型的事件通知定义示例文本。您可以对这些模板进行自定义,以实现以下目的:

  • 通知所有开发者有关新产品、新版条款及条件或新费率方案等活动。
  • 通知受影响的开发者有关费率方案修订等事件。
  • 通知 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 天,系统还会发送其他通知。只有购买了即将过期的费率方案的开发者才会收到通知。

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

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

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

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

“已用尽免费增值”费率方案 免费使用期限(以交易次数或天数为单位)已用完

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

结算凭证已发布

我们已获得开发者的结算文档(例如账单)。

开发者注册新的费率方案 开发者注册新的价格方案。

修改通知以通知 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 回调处理脚本。请参阅使用网络钩子设置通知
不适用
value

action 属性的值。

如果 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 支持团队联系,为贵组织配置自定义回复名称和地址。