电子商务平台对接电商供应链,不得不说的开放平台电商API接口

news2024/11/26 15:40:16

B2B电商开放平台的设计需要从以下几面去思考:

  1. 开放平台API接口的设计,主要是从功能需求的角度,设计满足业务需求的接口及对应的字段;

  2. 平台与商家之间信息的对接,对接的方法有哪些?对接过程中需要可能会遇到什么问题;

  3. 同步开关及权限的设计,处理信息自动同步和手动设置之间的矛盾。

 

一、开放平台API接口的设计

1. 商品

商品方面的同步,主要是考虑到:

  1. 商品的上传;

  2. 商品价格同步;

  3. 商品批号同步;

  4. 商品上下架同步。

1.1.1 商品的上传

商品上传同步的目的在于把商家需要出售的商品同步到平台,平台把商家上传的商品显示在前端页面,下单成功之后,商品明细信息跟着订单信息一起传给商家。

商品上传过程中需要处理的问题:

  • 商品上传的信息需要包含“ERP商品ID”作为该商品的唯一标识;

  • 很多平台都会存在基础商品,例如药品,食品,水果等;如果出售的标的是可以明确定义的,商家只是作为一个经销商存在的情况下,平台可以统一定义基础商品;

  • 在存在基础商品的情况下,商家的上传的商品信息需要与平台的基础商品匹配生成出售的SKU。

匹配的方法可以分为两种:

  1. 可以根据商品的条码,批准文号,规格,厂家等进行匹配,但是要求根据这些条件能完全确定这个商品和基础商品是同一个商品;

  2. 对于一些商品来说,没有确定的规格供程序完成商品的匹配的时候,需要人工介入进行判断,然后在上传的时候直接附加上“基础商品ID”,通过“基础商品ID”直接进行关联。

正常情况下,商品上传之后不能马上上架并出售,而是先要同步库存之后通过调取批量上下架接口上架或手动点击上架。

如果商品上传之后如果需要直接可以上架出售,接口必须还包含商品销售信息如:价格和库存,所以商品上传的接口必须包含默认单价和库存,其中默认单价必填,库存可以为空并默认为0(同时可以设置规则:库存为0的商品不自动上架销售而库存不为0的商品自动上架销售)。

平台不存在基础商品的时候,不提倡商品直接上架,而是需要审核,因为可能商家上传的商品是平台不允许销售的。

1.1.2 修改商品价格

商家在平台出售的商品的价格并不是固定的,对于SKU比较多的商家而言,商品的价格往往是在ERP直接进行修改,然后同步到各个第三方平台,所以价格同步是不可或缺而且对于实时性,准确性的要求比较高。

另一方面,商品的销售价格往往由于成本的因素或市场的侧重点不同,往往需要针对不同的地区,客户类型设置不同的价格,而这些设置同样往往是在ERP中设定好的,同样需要同步到平台。

商品价格同步需要处理的问题:

  1. 接口需要能满足商品需要同时修改多种类型的价格,包括默认单价,建议零售价,地区价/客户等级价的需求;

  2. 对于地区价或客户等级价,需要在平台中定义好规范的地区组或客户组,同步价格的时候,接口中存在字段“地区组”或“客户组”的ID来与平台的商品价格进行匹配。

地区组的概念:由于行政区划的单位比较多,所以不可能为每一个行政区设置一个价格,通常由于不同商品对于地区价的定义都是一样的,如在A,B两个商品在广东,广西的定价一样而不同于其他地区,那么就可以将广东和广西设置为一个地区组;商品就可以针对每个地区定义价格了

1.1.3 商品批号同步

同一个商品可能由于生产批次不同会存在不同批号的货品,尤其是对于存在有效期的商品,商品的有效期是和批号是直接挂钩的;商品的批号上传至平台之后,可以直接展示在商品详情中,客户能知道其购买商品有效期的情况,在生成订单之后可以跟着订单信息一起传至商家ERP系统中,作为商家发货的依据。

商品批号同步需要处理的问题:

  1. 接口需要传的字段主要包括批号,生产日期和有效期;

  2. 每次通过接口同步批号的时候,应当只同步正在出售的批号(可以根据库存是否为0判断),且每次全量更新,数据库里面不能存在冗余批号数据;

  3. 批号同步除了每次都全量更新之外,也可以选择每次只更新最新的或库存最大的批号。

1.1.4 商品上下架同步

商品上下架同步接口主要用来进行批量的商品下架或下架的操作,尤其是新商品刚刚上传的时候,商品处于待上架的状态,需要进行批量的上下架;此外,如需同时上下架多个商品,通过接口操作会比在界面上一个个点击的效率更高。

2. 库存

库存同步

库存同步是使用最频繁且实时性,准确性要求最高的接口;库存同步的不及时或不准确可能会造成商品负卖或客户无法下单购买。

库存同步需要处理的问题:

  1. 同步时间间隔必须尽可能短且准确;

  2. 有些ERP系统库存是和批号关联的,需要汇总求和该商品相关批号的库存。

3. 客户

商户ERP客户同步

正常来说,商户的ERP系统中保存的客户是不需要传给平台,只需要订单存在收货人,收货电话和送货地址及客户在下单时留的发票信息,即可完成发货的操作。

但对于一些特殊产品和特殊行业来说,由于商业原因或行业规则需要(如医药B2B采购要求采购商有相关资质证件),ERP系统中生成订单时需要先存在ERP客户信息,那么ERP客户编号必须先给到平台,然后与平台的客户进行匹配映射,在同步订单需要同时把ERP客户信息一起传输给ERP,商户ERP根据ERP客户信息生成新的ERP订单。

商户ERP客户同步需要处理的问题:

ERP客户同步至平台有多种方案:

  1. 平台生成订单后,商户看到订单对应的客户资料之后,基于平台的客户资料补充ERP客户编号,平台将订单信息同步至商户ERP时顺便将ERP客户编号也一起传过去,商户ERP可根据这个ERP客户编号生成ERP订单;

  2. 商户ERP预先直接将ERP中所有的客户全部同步至平台,并与平台客户做匹配,订单生成后若下单客户存在ERP客户编号,则该订单直接同步至ERP系统生成ERP订单,否则需要先在ERP系统中创建客户资料并同步至平台(ERP客户资料和平台客户可基于营业执照的统一信用代码进行匹配)。

方案1可以更好地保护商户的客户资料,保证不外泄;方案2会比较方便,需要手动操作的比较少。

4. 订单

订单方面的同步,包含以下几个方面:

  1. 查询订单列表;

  2. 同步物流信息;

  3. 同步发货信息;

  4. 同步ERP订单状态。

1.4.1 查询订单列表

该接口用于商家ERP系统请求同步平台已付款的订单,查询订单列表接口需要处理的问题:

  1. 接口需要支持根据同步状态查询订单,查询订单成功后,平台方需要将对应的订单同步状态改为“已同步”,这样可以保证每次查询的时候至查询“未同步”的订单;另外,如需查询已同步的订单也可指定对应的状态进行查询。

  2. 查询的方式需要支持按照条件查找,如:开始时间、结束时间、订单状态、同步状态等,同时也需要支持按照订单编号精确查询。

  3. 响应的数据应分为四部分:订单基本信息;订单金额信息;送货信息;发票信息;订单商品项信息。其中送货信息和发票信息一般在商户的ERP系统中已存在,但可能与平台的信息不一致所以也需要一起返回给ERP系统。

  4. 商品项信息可以包括发货的批号,客户将客户在下单时看到的批号信息传输给商户ERP,这样能很大程度减少客户退款率。

1.4.2 物流信息同步

订单在商户ERP系统发货后,需传递对应的物流信息给平台,用于展示给客户查看,物流信息同步接口需要处理的问题:

  1. 商户ERP系统中的物流商与平台方的物流商必须一一对应,才能进行物流信息的传递和展示,所以平台可以提供一份物流商编码和物流商名称给商户ERP,ERP发货时将对应的物流商编码及订单号传给平台。

  2. 物流信息同步也代表着订单肯定是已经发货了,如果不设计其他更改订单状态的接口的话,可以在ERP上传物流信息的时候,平台自动将订单将订单状态改为“已发货”。

1.4.3 发货信息同步

对于B2B电商来说,在平台产生的订单传到ERP系统的时候,可能产生以下问题:

  1. 同一个商品可能购买多个,可能由于库存的原因导致部分商品缺货,所以在发货的时候,可能会少发某种商品或某种商品的一部分数量;

  2. 商户ERP中商品由于不同批次的原因,生产日期和有效期可能会不一致,用户付款成功后,需要看到发货信息中商品批号对应的有效期的情况,所以商户ERP中需要在发货时传递相关信息到平台。

发货信息同步接口主要是在ERP系统订单出库之后,将出库的商品明细传至平台,需要传递的字段包括:ERP商品编号、发货数量、批号、生产日期、有效期。

1.4.4 同步ERP订单状态

ERP订单状态主要指订单在ERP中处理环节的各个状态,订单传至ERP系统之后,可能需要进行提单、分拣、出库、配送等环节,在客户收到货之后,物流公司也会反馈回签收信息。

ERP订单状态同步至平台后有以下两方面作用:

  1. 平台可根据ERP订单状态单独生成物流信息,展示给客户,如:ERP订单状态变为“已提单”则物流信息新增一条:订单已处理,商家拣货中。

  2.  特定的ERP订单状态可以与平台订单状态关联起来,如:ERP订单状态变为”已签收”,平台接收到该条ERP订单状态的信息之后,可以将订单状态改为“交易完成”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PaDiM 无监督异常检测和定位-论文和源码阅读

目录 1. 论文 1.1 检测效果 1.2 框架 1.2.1 特征提取embedding extraction 1.2.2 正样本学习Learning of the normality 1.2.3 计算异常图 inference: computation of the anomaly map 2. 源码 2.1 dataset 2.2 model 2.3 提取特征 1. 论文 https://arxiv.org/abs/…

Redis 6.0 新功能

1-支持 ACL 1.1-ACL 简介 官网:https://redis.io/topics/acl Redis ACL 是访问控制列表(Access Control List)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。 Redis 5 版本之前,Redis 安全规则只有密码控制&#xf…

Python元编程详细教程

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 简单定义“元编程是一种编写计算机程序的技术,这些程序可以将自己看做数据, 因此你可以在运行时对它进行内审、生成和/或修改”&#xff…

SpringCloud篇---第三篇

系列文章目录 文章目录 系列文章目录一、负载平衡的意义什么?二、什么是Hystrix?它如何实现容错?三、什么是Hystrix断路器?我们需要它吗?一、负载平衡的意义什么? 在计算中,负载平衡可以改善跨计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器等多 种计算资源的…

超高真空变温台的真空压力和气氛精密控制解决方案

摘要:针对目前国内外显微镜探针冷热台普遍缺乏真空压力和气氛环境精密控制装置这一问题,本文提出了解决方案。解决方案采用了电动针阀快速调节进气和排气流量的动态平衡法实现0.1~1000Torr范围的真空压力精密控制,采用了气体质量流量计实现多…

配置OpenCV

Open CV中包含很多图像处理的算法,因此学会正确使用Open CV也是人脸识别研究的一项重要工作。在 VS2017中应用Open CV,需要进行手动配置,下面给出在VS2017中配置Open CV的详细步骤。 1.下载并安装OpenCV3.4.1与VS2017的软件。 2.配置Open CV环…

纠结蓝桥杯参加嵌入式还是单片机组?

纠结蓝桥杯参加嵌入式还是单片机组? 单片机包含于嵌入式,嵌入式不只是单片机。. 你只有浅浅的的单片机基础,只能报单片机了。最近很多小伙伴找我,说想要一些单片机资料,然后我根据自己从业十年经验,熬夜搞了几个通宵…

Selenium安装WebDriver Chrome驱动(含 116/117/118/119/120/)

1、确认浏览器的版本 在浏览器的地址栏,输入chrome://version/,回车后即可查看到对应版本 2、找到对应的chromedriver版本 2.1 114及之前的版本可以通过点击下载chromedriver,根据版本号(只看大版本)下载对应文件 2.2 116版本…

1. eulerAngles函数

对线性代数库Eigen3中eulerAngles函数的理解_qingtian11112的博客-CSDN博客作用: 将旋转矩阵转换为欧拉角 Vector3f ea mat.eulerAngles(2, 0, 2); // 等价于 mat AngleAxisf(ea[0], Vector3f::UnitZ())* AngleAxisf(ea[1], Vector3f::UnitX())* AngleAxisf(ea[…

《Pytorch新手入门》第二节-动手搭建神经网络

《Pytorch新手入门》第二节-动手搭建神经网络 一、神经网络介绍二、使用torch.nn搭建神经网络2.1 定义网络2.2 torch.autograd.Variable2.3 损失函数与反向传播2.4 优化器torch.optim 三、实战-实现图像分类(CIFAR-10数据集)3.1 CIFAR-10数据集加载与预处理3.2 定义网络结构3.3…

99/年服务器测评,续费也99一年,真香,值得入手

每个帐号都有开通名额,开通99元一年,配置2核2G 40G 3M(不限流量),续费也是99一年 开通之后就可以直接续费,免除后顾之忧(一年一年的去续费,直接选择5年价格不太对) 地址:https://mur…

成为java高手的八个条件

成为java高手的八个条件 1、扎实的基础 数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不…

投资者如何保障个人利益?行业律师与欧科云链专家给出建议

香港作为全球加速拥抱Web3变革的引领之地,规定自今年6月起在香港经营虚拟资产服务业务需申领牌照。蜂拥而至的Web3创业公司,伺机而动的加密货币交易所,以及跃跃欲试的行业从业者,都让这座金融之都热闹非凡。但近期伴随JPEX诈骗案等…

HarmonyOS UI 开发

引言 HarmonyOS 提供了强大的 UI 开发工具和组件,使开发者能够创建吸引人的用户界面。本章将详细介绍在 HarmonyOS 中应用 JS、CSS、HTML,HarmonyOS 的 UI 组件以及如何自定义 UI 组件。 目录 JS、CSS、HTML 在 HarmonyOS 中的应用HarmonyOS 的 UI 组…

使用 Sealos 将 ChatGLM3 接入 FastGPT,打造完全私有化 AI 客服

FastGPT 是一款专为客服问答场景而定制的开箱即用的 AI 知识库问答系统。该系统具备可视化工作流功能,允许用户灵活地设计复杂的问答流程,几乎能满足各种客服需求。 在国内市场环境下,离线部署对于企业客户尤为重要。由于数据安全和隐私保护…

springboot--多环境配置快速切换开发、测试、生产环境

多环境配置快速切换开发、测试、生产环境 前言1、使用1.1指定环境Profile({"dev","test"})Spring Profiles 提供一个隔离配置的方式,使其仅在特定环境生效 任何Component,Configuration或ConfigurationProperties 可以使用Profile标记&#xff…

11.2树的高度,表达式树,非递归遍历,层序遍历,奇偶树

课上 前序,根左右 中序,左根右 若前序中序相同,则树都没有左节点 求树的高度 表达式树 中缀表达式树 主要考虑括号问题 这个就是考虑递归底层,要结束时的情形;以及根节点的情形; 由于表达式树是满树&…

数据库实验:SQL的数据定义与单表查询

目录 实验目的实验内容实验要求实验过程实验步骤实例代码结果示意 数据库的实验,对关系型数据库MySQL进行一些实际的操作 实验目的 (1) 掌握DBMS的数据定义功能 (2) 掌握SQL语言的数据定义语句 (3) 掌握RDBMS的数据单表查询功能 (4) 掌握SQL语言的数据单表查询语句…

UN38.3认证和MSDS有什么区别? 锂电池UN38.3检测标准要求

通常很多人做电池检测的时候,将UN38.3和MSDS混淆或者认为是同一个认证,这对办理检测有非常大的影响。MSDS是化学安全技术说明书,是一份对锂电池成分以及应急处理的文件,UN38.3是对锂电池的一份安全检测。因为锂电池要空运&#xf…