使用通知模板设置通知

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

什么是通知模板?

创收功能提供了一组模板,用于定义各种类型事件通知的示例文本。您可以自定义以下任一模板,从而实现以下目的:

  • 通知所有开发者有关新产品、新版条款及条件或新费率方案等事件的信息。
  • 将相关事件(例如,修改后的费率方案)告知受影响的开发者。
  • 将与开发者相关的事件(例如开发者注册帐号或开发者注册费率方案)告知 API 提供方。
  • 将特定事件告知所有公司管理员。

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

浏览“通知”页面

访问通知页,如下所述。

边缘

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

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

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

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

传统 Edge (Private Cloud)

如需使用传统版 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 提供方。

下表列出了基于“通知 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

action 属性的值。

如果 actionAttribute 设置为 ORG_EMAILDEV_ID,则值为 ANY 会向任何适用的接收者(例如,任何 ORG_EMAIL 地址或任何 DEV_ID)发送通知。

如果 actionAttribute 设置为 WEBHOOK,则将此值设置为 webhook 的 ID。

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

不适用
templateID

通知模板的 ID。

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

不适用
postURL

网络钩子的回调处理程序。

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

不适用

在通知模板中使用变量

修改通知模板中的消息时,您可以使用弹簧表达式语言 (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 支持团队,为您的组织配置自定义回复名称和地址。