使用通知模板设置通知

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

什么是通知模板?

创收服务提供了一组模板,这些模板可定义适用于各类活动的示例文字 通知。您可以对这些模板进行自定义,以实现以下目的:

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

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

浏览“通知”页面

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

边缘

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

  1. 登录 apigee.com/edge
  2. 选择发布 >创收 >通知

此时会显示“通知”页面。

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

传统 Edge(私有云)

如需使用传统 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 查看所有通知模板

您可以发出 GET 请求,列出创收功能提供的所有通知模板 向 /mint/organizations/{org_name}/notification-email-templates 发送请求。例如:

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 查看通知模板

通过向 发出 GET 请求来查看通知模板 /mint/organizations/{org_name}/notification-email-templates/{template_id}, 其中 {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 修改通知模板

要修改通知模板,请将 PUT 请求发送到 /nint/organizations/{org_name}/notification-email-templates/{template_id}。 在请求正文中提供模板的更改后内容。

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

例如,以下请求会修改新 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 查看通知条件和操作

向 发出 GET 请求,以查看通知条件和操作 organizations/{org_name}/notification-conditions/{condition_Id},其中 {condition_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},其中 {condition_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 删除通知条件和操作

向 发出 DELETE 请求以删除通知条件 organizations/{org_name}notification-conditions/{condition_Id}。例如:

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(适用于配置 网络钩子
不适用
value

属性的值。

不适用
associatedCondition

对关联条件的引用。

不适用

通知操作的配置属性

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

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

用于标识通知收件人的方法。该值可以是 以下:

  • ORG_EMAIL。通知接收者通过电子邮件地址进行标识。
  • DEV_ID。通知接收者由开发者 ID(电子邮件地址)标识。
  • COMPANY_ADMINS。向所有公司管理员发送通知 无论设置的值是什么请注意,公司管理员不同于 组织管理员。
  • WEBHOOK。向网络钩子发送通知收件人信息 回调处理程序。请参阅设置通知 使用网络钩子
不适用
value

action 属性的值。

如果 actionAttribute 设置为 ORG_EMAILDEV_ID,值为 ANY 时,会向任何适用的 收件人(例如任何 ORG_EMAIL 地址或任意 DEV_ID

如果 actionAttribute 设置为 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}

用户的名称。