Event Notifications 常见问题
Event Notifications 的常见常见问题解答。
为何将消息报告为已传递但未由用户接收?
有时,由于以下原因,会将消息报告为已传递,但用户不会接收到这些消息:
- 他们被电信运营商拒绝。 如果在一段时间内重复同一消息,那么操作员会将消息分类为 SPAM 消息。
解决方法是将任何 TransactionID
或 ReferenceID
添加到消息体。 这些标识会将 SMS 分类为事务性,并且不会被操作员阻止。
- 用户选择退出。 如果用户通过发送选择性停用文本 (例如
Opt Out
,Stop
或Exit
) 来选择性停用消息传递,那么消息不会到达该用户,并且状态报告会指出这一点。 用户可以将Opt in
消息发送到同一源以重新启动接收消息。
为什么某些设备被标记为无效并从数据库中删除?
有时,如果设备满足以下无效条件,那么会将其标记为无效并从数据库中删除:
-
FCM 或 Android 设备:
invalidRegistration
-可能是由于传递给服务器的注册令牌格式不正确。MismatchSenderID
- senderID 中不匹配,该用户不是绑定到注册令牌的用户组的一部分。NotRegistered
-由于各种原因导致注册令牌无效 (例如,使用 FCM 注销的客户机应用程序,令牌无效,注册令牌到期,更新的客户机应用程序,但未配置为接收消息的新版本)。
有关更多信息,请参阅 下游消息的 FCM 错误响应代码。
-
APNS 或 Safari 设备:
Unregistered
-对于指定的主题,设备令牌处于不活动状态。BadDeviceToken
-指定的设备令牌无效。DeviceTokenNotForTopic
-设备令牌与指定的主题 (捆绑软件标识) 不匹配。
有关如何处理来自应用程序的通知响应的更多信息,请参阅 此处。
-
Chrome 或 Firefox 设备:
NotFound
-预订已到期,无法使用。Gone
-预订不再有效。
有关更多信息,请参阅 Web 推送协议。
主题预订与推送设备的标记预订之间有什么区别?
-
Event Notifications 主题预订:
对于主题预订,首先创建 主题,然后针对该主题编写条件。 本主题负责路由满足主题条件的入局通知。
您可以预订多个 Event Notifications 目标,例如电子邮件,SMS,Webhook,slack 和 Microsoft 团队。 此外,您还可以订阅推送类型的目的地,如 Android、iOS, Firefox、chrome 和 safari。
如果入局通知满足为主题 (T) 编写的条件,那么它会将通知路由到预订或连接到主题 (T) 的所有目标,而不考虑目标类型。
例如,
ACME
Bank 希望使用 android 和 iOS 设备将维护事件通知路由到客户。 Acme Bank 正在执行以下步骤:- 创建名为
ACME-Maintenance
的主题。 - 写入高级条件
$.notification-type == 'maintenance'
。 - 预订推送 android 并将 iOS 目标推送到主题。
- 接下来,发送包含属性
"notification-type":"maintenance"
和"ibmenpushto": "{\"platforms\":[\"push_android\",\"push_ios\"]]}"
的有效内容的事件通知,添加notification-type
属性以使其与主题条件和ibmenpushto
相匹配,以针对具有 android 和 iOS 设备的客户。 - Event Notifications 将路由到具有 android 和 iOS 设备的客户,因为其有效内容包含
"notification-type":"maintenance"
,这与主题ACME-Maintenance
和"ibmenpushto": "{\"platforms\":[\"push_android\",\"push_ios\"]]}"
的条件相匹配,因为ibmenpushto
对于推送类型 Event Notifications 目标是必需的。
所有推送设备都将在类型为 push 的 Event Notifications 目标下注册。 例如,
push-android
,push-ios
和其他。 - 创建名为
-
Event Notifications 标记预订以推送设备:
例如,
ACME
Bank 希望使用 android 和 iOS 设备将维护事件通知路由到客户。 ACME 银行维护通常一次在一个区域进行。ACME Bank 希望在特定于区域的标记下注册客户的每个 Android 和 iOS 设备。
-
为此,银行可以使用 Event Notifications Android Client SDK 和 iOS Client SDK 在
AP
标记下预订Asia Pacific
客户的 android 和 iOS 设备。使用以下链接以了解有关如何使用 Event Notifications 客户机 SDK 预订推送设备的更多信息:
-
接下来,银行发送包含属性
"notification-type":"maintenance"
和"ibmenpushto": "{\"tags\":[\"AP\""]]}"
的有效内容的通知,添加了notification-type
属性,以便它与主题条件和ibmenpushto
匹配,因为消息用于将亚太地区的 Android 和 iOS 设备的推送客户作为目标AP
。
-
为电子邮件和短信配置 Event Notifications 之后,为什么不看到已发送的电子邮件或短信通知?
仅 IBM 受管源 (IBM Cloud 服务) 支持电子邮件和 SMS。 您可以将通知从 API 源发送到除 Email 和 SMS 以外的所有其他目标。
在何处指定 Slack 目标配置中的 Slack 通道名称?
Event Notifications 支持使用 Slack 的“传入 Webhook”功能的 Slack 目标。 入局 Webhook 直接链接到 Slack 通道。 因此,无需单独指定 Slack 通道。
是否可以定制从 IBM Cloud 服务 (IBM Cloud 源) 生成的消息?
无法定制从 IBM Cloud 服务 (IBM Cloud 源) 生成的消息。 这些通知由相应的 IBM Cloud 服务 (例如 Secrets Manager和 Security and Compliance Center) 生成。 在将消息内容发送到目标之前,最终用户无法对其进行修改。
为什么我收到“发送通知”API 调用的 422 错误响应?
Event Notifications 服务无法处理您的请求。 当没有与通知发送到的主题相关联的条件或过滤器时,通常会看到此情况。 检查主题并验证它是否已连接到正确的源 (具有预期条件)。
为什么即使在日志中我可以看到已成功发送的通知,发送的电子邮件通知仍未送达客户?
这可能是由于 Event Notifications 实例具有针对 smtp_ibm 目标创建的预订,并且没有将电子邮件标识添加为预订列表的收件人。
确保 Event Notifications 实例具有为 smtp_ibm 目标创建的预订,并且至少有一个电子邮件标识作为收件人添加到预订列表中。
是否可以使用 Event Notifications将通知发送到多个目标?
需要。 您可以将通知发送到多个目标。
定制域电子邮件目标与事件通知的 IBM Cloud 电子邮件目标之间有何区别?
通过 IBM Cloud 电子邮件目标发送的电子邮件将代表 IBM Cloud 从源发送 (即,发件人的电子邮件域将始终具有 ".event-notifications.cloud.ibm.com")。 另一方面,定制电子邮件目标允许您添加自己的域地址,发件人可以通过该域地址发送电子邮件。
此外,由于安全原因,API 源无法向 IBM Cloud 电子邮件目标发送通知,另一方面,定制域电子邮件目标可以从任何类型的源接收通知。
什么是 SPF 验证?
SPF (发送方策略框架) 验证是一种电子邮件认证方法,旨在通过允许电子邮件收件人验证电子邮件消息是否源自授权源来防止电子邮件欺骗和网络钓鱼。 SPF 通过定义特定域的授权邮件服务器 (IP 地址) 列表来工作。 接收到电子邮件时,收件人的邮件服务器可以检查发送邮件服务器的 IP 地址是否在发件人域的授权服务器列表中。
SPF 有助于防止未经授权的来源代表域发送电子邮件,降低网络钓鱼攻击和垃圾邮件的可能性。 但是,需要注意的是,仅凭 SPF 并不能提供端到端的电子邮件安全性。 其他电子邮件认证机制 (例如 DKIM (DomainKeys 标识邮件) 和 DMARC (基于域的消息认证,报告和一致性)) 通常与 SPF 结合使用,以实现更全面的电子邮件认证和反网络钓鱼策略。
什么是 DKIM 验证?
DKIM (DomainKeys 标识的邮件) 验证是一种电子邮件认证方法,用于验证电子邮件的真实性和完整性。 DKIM 通过允许电子邮件收件人检查是否从授权源发送了电子邮件消息,以及在传输期间是否已更改该电子邮件消息,从而帮助防止电子邮件欺骗,网络钓鱼和篡改。
DKIM 验证为电子邮件认证提供了强大的机制,因为它以加密方式验证发件人的身份并确保电子邮件的完整性。 它通常与其他电子邮件认证方法 (如 SPF (发送方策略框架) 和 DMARC (基于域的消息认证,报告和一致性)) 结合使用,以提供全面的电子邮件安全框架。
通过实施 DKIM,域所有者可以提高其电子邮件通信的可信性,降低其域用于网络钓鱼攻击的可能性,并提高电子邮件可传递性。
SPF 验证如何工作?
-
发送方发布 SPF 记录: 域 (发送方) 的所有者在其域的 DNS (域名系统) 记录中发布 SPF 记录。 此 SPF 记录指定哪些邮件服务器有权代表该域发送电子邮件。
-
已发送电子邮件: 从该域发送电子邮件时,收件人的邮件服务器可以通过查找发件人的域的 SPF 记录来执行 SPF 检查。
-
SPF 记录检查: 收件人的邮件服务器检查发送邮件服务器的 IP 地址是否在 SPF 记录中作为授权发件人列出。 如果是,则该电子邮件被视为合法; 如果不是,则可能被标记为可疑或被拒绝。
-
结果 :SPF 检查产生三个结果之一:
- 传递: 发送服务器的 IP 地址列示在 SPF 记录中,指示电子邮件是合法的。
- 失败: 发送服务器的 IP 地址未在 SPF 记录中列出,这表明电子邮件可能未经授权。
- 软失败 :SPF 记录建议谨慎,但不会立即拒绝电子邮件。
DKIM 验证如何工作?
-
消息签名: 从已启用 DKIM 的域发送电子邮件时,发送邮件服务器使用专用密钥对电子邮件进行数字签名。 此签名包含有关电子邮件内容和发件人域的信息。
-
DNS 记录: 发送方的域在其 DNS (域名系统) 记录中发布 DKIM 公用密钥。 此公用密钥由接收邮件服务器用于验证步骤 1 中应用的签名。
-
电子邮件传输: 将电子邮件传输到收件人的邮件服务器。
-
DKIM 验证: 接收电子邮件时,收件人的邮件服务器通过使用在电子邮件的“发件人”头中找到的域从发件人的 DNS 记录中检索 DKIM 公用密钥来执行 DKIM 验证。
-
签名验证: 收件人的邮件服务器使用 DKIM 公用密钥来验证电子邮件上的数字签名。 如果签名有效,那么表示电子邮件在传输期间未被篡改,并且源自授权源。
-
结果 :DKIM 验证过程产生以下结果之一:
- 通过: 电子邮件的 DKIM 签名有效,表明电子邮件合法且未被篡改。
- 失败 :DKIM 签名无效或缺失,表明电子邮件可能可疑或伪造。
什么是电子邮件个性化?
电子邮件个性化是指根据个人收件人或特定收件人组的偏好,行为,人口统计信息或其他数据来定制电子邮件内容和消息传递的做法。 电子邮件个性化的目标是为收件人创建更具相关性和吸引力的电子邮件体验,这可能导致更高的打开率,点击率和转化率。
什么是两种类型的模板?
有两种类型的模板: 邀请模板和通知模板。 邀请模板用于向所有添加到预订的用户发送定制电子邮件邀请,而在为事件发送电子邮件时使用“通知”模板。 它可以包含 HTML 标记,handlebar 支持和个性化支持。
什么是客户端超时?
客户机超时是指客户机 (例如 Web 浏览器或应用程序) 等待来自服务器的响应的时间段。 如果服务器未能在此指定时间范围内响应,那么将发生超时,指示连接已丢失或服务器无响应。
为什么会发生客户机超时?
由于各种原因 (例如网络连接缓慢,服务器超负荷,配置错误或客户机端应用程序存在问题),可能会发生客户机超时。 当客户机在定义的超时时间段内未接收到来自服务器的响应时,它将假定存在问题并终止连接。
如何确定是否发生客户机超时?
尝试访问 Web 站点,应用程序或服务时,可能会迂到客户机超时。 常见指示符包括 Connection Timed Out
或 Request Timed Out
之类的错误消息。 服务器端的监视工具和日志还可以提供有关超时发生的洞察。
如何对客户机超时进行故障诊断?
- 检查您的因特网连接: 确保您的因特网连接是稳定的,不会迂到任何中断。
- 验证服务器状态: 确认事件通知服务可用并且未报告任何事件。
- 调整超时设置: 某些应用程序允许用户调整超时设置。 如果可能,请考虑延长超时持续时间以适应可能的延迟。
开发人员如何解决应用程序中的客户机超时问题?
开发人员可以实施各种策略,包括优化代码以提高性能,利用异步编程以及实施重试机制。 此外,为用户提供清晰的错误消息和故障诊断指导可增强整体用户体验。
客户机超时是否始终是服务器问题的结果?
不一定。 虽然与服务器相关的问题是客户机超时的常见原因,但客户机端的问题 (例如网络问题或配置错误的设置) 也可能导致超时。 在对超时问题进行故障诊断时,必须同时调查客户机和服务器两个方面。
如果我经常迂到客户超时,该怎么办?
如果您持续迂到客户超时,请考虑与支持团队联系。