0

场景:客户购物并创建电子商务订单。有一个客户数据库表和一个运输表。客户可以拥有更多的送货地址。如果客户登录以进行另一个订单,则根据客户 ID 从发货表中提取发货地​​址。

货物装箱,商店管理员订购运输标签并发送地址以进行“验证”。当收货地址被验证时,会返回一个新版本的收货地址。这里有4种可能:

1) 除了字母可能已更改为大写外,已验证地址没有任何变化。

2)Verified地址有一些细微的变化,不影响原版。可能将 Ave 添加到街道名称字段或将 5 位邮政编码更新为 9 位版本。

3) 原始提交的送货地址有一个小错误 - 但验证能够更正它。例如邮政编码有一个错误的数字。

4) 原提交地址有重大错误,无法通过验证解决。要么由管理员找出并重新提交,要么必须联系客户。

所以问题是:

A) 我们是否总是使用(新的)已验证地址更新运输表?

B)或者我们是否进行某种检查并比较原始和验证以查看是否有更改,然后仅在地址更改时才更新?

C) 还是我们应该更新地址并保留原始地址的备份副本?

选择 A 似乎是最简单的,但我很好奇人们是如何处理这个问题的。请注意,就其验证的严格性而言,这可能与使用 USPS 邮政运输最为相关。

====== 编辑

在客户输入时验证送货地址显然是最优化的,但电子商务商家可以从商家无法控制的不同“渠道”获得订单。因此仍然需要在创建运输标签时进行验证。

4

3 回答 3

0

D) 在入口点与客户互动。

在创建电子商务订单时 - 是他们输入地址的地方吗?这就是您应该验证细节的关键。这就是您可以要求更多信息和清晰度的一点。

例如,如果您事后验证,则可以应用简单的更正(或随时间变化),但如果有重大变化或客户没有输入他们的公寓信息,则无法猜测,这可能是一个代价高昂且创建耗时的任务(给客户回电话等)。

有几种方法可以做到这一点,我不确定你目前使用的是什么。如果您使用第三方解决方案(例如我公司的产品:https ://www.edq.com/address-verification ),他们可能有您可以使用的服务,提供所需的交互和提示。诸如此类的解决方案的优势在于它可以加快地址的捕获并简化结帐过程,而且还可以确保地址在捕获点得到验证和更正。

如果您执行上述操作,那么您只需要存储一个正确的、客户接受的地址。如果他们第一次正确输入,那么它会直接通过一个可爱的用户体验,如果有问题,那么通过额外的交互来修复小问题(可能附加 Zip +4)或者提示并指导他们更正他们的地址。

于 2015-03-04T09:04:18.027 回答
0

USPS 地址验证仅在确定地址实际上并未更改预期地址时才更正地址。只要地址验证不明确,地址验证服务就会返回原始地址(或错误),并且通常会包含诸如“ZIP 和城市匹配,但街道地址无效”之类的消息。

因此,您应该能够使用选项 A 或 B。话虽如此,不幸的是,大多数运营商 API(包括地址验证)都不是 100% 可靠的,因此使用选项 C 进行备份可能是合理的。

如果您需要访问一个易于使用的地址验证接口,我的公司Shippo提供了一个易于使用的地址验证 REST API。

于 2015-03-04T22:35:40.133 回答
0

您可以尝试 Pitney Bowes “IdentifyAddress” Api,网址为 - https://identify.pitneybowes.com/

该服务分析输入地址并将其与世界各地的已知地址数据库进行比较,以输出标准化的详细信息。它更正地址,添加丢失的邮政信息,并使用适用邮政当局首选的格式对其进行格式化。我还使用了额外的地址数据库,因此它可以提供更详细的信息,包括地址质量、地址类型、音译(例如从中文汉字到拉丁字符)以及地址是否已验证到场所/门牌号、街道或城市级别的参考信息。

你会在网站上找到很多可用的示例和 sdk,我发现它非常容易集成。这是小样本 - JSON请求 -

  {
  "options": {
    "OutputCasing": "M"

  },
  "Input": {
    "Row": [
      {
        "AddressLine1": "13 milk st",
        "AddressLine2": "",
        "City": "boston",
        "Country": "us",
        "StateProvince": "ma",
        "PostalCode": "",
        "user_fields":[
          { 
                "name": "User1",
                "value": "Value1"
          }
          ] 
      }

    ]
  }
}
  }

JSON 响应

 {"Output": [{
   "Status": "F",
   "Status.Code": "UnableToDPVConfirm",
   "Status.Description": "Address Not Deliverable",
   "AddressLine1": "13 Milk St",
   "City": "Boston",
   "StateProvince": "MA",
   "PostalCode": "02109-5402",
   "Country": "United States of America",
   "BlockAddress": "13 Milk St Boston MA  02109-5402 United States of America",
   "PostalCode.Base": "02109",
   "PostalCode.AddOn": "5402",
   "user_fields": [   {
      "name": "User1",
      "value": "Value1"
   }]
}]}
于 2018-01-09T11:24:13.963 回答