API VS EDI( 二 )


数据格式
API自定义格式时,可以任意选择如CSV、XML、JSON等常见数据格式 。EDI商业文档则是全球统一标准格式,选择性很少,标准化很高 。
数据格式仅仅是相同数据的不同表现形式,没有优劣可言 。但从另一方面来说,选择多样化,可能也会产生更多的沟通成本,从而出现更多问题 。
数据传输方式
使用API调用作为传输方式时,会用到http/https传输协议 。作为API接口的设计者,通常需要考虑到连接安全性,例如使用哪种身份认证方式,token需要动态获取还是永久授权等,同时还需考虑到授权管理和用户管理 。此外,设计者还需要考虑接口的并发性能,能否被足够多的合作伙伴同时调用或频繁多次调用 。而作为API接口的调用者,以上提到的安全认证方式,可能各个API接口都不相同,需要大量的代码定制化开发;另外,若是有遇到API响应较慢,存在性能问题,接口调用者的体验就会很差,还需考虑到调用失败后的容错机制和重发机制等 。
使用EDI传输,最常使用的是AS2传输协议和OFTP2传输协议,这些传输协议都需要通过国际机构的互操作性认证,其中包含了许多对于异常的格式化处理,例如断点续传、发送失败自动重发、使用回执确保不可抵赖、第三方CA机构颁发的证书用于签名加密的安全保障等,所有的要求是否启用仅需要简单的勾选配置即可,无需任何代码实现 。
以对接沃尔玛为例,沃尔玛提供了两种对接方案,分别是API和EDI 。供应商在向沃尔玛请求获取订单时,如果选择API调用,就需要定时向沃尔玛发送请求,建立连接,主动获取订单;而如果使用EDI,沃尔玛产生订单后会主动推送至客户系统,无需重复请求 。在订单量较大的情况下,API调用还有可能存在并发问题,这也是为什么沃尔玛要求供应商,如果一年的订单量预计会超过15,000单时,必须要使用EDI来完成对接 。
【API VS EDI】进一步来说,API和EDI也不是非此即彼的相对关系,企业可以将其融合,在标准化的同时,实现更贴近自己内部的业务,API和EDI,何不两者兼得?