<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
问题
创收通知未正常发挥作用,因此系统无法向订阅的用户发送电子邮件。
错误消息
系统不会向订阅用户发送有关创收通知的电子邮件。不会观察到任何错误消息。
创收活动通知简介
创收功能支持活动通知,可让您:
- 将新产品、条款及条件的新版本或新费率方案等事件通知所有开发者。
- 向特定开发者通知相关事件,例如结算文档已发布,或交易数量已达到一定百分比的目标(如果他们购买了可调整的通知费率方案)。
- 将与开发者相关的事件(例如开发者注册账号或开发者订阅价格方案)通知 API 提供方。
- 如需详细了解通知类型以及如何设置通知,请点击此处。
前提条件
请确保满足以下前提条件:
- 费率方案接受
对于以下创收通知,请检查开发者是否已接受相应的费率方案:
- 新建价格方案
- 修订后的费率方案
- 已过期的价格方案
- 已续订费率方案
- 已超出速率限制
- “已用完免费增值”费率方案
如果开发者未接受费率方案,则系统不会针对该开发者触发这些通知。
- 应该针对特定通知运行作业调度程序
Monetization 功能提供作业调度器和一组预先安排在预先指定时间运行的作业。需要运行作业调度程序才能获得特定通知。如果未运行,则不会触发通知。
可能的原因
此问题的一些可能原因包括:
原因 | 说明 | 适用的问题排查说明 |
---|---|---|
SMTP 配置不正确 | 提供的 SMTP 配置不正确。 | 边缘私有云用户 |
通知作业尚未启动。 | Edge 公有云和私有云用户 |
原因 1:SMTP 配置不正确
诊断
- 检查
/opt/apigee/edge-mint-management-server/conf/apix-mint.properties
文件,并验证以下 SMTP 属性是否设置正确。mint.notification.javaMail.properties={"mail.smtp.host": "smtp.gmail.com", "mail.smtp.port": "465", "mail.smtp.starttls.enable": "true", "mail.smtp.auth": "true", "mail.smtp.username": "blah@gmail.com", "mail.smtp.password": "blah" }
- 验证 SMTP 服务器和用户设置是否正确。如果这些设置不正确或未设置,请继续执行第 3 步。如果正确无误,请继续执行第 4 步。
- 使用以下文档中的说明正确更新 SMTP 服务器和用户设置:
- 请重新检查创收通知目前是否正常。如果没有,请继续执行第 5 步。
- 如果 SMTP 设置正确,请运行 View notifications sent API 调用,以查看已发送的通知的状态。
- 此 API 会返回一个 JSON,其中包含已触发的所有通知以及每个通知的状态。
- 下面提供了一个 JSON 示例:
{ "hasMoreItems" : false, "notifications" : [ { "fromAlias" : "No Reply", "fromEmail" : "****@apigee.com", "id" : "4e2d0d9a-69a4-4430-957d-02fa2a3cb581", "notificationType" : "EMAIL", "orgId" : "myorg", "rawMessage" : "...", "retryCount" : 0, "retryStatuses" : [ { "responseCode" : 0, "responseMessage" : "{\"Headers\":null,\"Content : \":null,\"StatusCode\":\"0\"}", "retriedAt" : 1518605291092, "retryAttempt" : 0 } ], "source" : "MailTo: [****@blah.com], Org: [myorg], EventType: [UPDATE_DEVELOPER]", "status" : "FAILED", "subject" : "Notification of developer changing company details", "templateId" : "814315c8-d8ca-4b3e-90bb-a8366600e625", "templateName" : "DEFAULT_UPDATE_DEVELOPER_TEMPLATE", "templateParametersJSON" : "{\"developer.legalName\":\"\",\"developer.name\":\"John Smith\"}", "toAlias" : "***@blah.com", "toEmail" : "***@blah.com", "unsubscribeURL" : "..." }
如果您检查 JSON,其状态显示为“FAILED”“Update Developer”的上述通知。
- 导致这种情况的原因可能是无法通过管理服务器访问 SMTP 服务器和端口。使用 telnet 命令检查您能否连接到指定端口上的指定 SMTP 服务器。
telnet <SMTP-server-IP-address> <SMTP-Port#>
如果您收到“连接超时”错误消息,或“连接被拒绝”然后转至“解决方法”
分辨率
- 请与您的网络管理员合作,确保 SMTP 服务器能够接受来自其他计算机的连接,并且特定端口对外界开放,以便进行通信。
- 如果问题仍然存在,请继续完成“必须收集诊断信息”和
原因 2:通知作业时间表
通知作业尚未启动。
诊断
- 运行以下 API 调用以查看当前安排的所有创收作业。
- 检查通知条件是否存在,以及是否已为无法正常运行的通知启用。如果不存在,请继续执行第 3 步,创建通知条件并跳过其余步骤。
- 如果存在,则检查其是否已启用为 true。如果不是,请运行更新通知条件和操作 API 来更新通知条件。
或者
- 通过以下文档中提供的流程,使用界面更新通知条件:
- 运行创建通知条件和操作 API 调用,以创建适当的通知条件和相应的操作。
- 创建通知条件后,运行 List notification conditions and actions API 调用以验证是否已创建通知条件。
- 您还可以使用重新处理通知 API 来重新处理通知。
- 此步骤仅适用于 Private Cloud 用户。如果第 1 步中存在通知条件,但通知电子邮件仍未发出,请检查管理服务器日志
/opt/apigee/var/log/edge-management-server/logs/system.log
,查看通知条件是否已触发。grep "Executing Mint Scheduler" /opt/apigee/var/log/edge-management-server/logs/system.log | grep -o "Executing Mint Scheduler : \[.*\]" | grep -v "for org : \[null\]" |sort | uniq -c
- 如果系统触发了通知条件,但您仍然没有收到相关通知,请继续参阅必须收集诊断信息,并提供上述步骤所捕获的信息和输出。
- 如果存在,则检查其是否已启用为 true。如果不是,请运行更新通知条件和操作 API 来更新通知条件。
解决方法
- 使用重新处理通知 API 重新处理通知
必须收集的诊断信息
如果在按照上述说明执行操作后问题仍然存在,请与 Apigee Edge 支持团队联系。
并提供以下诊断信息。
公有云和私有云用户应提供以下信息:
- 组织名称
- 环境名称
- 创收通知条件无效
- 详细说明本手册中的哪些内容已被尝试过,以及可帮助我们快速解决此问题的任何其他分析洞见。
除上述信息外,Private Cloud 用户还应该提供以下信息:
- 管理服务器日志
/opt/apigee/var/log/edge-management-server/logs/system.log