E commerce 验证装运地址

E commerce 验证装运地址,e-commerce,shopping-cart,shipping,fedex,usps,E Commerce,Shopping Cart,Shipping,Fedex,Usps,情景: 客户购物并创建电子商务订单。有一个customer db表和一个shipping表。客户可以拥有比发货地址更多的地址。如果客户登录以执行其他订单,则根据客户id从发货表中提取发货地址 装运已装箱,商店管理员订购装运标签,并发送地址进行验证。验证发货地址后,将返回发货地址的新版本。这里有4种可能性: 1除了字母可能已更改为大写外,验证地址没有任何更改 2已验证的地址有一些细微的更改,不会影响原始版本。可能Ave被添加到街道名称字段,或者5位邮政编码被更新为9位版本 3原始提交的发货地址有一

情景: 客户购物并创建电子商务订单。有一个customer db表和一个shipping表。客户可以拥有比发货地址更多的地址。如果客户登录以执行其他订单,则根据客户id从发货表中提取发货地址

装运已装箱,商店管理员订购装运标签,并发送地址进行验证。验证发货地址后,将返回发货地址的新版本。这里有4种可能性:

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

2已验证的地址有一些细微的更改,不会影响原始版本。可能Ave被添加到街道名称字段,或者5位邮政编码被更新为9位版本

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

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

因此,问题是:

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

B或者我们做一些检查,比较原始的和经过验证的,看看是否有变化,然后只更新,如果地址已经改变

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

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

=======编辑


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

D在进入点与客户的互动

在创建电子商务订单时,他们是在那里输入地址的吗?这就是您应该验证详细信息的要点。这就是你可以要求更多信息和清晰的要点

例如,如果您在事后进行验证,则可以应用随时间变化的简单更正或更改,但如果有重大更改或客户没有输入他们的公寓信息,则无法猜测事后会发生这种情况,并且创建回拨客户等可能是一项成本高昂且耗时的任务

有几种方法可以做到这一点,我不知道你现在用什么。如果您使用的是第三方解决方案,例如我公司的产品:他们可能有您可以使用的服务,这些服务提供所需的交互和提示。这样的解决方案的优点是,它可以加快地址的捕获并简化签出过程,但也可以确保在捕获点验证和更正地址


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

USPS地址验证仅在地址确实没有更改预期地址的情况下更正地址。每当地址验证不明确时,地址验证服务将返回原始地址或错误,并且通常包含一条消息,如ZIP和city是否匹配,但street address无效

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


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

您可以尝试Pitney Bowes“IdentifyAddress”API,网址为-

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

你会在网站上找到很多样本和sdk,我发现它非常容易集成。 这是小样本 e- 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"
   }]
}]}

您好-我感谢您的回答,我对这个问题做了一些修改,以考虑到零售商无法控制的其他渠道的销售情况。