结论:借助DeepSeek、基于状态机模型,连接了淘宝开放平台分散的技术文档,重点覆盖订单正向链路涉及的事件、状态及事件触发的状态转换。有一丢丢“越俎代庖”。为啥?在淘宝文档中心能不能找到,凭经验凭运气,直接影响了解决问题的效率。找文档花的时间有些长,不开心。
天猫旗舰店,用户4天前下的订单还没有发货。这影响客户体验,业务来问原因。

是我也会不开心。都什么年代了,买你个东西,1星期后才到手。我是在新疆,还是在西藏呀?
1年前上线的功能,什么也没有做,然后就坏了?
查了下,这个店铺今天的订单正常通知了。。。
原因是淘宝“礼品订单”暂未支持。这单正好是礼品单...

在等待淘宝工单回复期间,与业务沟通后发现,这种订单果然不一样,是“礼品订单”。
提工单与淘宝沟通后,得到如下信息:

不管什么原因,总不能用户付了钱,晚给人家发货,这总是不对的吧。
怎么解决呢?
之前的逻辑是订阅taobao_trade_TradeBuyerPay这个topic的tmc消息。现在送礼订单,不再投递这个消息,那我怎么知道啥时候去通知客服去处理这个订单呢?

再看上面的订单数据,“收件人填写地址时间”的确是晚于支付时间的。
原因找到了,但这个文档看了几遍也没有找到解决的办法,譬如可以通过监听哪个topic可以知道这个订单可以发货了。。。

相关文档链接见文末
在这个文档中,我看到一个关键信息:
消费者付款进入卖家发货阶段,订单状态:WAIT_SELLER_SEND_GOODS
再结合日志和文档发现,可以监听taobao_trade_TradeChanged这个topic的消息,收到消息后,调订单详情接口,检查订单的状态是WAIT_SELLER_SEND_GOODS,则通知客服介入处理。
这个文档是怎么找到的呢?也不记得怎么找到的,就是搜啊搜,然后找到:

找到解决方案,代码很快就写完、测试并上线。

但解决过程,很不顺利,信息缺东缺西,拼拼凑凑,这么快响应业务诉求把问题解决掉,也有运气的成分,当时正好搜到上面这些文档。
在复盘问题解决过程时,突然我想状态机了,如果有订单状态流转的状态机,解决这个问题会更节省时间,也更笃定一些。
因为状态机(State Machine)包含三个核心要素:
事件,譬如本次TMC消息中不同Topic中的数据,就是由不同的事件触发的。
有事件,必然会影响到状态。
状态之前的转换,肯定也是有限制的,譬如下单事件肯定不可以触发签单返回事件。
以“礼品订单”为例,这种订单不会触发taobao_trade_TradeBuyerPay消息,那会触发什么消息呢?没有文档可以找到。但这些是可以放在状态机这个数据模型中的。
订单就是一个典型的状态机载体,它会按照固定规则在各个状态间流转,且同一时间只能处于一种状态。
当业务流程包含多个状态且转换规则复杂时,状态机的优势非常明显:
特别是淘宝这种体量的电商平台。
一个基于状态机建模的电商系统具有更好的可扩展性和可维护性。
一个好的文档,一个包含全链路视角的文档。
用户怎么省劲怎么来。不要让我思考上哪找,应该就是手头边;不要让我思考怎么用,直接step by step copy+paste就可以了;不要让我担心有安全隐患,为什么安全写在边上,让我放心; 省找的时间; 省理解的时间; 省fix漏洞的时间,越是重要的服务,这方面越要更好的支持; Don't make me think! 唐成,公众号:的数字化之路如何写出人见人爱的API文档?
以前是,但现在有了AI,我先用AI写一个,打个样:

基于淘宝交易场景的事件消息及订单流转状态,我生成了一个全流程的状态机流转图。该状态机涵盖了订单从创建到最终状态(交易成功或交易关闭)的核心流转过程,主要基于提供的API事件和订单正向链路逻辑。状态机重点关注那些会导致订单状态改变的关键事件,而如修改备注、修改地址等不改变状态的事件则未包含在图中。

taobao_trade_TradePartlySellerShip部分发货、taobao_trade_TradePartlyRefund部分退款)不改变主订单状态,因此未在状态机中体现。这些事件通常影响子订单状态,但主订单状态保持不变直到全部发货或全额退款。taobao_trade_TradeMemoModified修改备注、taobao_trade_TradeLogisticsAddressChanged修改地址)不触发状态转换,因此未包含。此状态机可用于理解淘宝订单的基本流转,在实际开发中可根据具体需求扩展更多状态和事件。
“增加一个新场景:礼品订单,这种订单是先付钱,付钱后订单状态不是WAIT_SELLER_SEND_GOODS,需要另一个用户填地址,地址填完后,才能到达WAIT_SELLER_SEND_GOODS。 并且用户付完钱后,不会触发taobao_trade_TradeBuyerPay事件”

taobao_trade_TradeBuyerPay,这里使用描述性名称)WAIT_BUYER_PAY状态taobao_trade_TradeBuyerPay事件,而是通过其他机制(可能是特定的事件或API调用)将订单状态转移到WAIT_RECEIVER_ADDRESSWAIT_RECEIVER_ADDRESS状态下,需要等待收礼人填写收货地址WAIT_SELLER_SEND_GOODS状态,后续流程与普通订单一致在实际系统中,礼品订单的识别和处理可能需要:
WAIT_RECEIVER_ADDRESS状态可能需要设置超时机制,如果长时间未填写地址可自动取消订单这个更新后的状态机同时覆盖了普通订单和礼品订单的完整流程,满足了您描述的特殊场景需求。
如果有上面的这些信息,我想我可以又快又好又安心地把问题解决掉。。。
送礼场景对接方案
https://open.taobao.com/docV3.htm?docId=121931&docType=1
订单同步场景
https://open.taobao.com/doc.htm?docId=1029&docType=1
文档中心 > 消息类目 > 淘宝交易
https://developer.alibaba.com/docs/topic_list.htm
AI是个能提效的工具,可以帮不少忙,即使这样,也要保持自己锐利 唐成,公众号:的数字化之路AI 时代,请放下你的“技术思维”