首页 / 科技 / 正文

你每天刷的外卖、打车,全靠这个叫API的”隐形服务员”撑着

今早我在新街口楼下等外卖的时候,看见骑手蹲在电动车边刷手机,屏幕上跳出来的取餐码,和我手机上收到的完全同步——我当时突然反应过来,这破事我琢磨了快三年,到现在才敢给身边朋友讲明白。

你以为的”APP联动”,其实是你在当传话筒?

说真的,我之前被公司产品经理骂过一顿,就是因为我把API当成了”两个APP互相串门的密码”——当时他把我工位上的冰美式直接碰翻,半杯带冰的褐色液体顺着键盘缝流进去,我攒了三个月的快捷键全废了。

他说我这理解还不如楼下卖鸡蛋灌饼的阿姨。

真的。

他说鸡蛋灌饼阿姨每天早上收到的预定消息,是小区群里的热心大姐帮忙记的,那个大姐不用把每笔钱都揣自己兜里,也不用知道你加不加里脊、要不要刷甜酱,只要把你的预定时间、要的口味原封不动递到阿姨手里,再把阿姨说的”七点半来拿”的话传回给你,这角色,就是API。

你平时点外卖选微信支付的过程,和这个一模一样。你是下单的顾客,美团是开在路边的餐馆,微信支付是管钱的后台,你总不能自己举着手机冲进微信的机房,把钱亲手递给管账的人吧?那个站在中间,帮你把”我要付28块钱”的请求递过去,再把”付款成功”的消息传回来的角色,就是支付API。

外卖APP调用支付API流程示意图

之前我总觉得,既然我能直接在微信里跳转到付款页面,那肯定是微信和美团偷偷打通了所有数据——直到上次我想把美团的订单直接分享到朋友圈,才发现根本做不到。原来API的权限是卡得死死的:它能传付款成功的信号,能传取餐码的数字,但绝对不会把你在美团的浏览记录、收货地址,随便传给别的平台。

那些你天天遇到,但根本没意识到的”API翻车现场”

上个月我在德基看《奥本海默》,提前三天在猫眼上抢了最中间的位置,付完钱页面卡了三秒,跳出来”该座位已被其他用户锁定,款项将原路退回”。

我站在取票机前骂了三分钟。

太糟心了。

当时我身边同样卡单的姑娘,对着手机喊”这什么破APP啊”,我后来跟她解释,这真不是猫眼的锅——是猫眼的座位系统,和影院本身的售票系统之间的API,同步慢了半拍。

你想啊,猫眼的后台同一时间有上万个用户在选座,影院的系统同时要对接猫眼、淘票票、大众点评三个卖票平台的请求,API要是没掐准时间,就会出现你这边刚点完付款,隔壁平台的用户已经把同个座位锁了的情况——相当于那个传信的热心大姐跑错了楼栋,把两家的预定单递混了。

影院售票系统多平台API同步故障提示界面
影院售票系统多平台API同步故障提示界面

我上次赶早班高铁,打车软件显示”距离你200米的司机已经接单”,结果我在雨里站了十分钟,才看见司机从马路对面绕过来,说他接了单之后系统一直没把我的上车位置传过去——这也是API掉链子,相当于传信的大姐半路把写着地址的纸条弄丢了。

很多人遇到这种事就把APP卸了,其实真的没必要。就像你去餐馆吃饭,传菜的服务员把菜摔了,你总不能把餐馆的厨房拆了吧?

你根本不用懂代码,也能靠API省时间

我之前每天最烦的事,就是把公众号后台的用户留言导出来,手动整理成表格,再发给负责做用户运营的同事,光这一套流程下来,每天至少要花20分钟。

后来我在网上找了个免费的小工具,把公众号的接口和那个在线表格的接口接了起来——说直白点,就是把两个系统的API连在了一起。

我当时第一次弄成的时候,差点在办公室跳起来。

现在只要有用户在后台留了联系方式,在线表格里会自动填好昵称、留言内容、提交时间,连格式都不用我调。每天省下来的20分钟,足够我在单位楼下的老卤面店多加一块切得厚一点的大肉。

根本不用写什么复杂代码,就像你把两个电器的插头插在同一个插线板上,API就是那个插线板,不用你自己蹲在旁边把A电器的参数抄给B电器,它自己就会把该传的信息传完。

哦对,之前我还被网上的谣言吓过,以为API是给黑客留的偷数据的后门——后来才知道,正规的API就像小区的门禁,你要刷对应权限的卡才能进,不是谁想闯就能闯的。比如你用微信登录某个APP,那个API只会把你的微信昵称、头像传过去,根本拿不到你微信里的聊天记录、转账记录,要是真能拿到,那才是出了天大的问题。

上次我同事说他弄了个自动抢演唱会门票的脚本,结果抢了三次都没抢到,后来才知道主办方把API的请求频率限了——相当于你在排队买鸡鸣汤包,你不能一秒钟往窗口递十次钱,人家蒸包子的师傅直接把你拉到队尾去了。

昨天我在科巷买藕饼的时候,摆摊的张叔说现在他不用自己拿个破本子记账了,微信收款的API自动把每天的营业额算好,打在他那个用了三年的旧安卓手机桌面上。他咬了一口刚炸好的藕饼,油顺着嘴角流下来,说”这东西好,比我之前算错账多找出去二十块钱强多了”。

哪有那么多高大上的技术啊。

说白了,API就是个帮你少跑腿的传话的。

你不用知道它怎么跑的。

只要它别把你要加里脊的鸡蛋灌饼,递成加香菜的就行。