首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证发货地址

问验证发货地址
EN

Stack Overflow用户
提问于 2015-03-04 09:48:41
回答 3查看 974关注 0票数 0

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

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

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

2)验证后的地址稍有改动,不影响原版本。也许Ave被添加到街道名称字段中,或者5位邮政编码被更新为9位版本。

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

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

所以问题是:

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

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

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

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

======编辑

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

EN

回答 3

Stack Overflow用户

发布于 2015-03-04 17:04:18

D)在入口点与客户进行交互。

在创建eCommerce订单时-他们是否在此处输入地址?这就是你应该验证细节的地方。这就是你可以要求更多信息和清晰度的地方。

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

有几种方法可以做到这一点,我不确定你现在使用的是什么。如果您使用的是第三方解决方案(比如我公司提供的https://www.edq.com/address-verification),那么您可以使用它们提供的服务来提供所需的交互和提示。这样的解决方案的优点在于,它可以加快地址的捕获速度并简化检出过程,同时还可以确保在捕获时对地址进行验证和更正。

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

票数 0
EN

Stack Overflow用户

发布于 2015-03-05 06:35:40

USPS地址验证仅在确定不会实际更改预期地址时才会更正地址。当地址验证不明确时,地址验证服务将返回原始地址(或错误),并通常包括一条消息,如"ZIP和城市匹配,但街道地址无效“。

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

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

票数 0
EN

Stack Overflow用户

发布于 2018-01-09 19:24:14

你可以尝试皮特尼鲍斯“IdentifyAddress”Api在- https://identify.pitneybowes.com/

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

你会在这个网站上找到很多示例和sdk,我发现它非常容易集成。下面是一个小示例- JSON请求-

代码语言:javascript
复制
  {
  "options": {
    "OutputCasing": "M"

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

    ]
  }
}
  }

JSON响应

代码语言:javascript
复制
 {"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"
   }]
}]}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28845354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档