常见问题
关于系统对接,你可能想知道
这些是客户问得最多的问题。如果没找到答案,直接联系我们。
我们已经有一套对接了,能不能在原来的基础上改造扩展?
多数情况可以改,不必推倒重来,但要先摸清存量链路再决定改哪里。
第一步摸底。把现有对接完整跑一遍:数据从哪张表或哪个接口取、经过哪些转换、写到对方哪里、有没有中间件、跑在哪台机器上、现在谁在维护。不少老对接没有文档,这一步不能省。
第二步判断可复用部分。鉴权方式、传输通道、调度与重试机制、日志与告警这几层通常与业务无关,可以直接沿用;字段映射、编码对照、业务校验这部分要随新需求重写。
第三步评估风险点。老对接有没有写死常量、有没有依赖对方特定版本、数据库直连的表结构有没有变、还有没有人在同步改这套程序。这几项不清楚就动手,容易改一处坏一片。
什么时候建议重做:原对接面向的系统已经换代、原代码无人可维护、核心表结构大改、或者老方案本身就是定时导文件硬凑、撑不住新的时效要求。这几种情况下改造的钱花下去,拿到的仍是一套勉强能跑的东西。
改造前先备份原有程序与配置,在测试环境或单店、单品类上试跑,比对新旧两套输出一致再切生产,并保留回退通道。
对接涉及境外系统或跨境业务,时区和币种要注意什么?
跨境对接最容易出问题的不是技术,而是口径。时区方面,双方要书面约定以哪个时区为准,建议时间字段统一存 UTC,展示层再按各自时区转换——否则对方当地下午下的单,落到我们这边就成了第二天。日切时点也要写清楚:对方按 UTC 日切、我们按东八区日切,同一笔业务会被归到不同的日期,日报与月报必然对不上。
币种方面,金额按「原币 + 本位币」双字段保存,不要只存换算后的金额;汇率取数时点必须写死在方案里——按下单日、结算日还是月末固定汇率,汇率取自哪个来源、由谁更新,都要留痕,否则双方各算一套。小数位与舍入规则也要提前定:保留几位、四舍五入还是向上取整、税额是含税价倒算还是不含税价正算,顺序不同结果差几分钱,量大了就是一笔对不上的差异。
另外三项容易漏:工作日与节假日按谁的日历算(尤其出报与结算截止日)、跨境链路抖动时的超时与重试策略、数据出境的合规要求。上线前用同一批样例数据双方各跑一遍,逐笔比对日期归属与金额,一致再切生产。
门店和仓库现场的硬件设备(PDA、扫码枪、打印机)谁负责配?
通常这样分:我们出规格清单与兼容性要求,硬件由客户方采购,到货后我们负责联调。需要代采也可以,但产权与保修仍归客户,出问题直接找厂家,责任清楚。
规格清单在方案阶段就给到,写明三类参数。一是 PDA:操作系统版本、要不要二维扫码头、电池续航与防护等级、是否需带 4G,仓库多尘、冷链低温的场景要单独提要求。二是扫码枪:一维还是二维、有线还是蓝牙、要不要远距离扫描。三是打印机:标签打印机还是小票打印机,纸宽、分辨率、是否热敏,驱动能否在现有系统上安装。另外别漏了网络——仓库与门店的无线覆盖要提前实测,信号死角是上线后最常见的问题。
联调按「先网络、后设备,先单机、后批量」的顺序:先确认现场网络通,再逐台装驱动、连系统、打测试页、扫测试码,单机通过后再铺开。验收时逐台过一遍真实业务动作(入库、拣货、盘点、打单),并留一两台备用机。型号一旦定下来不要在实施中途更换,换了就要重新联调。
对接之后能不能直接给老板出报表或数据看板?
可以,但要分三步做,先把「对接」和「报表」分开:对接负责把数据搬准,报表负责把数据讲清楚,混在一起做,改一个口径就要动对接程序。
第一步是数据落地。对接环节把订单、出库、回款、库存这些明细写进中间表(或数据仓库),字段、口径、更新频率固定下来,明细要留全,先别只留汇总数。
第二步是确认口径,这一步必须有业务人员参与,也是最容易出问题的地方。至少定清:金额含税还是不含税;销售按出库、按签收还是按开票算;退货冲哪个月;跨月数据以哪个时点为准;部门、业务员、客户分类按哪套标准。口径不落纸面,两个部门看到的数永远不一样。
第三步才是展示,常用三种:一是定时生成 Excel 或 PDF,按邮件、企业微信推送日报周报;二是接 BI 工具(帆软、Quick BI、Power BI 等)做看板,手机上看;三是对接已有的报表工具,直接读中间表。
两点提醒:先做明细表再做汇总表,明细在,以后加报表不用重新采集;看板指标控制在十个以内,多了没人看。异常预警(库存低于安全线、对账出现差异、单子卡住超时)比堆一堆图表更有用。
方案里常说的「中间库」是什么?为什么很多对接都用它?
中间库不是买来的一套软件,而是在两套业务系统之间专门划出的一块数据落地区,可能是一张或几张表,也可能是一个独立小库。它不属于任何一端的业务系统,只做四件事:接数据、存数据、洗数据、对数据。
很多对接都离不开它,原因有五个:一是解耦,一边改版换字段,改的只是中间库这一侧的映射,不会直接把另一边改坏;二是留痕,原始报文、处理时间、处理结果都留在表里,出问题时能追到哪一条、哪个字段、哪一步出错,不用两边互相猜;三是重试补数,推送失败的数据在中间库排队重发,不会丢;四是集中对照,货号、客户、单位这些编码映射集中维护,不再散落在程序里;五是不侵入,对方不必开放数据库权限。
怎么建才不变成第二个包袱:一个对接一张主表加四张辅表就够——业务明细表、编码对照表、状态日志表、差异表;每张表带来源系统、批次号、处理状态、时间戳;保留期先定死,明细通常留三到十二个月、日志留六个月;明确谁负责看这张表。
两点提醒:别在中间库上做长期分析报表,明细要往下游数仓落;也别把业务规则塞进中间库,否则改一个口径就要动程序。
对接的异常能不能直接推送到企业微信或钉钉群里?
可以,这也是我们现在默认会做的一项,做法分五步。
第一步先分级,别什么都推。一般分三级:要马上处理的(写入失败、重试耗尽、鉴权失效、长时间没有数据进来)、当天要看的(部分字段校验不通过、数量波动超过阈值)、只需留底的(单次重试成功、无数据)。只有前两级进群,第三级只进日志,否则群很快被刷成噪音,真出事反而没人看。
第二步接通道。企业微信和钉钉都支持群机器人 webhook,配置时把地址放进服务端配置、不要写死在业务代码里,加签或关键词校验要开;同时注意平台有发送频率限制,异常集中爆发时要做合并。
第三步定内容。一条能用的告警至少带上:任务名称、发生时间、单号或批次号、失败原因摘要、影响条数、已重试几次、下一步找谁。只发一句「同步失败了」等于没发。
第四步做降噪与升级。同类异常按任务加错误类型合并,达到阈值再发;设免打扰时段与值班表;超过约定时长没人认领的自动升级到负责人。
第五步注意脱敏,群里只发摘要与单号,不要把客户名称、联系方式、金额明细直接推到群里。
能不能先看看效果再决定?有没有可以试的东西?
可以,而且正规的实施流程本来就安排了「先看后签再上线」三步。
第一步看样例:用脱敏的样例数据(几张销售单、几张采购入库、几张开票记录)在演示环境跑一遍完整链路,看数据怎么取、字段怎么映射、结果长什么样,先判断思路对不对得上你的业务。
第二步跑原型:贵司导出一小批真实历史数据(几十到几百条)做验证,重点看三样——字段映射是否正确、金额与数量是否分毫不差、异常数据(缺字段、重复编码)怎么提示。这一步通常在方案阶段完成,费用很低甚至包含在前期诊断里。
第三步试点验收:正式实施时先选一个门店、一类单据或一个报送对象试运行一至两周,输出结果与现行手工做法逐笔比对,一致或差异可解释再切换全量。
两点提醒:一是能「试」的是链路和规则,最终效果还取决于贵司基础数据的干净程度,数据没清理就试,试出来的问题也不是对接本身的问题;二是拒绝两种做法——要求对方先全量免费做几个月,或者直接在生产账套上试错,前者对双方都不划算,后者有真实风险。双轨并行、试点先行,才是稳妥的路径。