50000+企业的共同选择
点三全渠道全链路ERP
400 8080 092
编辑:原创 时间:2026-07-21 16:09:13
订单数据的准确实时同步,是ERP/OMS/WMS系统对接有赞订单接口时的核心诉求。有赞开放平台提供了主动轮询和消息推送两种数据同步方案。深入理解并正确组合运用这两种方式,是构建高效订单同步系统的关键。
一、方案一(推荐):消息推送机制
消息推送(Webhooks)是有赞开放平台推荐的数据同步方式。当有赞平台发生订单创建、支付、发货、退款等特定事件时,平台会向开发者预先配置的接收URL发送HTTP POST请求,将事件数据以JSON格式推送给开发者。这种方式实时性强(数据延迟控制在秒级),且避免了频繁轮询对平台和自身服务器造成的压力。
消息推送的配置流程如下:在有赞开放平台应用详情页找到“消息推送”配置入口,填写接收消息的URL,并选择需要订阅的消息类型。有赞支持的订单类消息类型包括:
消息类型 | 触发事件 | 推荐处理逻辑 |
trade_TradeCreate | 交易创建 | 记录订单基本信息 |
trade_TradePaid | 订单支付成功 | 触发ERP预扣库存、生成拣货任务 |
trade_TradeSuccess | 交易成功(确认收货) | 完成订单结算、更新会员积分 |
trade_TradeClose | 交易关闭 | 释放预占库存、取消发货任务 |
trade_SellerSend | 卖家发货 | 同步物流信息 |
refund_RefundSuccess | 退款成功 | 更新订单状态、释放库存 |
消息验签是确保安全性的第一道防线。有赞推送的每个消息请求头中都包含X-Youzan-Client-Id和X-Youzan-Sign字段。开发者需要将请求体原始字符串与client_secret拼接后进行MD5加密,与X-Youzan-Sign字段对比验证。
幂等性处理是保证数据一致性的核心。由于网络抖动或平台重试机制,同一事件可能被多次推送。开发者应在本地数据库中记录已处理的msg_id,重复消息直接忽略。
消息重试机制:如果开发者服务器处理消息失败(返回非2xx状态码),有赞平台会按照1分钟、5分钟、30分钟的间隔进行重试,最长持续3天。开发者应确保接收URL稳定可用,并对处理失败的消息进行补偿处理。
二、方案二:主动轮询
对于未接入消息推送或需要兜底补偿的场景,可使用youzan.trades.sold.get接口进行主动轮询。该接口支持按创建时间、修改时间等条件筛选订单。
增量同步策略:建议基于订单的update_time(更新时间)进行增量拉取。记录每次同步的最大更新时间戳作为下次拉取的起点,避免重复拉取和遗漏。轮询频率建议设置为5-10分钟一次。
分页策略:接口的page_no参数最大不能超过100。开发者需正确处理分页逻辑,循环拉取直至获取全部数据。
三、双通道架构:推荐的组合方案
“消息推送为主、主动轮询为辅”的双通道架构是业界最佳实践。消息推送保障订单数据的实时性,主动轮询作为兜底补偿机制防止因回调丢失导致的数据遗漏。
四、订单来源渠道的识别
如果店铺同时在App、微信等多渠道经营,可通过youzan.trades.sold.get接口的返回值中source_info.platform字段来区分订单来源渠道。当platform值为merchant_3rd时代表该订单为App订单。
五、历史订单与数据对账
消息推送配置后,只会对配置完成后产生的订单生效,历史订单不受影响。对于历史订单数据,需通过主动轮询方式进行一次性拉取。同时,建议每日低峰期进行一次全量对账,比对本地订单状态与有赞平台状态,自动修复差异数据。
点三深耕全渠道数据对接领域十余年,已全面适配平台订单接口的消息推送与增量轮询双通道架构。点三电商开放平台内置了消息验签、幂等去重、自动重试和对账修复等核心能力,帮助数千家企业实现订单数据的实时、可靠同步。
最新文章