我们向世界各地邮寄了 10 万张贴纸,一路上犯了无数错误

2025-06-10

我们向世界各地邮寄了 10 万张贴纸,一路上犯了无数错误

为了庆祝我们二月份的第 100,000 名 Twitter 粉丝,我们向全球的 dev.to 用户发送了免费贴纸:

这感觉是个回馈我们忠实粉丝的好机会,送他们一些小礼物,让他们与 DEV 社区建立起联系。再说,寄几个信封能有多难呢?

问题 0:规模

在发布推文后的几分钟内,我们就收到了来自世界各地的大量注册请求;到当天结束时,我们已收到来自86 个不同国家的贴纸包请求。

看着订单越积越多,真是令人兴奋……但也让人有点不安,因为当时我们贴纸的分发范围仅限于向各种与公司有关系的人分发。现在,我们必须了解几十个国家的邮政习惯,采购数百磅(或者更确切地说是公斤,因为我们的客户遍布全球)的原材料,并将最终近千个工时的劳动挤进我们原本就繁忙的dev.to日常工作中。这项艰巨的任务,我们显然低估了它的规模,一开始就遇到了麻烦……

问题 1:无效的注册表单

我们最初的注册页面存在一个 bug,导致所有选择中号中性T恤尺码的表单都会被标记为无效,相关信息也会从数据库中删除。更糟糕的是,我们没有告知用户他们的表单尚未提交,导致数十名用户完全没有意识到他们的贴纸申请已经消失得无影无踪。直到提交了几百份表单后,我们才意识到没有中号(最流行的尺码)的T恤。

这导致我们不得不采取一种略显尴尬的临时措施,联系那些可能已经注册了Medium的用户,敦促他们重新填写表格。即使我们修复了unisex_m错误,我们的表格仍然无法……

问题 2:验证地址

到夏季初,dev.to/freestickers已将地址验证功能嵌入其中,以便在您填写答案时建议已验证的位置:

但最初我们推出了一个更简单、自由格式的模板,让用户承担提供有效地址的责任。

现在你可能认为大多数人都知道自己住在哪里,但不同国家/地区有不同的标准和惯例,这些标准和惯例并不一定完全符合我们偏向美国的地址/城市/州/省格式。因此,当我们收到类似这样的输入Después de hogares crea, segunda entrada mano derecha, última casa verde(根据谷歌翻译,这是关于右边最后一栋绿色房子的信息)时,我们认为必须验证这些地址。

我们求助于在线地址处理器SmartyStreets来清理和验证用户输入的信息。令我们欣喜的是,它报告称,我们美国地址的有效性几乎达到 100%,但国际地址的有效性接近 80%,并且某些地点的地址出现了“部分”和“模糊”等令人费解的判断。理论上,我们可以要求这些用户重新输入地址,但我们丢失了他们的身份证件,因为……

问题3:版本控制

最初,我们设想这项工作可以用一个 Excel 文件来处理,但在验证了几批用户之后,很明显这种方法行不通。每个用户不仅要占用一行记录他们提供的配送信息,还要占用一行记录略微修改后的版本以满足 SmartyStreets 的要求,此外还要占用另一行记录验证器的输出。再加上美国用户和非美国用户的不同数据集,我们这个简单的 Excel 文件一下子就变成了六张工作表。很快,我们连修改一个单元格都无法避免令人恐惧的“死亡之轮”

不幸的是,当我们意识到单个 Excel 文件不够用时,我们已经多次在 SmartyStreets 和标签打印机之间复制粘贴数据,而且每次都没有带上用户 ID(也就是我们的主键)。所以,即使我们有一个未经验证的地址列表,也必须将它们与数据库中其他略有不同的列进行匹配,才能检索到这些 ID。我们只剩下一堆重叠的 Excel 文件,其中只有一些文件包含用户 ID:

即使我们确实有完整的、经过验证的地址,我们也必须处理……

问题4:字符编码

当只有一小部分字符串数据不在 [AZ][0-9] 的覆盖范围内时,字符编码方式的选择可能并不重要。但是,当你要向墨西哥的阿库尼亚城、乌克兰的伊兹密尔、德国的门兴格拉德巴赫、巴西的圣若泽以及中国的……发送邮件时,编码就决定了邮件是真实的地理位置还是纯粹的乱码。

但我们直到事后才把所有这些整合起来。为了打印地址,我们在 Excel 中打开数据,将其复制粘贴到 SmartyStreets 网页应用中,再将结果复制粘贴回 Excel,保存为 CSV 文件,在 R 中进一步处理,然后加载到我们的 Dymo 标签打印软件中。到那时,这些数据已经使用各种标准进行了六次编码和重新编码,导致一些地址完全不连贯:

很多地址只能作废,因为我们猜想邮递员不知道门牌号“Ø§ÚØ®ØÚ”的具体位置。而且,正如你所料,还有很多地址,要么完美无缺,要么难以辨认,我们只能祈祷它们能被送入那浩瀚的邮政世界。我们的用户收到邮件时,虽然略感欣慰,但也略感好笑:

即使我们确实设法清晰地对每个字符进行编码,有时我们仍然需要担心……

问题 5:格式化地址

再次,我们对国际邮寄标准的无知最终成了我们最大的弱点。按照美国标准,我们的表格要求填写两行地址、一个城市和一个州。但定义境外实际位置的方式远不止这些,包括地方、省、地区、区、区域和地区。SmartyStreets 在适用的情况下,会在回复 CSV 文件中填写这些字段,但我们需要一个统一的策略来将这些字段转换为运输标签——如果只有少数收件人有地址,我们就无法将“区”映射到地址行。

更重要的是,两行地址在很多地方都不够用,有时验证器会返回多达六七个地址字段。由于我们无法在运输标签上合理地容纳这么多行,我们不得不编写一个简陋的 Excel 公式,为地址行创建一堆镜像字段,这些字段不仅仅是重复的城市或邮政编码,然后将它们连接成一行地址。

这办法……算是管用吧。不过,这些“包罗万象”的地址栏偶尔会变得太长,标签制作者不得不把文字缩小到难以辨认的程度:

如果地址足够幸运,能够通过验证、编码和格式化,它仍然必须被打印出来并贴在贴满贴纸的信封上,这需要……

问题6:包装材料

有些原材料很重,但很容易获得:大箱的信封、纸板插页、标签和贴纸被送到我们家门口,然后存放在我们简陋的办公室可以容纳它们的任何地方 - 书架上、冰箱旁边,或者(我们经常承认)随意地堆放在房间中央。

其他物品虽然外形不起眼,但却很难获得,比如数千张月球邮票,必须由持有身份证的人亲自前往城市另一边的纽约市 USPS 总办事处领取。

然后,我们必须把这些零散的部分做成可邮寄的贴纸包。制作几个信封是 dev.to 员工可以利用业余时间完成的。打包一万个贴纸包则需要我们的帮助。几个朋友自愿贡献了一些时间,但为了在合理的时间内完成工作,我们不得不雇佣一些劳动力。我们找到了 TaskRabbit,在那里我们招募了组织能力极强的人员。我们的 Tasker 非常棒——他们很友好,每次都能连续工作几个小时——但办公室里陌生人的数量超过我们,这让我们不得不习惯。

归根结底,包装是整个过程中压力最小的一个环节,我们很多人都会放下手头的工作,听听音乐,时不时地帮忙打包。但有几天,我们不得不要求所有人在家办公,因为包装过程把我们简陋的办公室弄得乱七八糟,到处都是废弃的标签和邮票:

当然,照片中的所有包裹都必须送到邮局,这让我们想到……

问题7:交付

有时我们会安排专人上门收件,清理办公室里即将寄出的贴纸包,但当我们真的想快速寄出它们时,除了步行五六个街区到当地邮局外,别无选择。你有没有提过装满一千个信封的袋子?那袋子真是沉得要命。

另外,我们第一次拖着行李过去的时候,柜台的女士告诉我们,我们的国际信件寄不出去,因为我们用了三个字母的区号,而不是拼写国家名。结果她错了,但一两天来,我们一直在想,是不是每一封寄出的邮件都搞砸了。

就算我们没有因为没有写出国家名而受到责备,邮局的员工通常也会用疑惑的眼神看着我们。这又能怪他们吗?我们肩上扛着装满黑色信封的大袋子,累得直呻吟,看起来就像圣诞老人和死神的怪诞组合!

而且,正如您可能想象的那样,如果您发送大量未经充分验证、编码不佳、格式不合常规的信件,您会收到很多回复:

不过,有时信件也会因为其他原因被退回。你知道美国暂停了寄往危地马拉的邮政服务吗?我们不知道!

尽管存在这些相对失误,我们仍然很高兴地报告,超过 95% 的信件已送达最终目的地。然而,仍然有很多人耐心等待包裹,却迟迟未收到。因此,我们想为此道歉,并解释一下……

如果贴纸未送达,如何获取

我们已经结束了面向新用户的免费贴纸活动。如果您已经是 dev.to 用户,并且申请过贴纸但从未收到,您可以访问dev.to/freestickers并(重新)验证您的地址,以便我们最终将贴纸发送给您。

如果您在七月份订购,请等待一周再标记未完成并重新请求贴纸,因为我们刚刚发出了一堆,它们可能正在途中。

注意:虽然我们可以知道最初申请贴纸的人是谁,但无法确认贴纸是否已送达,因此我们依赖用户如实告知是否收到了贴纸。此外,贴纸数量有限,任何想再要一套的人实际上都是从没有贴纸的人那里抢来的。😔


最后,我们想感谢几位朋友。首先,我们要感谢共同赞助我们首批贴纸的公司:ClarifaiCircle CICloudinary。他们的初始投资确实为这项活动的顺利开展提供了助力。

我们还要感谢stickermule,他们为我们印制了所有可爱的贴纸。我们尝试了很多家贴纸公司,最终发现他们的质量和服务是最好的。

我们还要感谢 dev.to 的用户们,他们耐心地等待着贴纸,有些贴纸甚至从未送达。事实上,这可是个耗资巨大的工程,从原材料到各种运输难题,再到从包装信封到回复邮件主题为 的邮件,所有环节都耗费了大量人力stickers???

但是看到你们贴上笔记本电脑(或摩托车头盔保险杠车门四肢、铭牌自行车、水瓶充电器文件柜、床头柜书桌服务器机架吉他摩托车计算机科学部门啤酒)上的贴纸的照片,这一切都是值得的。ðŸ'•

鏂囩珷鏉ユ簮锛�https://dev.to/thepracticaldev/sending-100-thousand-stickers
PREV
欢迎主题 - v13 欢迎!
NEXT
Squarespace 从 Java 单体架构迁移到微服务