业务规则和验证流程
- 一个托运账号不能用于多个 Advanced Integrated Visibility。
- 客户创建的目的地 URL/端点必须符合以下条件:
- 属于 HTTPS 主机。
- 响应 POST 请求并解析 JSON 有效负载。
- 字符限制为 200 个字符
- 如果您的 URL 中包含以下内容,将会被拦截:
- RFC1918 IP 空格
- fedex.com 或其任何子域
- URL 中的 IP 地址(包括 localhost、127.0.0.1)
- 属于 HTTPS 主机。
- Advanced Integrated Visibility 安全性:仅支持可使用 TLS (SSL) 1.2 或更高版本协议的 HTTPS 连接,且该连接已配置有效认证机构 (CA) 所签发的证明。将以下 IP 地址加入白名单,可在不中断的情况下接收来自 FedEx 服务器的更新:
Prod 客户端可以将 “nat.fxconnect.eastus2.heap-prod.fedex.io” 加入白名单
使用 CIDR "20.65.16.22/31"
- 有时,客户可能会收到杂乱无序的查询事件更新,因而必须查看扫描事件时间戳以了解正确顺序。
- 删除 FedEx Developer Portal 中的账号:
- 用户/客户无法删除账号:
- 如果此账号与任何已激活的 Advanced Integrated Visibility 关联。
- 该账号是否可以使用或已经与项目关联,或者
- 如果此账号是项目/Advanced Integrated Visibility 中的唯一账号。
注意:用户/客户需要先从项目/Advanced Integrated Visibility 中移除账号,然后再从组织中删除该账号。
- 如果此账号与任何已激活的 Advanced Integrated Visibility 关联。
- 用户/客户可以删除账号:
- 该账号必须属于同一组织。
- 用户/客户必须是管理员才能从组织中删除账号。
- 用户/客户无法删除账号:
常见限制
- 所有与运营公司——FedEx Express®、FedEx Ground® 和 FedEx Ground® Economy(以前称为 FedEx SmartPost®)的 FedEx 9 位数账号关联的客户货件,无论目的地或始发地(进口、出口、国际、国内等)是什么,均适用于此范围。
- Advanced Integrated Visibility Webhook 仅支持 9 位数的企业/包裹账户。企业账户允许创建与所有 FedEx 运营公司(包括 FedEx Express 和 FedEx Ground)关联的货件。
- 客户必须管理在其终端收到的货件查询事件的顺序。
- 每当已订阅的 Advanced Integrated Visibility Webhook 上有任何活动(保存/失败/创建/更新/取消/删除)时,都会发送自动电子邮件通知。
- 翻译:
- 支持 41 种语言(地区)的查询负载翻译。(即将上线)
单击此处,浏览受支持语言的列表。 - 目前支持英文(美国)查询负载翻译。
- 电子邮件通知翻译仅适用于美国地区支持的语言。(地区:en-US、es-US)
- 支持 41 种语言(地区)的查询负载翻译。(即将上线)
FedEx Developer Portal 用户角色:
在 FedEx Developer Portal 中,您可根据已配置的角色执行特定的功能。
如需详细了解 FedEx Developer Portal,请参阅组织管理指南。
Advanced Integrated Visibility 验证流程
什么是 MAC/HMAC?在验证流程中如何使用 MAC/HMAC?
消息验证码 (MAC) 方法让您可以根据秘密密钥,检查在不可靠媒介中进行传输或存储的信息完整性。通常,MAC 是在共享秘密密钥的双方之间进行使用,用于验证双方之间传输的信息。
基于加密散列函数的 MAC 机制被称为 HMAC。HMAC 可与任何加密散列函数一起使用,例如 SHA256 与共享秘密密钥结合使用。在 RFC 2104 中指定 HMAC。FedEx Advanced Integrated Visibility Webhook 将使用 HMAC SHA256。
SHA256(安全令牌 + 有效负载)= Base 64 编码的 fdx 签名,作为载重量标题的一部分
例如(说明 HMAC SHA256 散列的伪代码段):
- 首先,运用 HmacSHA256 算法并将安全令牌用作秘密密钥,对 MAC 进行初始化。
- 然后,对 FedEx 所发送的请求负载进行十六进制编码,完成 MAC 操作。
- 此最终散列应与 FedEx 发送的“推送”中 fdx-signature 标题值相匹配。
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(secureToken.getBytes(), "HmacSHA256"));
return new String(Base 64 encoded(mac.doFinal(payLoad.getBytes())));
注意:所使用的密钥是您在设置 Advanced Integrated Visibility 或测试 Advanced Integrated Visibility URL 时所提供的安全令牌。
延迟时间计算
事件创建时间代表网络中事件实际发生的时间。
在事件记录到系统中(由消息创建时间戳标示)之前,无论是 Webhook 还是任何其他系统,都无法对其进行处理或递送。
建议
客户应使用消息创建时间戳来衡量延迟,因为它最能代表事件可供数字系统使用的时间。该时间戳与 FedEx 数字系统更新的时间最为接近,并且通常快于 fedex.com 上可见的更新时间或与其高度一致。
验证规则:
- Advanced Integrated Visibility Webhook 名称必须为唯一。
- Advanced Integrated Visibility Webhook 目的地 URL 必须符合标准化的语法格式。
- 创建 Advanced Integrated Visibility Webhook 所需的全部必填字段不能为空。
- 应关联至少一个可用的 FedEx 托运账号,才能创建 Advanced Integrated Visibility Webhook 。
- 若验证成功:
- 当 Advanced Integrated Visibility Webhook 创建成功后,客户将收到确认消息。
确认消息示例: <<Advanced Integrated Visibility Webhook 名称>>已成功创建。更改可能需要最多 10 分钟才能生效。
- 当 Advanced Integrated Visibility Webhook 创建成功后,客户将收到确认消息。
- 若验证不成功/失败:
- 如果 FedEx 收到的响应不是 200 (OK) 或 202 (Accepted),则 Advanced Integrated Visibility Webhook 目的地 URL 的验证将被视为失败。
业务规则和验证流程示例
- 一个托运账号不能用于多个 Advanced Integrated Visibility。
- 客户创建的目的地 URL/端点必须符合以下条件:
- 属于 HTTPS 主机。
- 响应 POST 请求并解析 JSON 有效负载。
- 字符限制为 200 个字符
- 如果您的 URL 中包含以下内容,将会被拦截:
- RFC1918 IP 空格
- fedex.com 或其任何子域
- URL 中的 IP 地址(包括 localhost、127.0.0.1)
- 属于 HTTPS 主机。
- Advanced Integrated Visibility 安全性:仅支持可使用 TLS (SSL) 1.2 或更高版本协议的 HTTPS 连接,且该连接已配置有效认证机构 (CA) 所签发的证明。将以下 IP 地址加入白名单,可在不中断的情况下接收来自 FedEx 服务器的更新:
Prod 客户端可以将 “nat.fxconnect.eastus2.heap-prod.fedex.io” 加入白名单
使用 CIDR "20.65.16.22/31"
- 有时,客户可能会收到杂乱无序的查询事件更新,因而必须查看扫描事件时间戳以了解正确顺序。
- 删除 FedEx Developer Portal 中的账号:
- 用户/客户无法删除账号:
- 如果此账号与任何已激活的 Advanced Integrated Visibility 关联。
- 该账号是否可以使用或已经与项目关联,或者
- 如果此账号是项目/Advanced Integrated Visibility 中的唯一账号。
注意:用户/客户需要先从项目/Advanced Integrated Visibility 中移除账号,然后再从组织中删除该账号。
- 如果此账号与任何已激活的 Advanced Integrated Visibility 关联。
- 用户/客户可以删除账号:
- 该账号必须属于同一组织。
- 用户/客户必须是管理员才能从组织中删除账号。
- 用户/客户无法删除账号:
Response