验证送货地址

时间:2015-03-04 01:48:41

标签: e-commerce shopping-cart shipping fedex usps

情形: 客户购买并创建电子商务订单。有一个客户数据库表和一个发货表。客户可以拥有更多的送货地址。如果客户登录进行其他订单,则会根据客户ID从发货表中提取送货地址。

货件装箱,商店管理员订购货运标签,地址发送到"已验证"。如果送货地址已验证,则会返回新版本的送货地址。这里有4种可能性:

1)验证地址完全没有变化,但字母可能已更改为大写。

2)验证地址略有变化,不会影响原始版本。也许Ave被添加到街道名称字段或5位数的邮政编码更新为9位数版本。

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

4)原始提交的地址有一个无法通过验证解决的重大错误。要么可以由管理员弄清楚并重新提交,要么必须联系客户。

所以问题是:

A)我们是否总是使用(新)验证地址更新发货表?

B)或者我们是否进行某种检查并比较原件并验证是否有更改,然后只更新地址是否已更改?

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

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

======编辑

验证当客户输入时要解决的运费显然是最优的,但电子商务商家可以从不同的渠道获得订单"商人无法控制。因此仍然需要在创建运输标签时进行验证。

3 个答案:

答案 0 :(得分:0)

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

在创建电子商务订单时,他们是否输入了地址?这就是你应该验证细节的重点。您可以要求提供更多信息和清晰度。

例如,如果您之后进行验证,则可以应用简单更正(或随时间变化),但如果有重大更改或客户未输入其公寓信息,则之后无法猜测,可能是创建一个昂贵且耗时的任务(给客户回电话等)。

有几种方法可以做到这一点,我不确定你目前使用的是什么。如果您使用的是第三方解决方案(例如我公司的产品:https://www.edq.com/address-verification),他们可能会提供您可以使用的服务,这些服务可提供所需的交互和提示。像这样的解决方案的优点是它可以加速地址的捕获并简化检出过程,但也确保在捕获点验证和纠正地址。

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

答案 1 :(得分:0)

USPS地址验证只会纠正地址,如果它们是肯定的,它实际上并没有改变预期的地址。每当地址验证不明确时,地址验证服务都会返回原始地址(或错误),并且通常包含一条消息,例如“ZIP和城市匹配,但街道地址无效”。

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

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

答案 2 :(得分:0)

您可以在 - https://identify.pitneybowes.com/

尝试Pitney Bowes“识别地址”Api

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

你会在网站上找到很多样本和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"
   }]
}]}