從兩個(gè)不同的視角,拆解ERP和WMS的對(duì)接

2 評(píng)論 3412 瀏覽 14 收藏 16 分鐘

這篇文章,作者通過(guò)兩個(gè)不同的案例,用“兩個(gè)不同的視角”來(lái)給大家拆解一下ERP和WMS的對(duì)接背后,有哪些業(yè)務(wù)知識(shí)、產(chǎn)品知識(shí),技術(shù)知識(shí)和可借鑒學(xué)習(xí)的經(jīng)驗(yàn)之談。

之前我寫(xiě)過(guò)一篇文章“不懂技術(shù)的產(chǎn)品經(jīng)理,怎么搭建OpenAPI平臺(tái)的項(xiàng)目?”,主要是以一個(gè)海外倉(cāng)WMS產(chǎn)品經(jīng)理的視角來(lái)闡述如何搭建海外倉(cāng)WMS的OpenAPI平臺(tái),這種主動(dòng)去搭建對(duì)外的OpenAPI平臺(tái)的機(jī)會(huì)在B端產(chǎn)品經(jīng)理的日常工作中并不多見(jiàn),反而是自己作為需求方 然后去對(duì)接外部的系統(tǒng)接口這種活會(huì)做的更多一些。

很多沒(méi)怎么做過(guò)相關(guān)類(lèi)似工作的產(chǎn)品經(jīng)理,同時(shí)自己可能又不太懂技術(shù),就會(huì)在這件事上有點(diǎn)犯怵,有點(diǎn)困惑。不知道怎么去整理接口文檔的核心邏輯,怎么去輸出產(chǎn)品需求文檔, 怎么去和研發(fā)交付、評(píng)審需求等。

本篇文章,我就用“兩個(gè)不同的視角”來(lái)給大家拆解一下,關(guān)于常見(jiàn)的ERP和WMS的對(duì)接,這背后有哪些業(yè)務(wù)知識(shí)、產(chǎn)品知識(shí),技術(shù)知識(shí)和可借鑒學(xué)習(xí)的經(jīng)驗(yàn)之談。

為什么說(shuō)是“兩個(gè)不同的視角”呢?因?yàn)樵谌粘5墓ぷ髦?,我們往往要么只?fù)責(zé)ERP項(xiàng)目,要么只負(fù)責(zé)WMS項(xiàng)目,很少會(huì)有機(jī)會(huì)同時(shí)負(fù)責(zé)ERP,又負(fù)責(zé)WMS。所以這里提到的兩個(gè)視角,其實(shí)就是ERP的視角和WMS的視角。

  • 作為ERP的視角:我是電商ERP或者內(nèi)部ERP,需要對(duì)接外部三方倉(cāng)庫(kù),然后把相關(guān)的單據(jù)指令推送到倉(cāng)庫(kù),讓倉(cāng)庫(kù)按指令去完成收貨、出庫(kù)等。
  • 作為WMS的視角:我是對(duì)外提供服務(wù)的倉(cāng)儲(chǔ)服務(wù)商,有一個(gè)或者多個(gè)實(shí)體倉(cāng)庫(kù),也有一套相關(guān)的WMS系統(tǒng),我需要對(duì)外開(kāi)放自己的OpenAPI,讓相關(guān)的客戶接入到WMS中,可以通過(guò)接口給WMS下發(fā)作業(yè)指令。

一、作為電商ERP,對(duì)接外部WMS

維他零售公司,之前都是做線下的批發(fā)和零售業(yè)務(wù),對(duì)接的都是一些主要做B2B業(yè)務(wù)的倉(cāng)庫(kù)。最近根據(jù)業(yè)務(wù)的規(guī)劃要開(kāi)拓電商業(yè)務(wù),所以想要對(duì)接B2C的電商相關(guān)的倉(cāng)庫(kù),目前已經(jīng)找好了一家意向的倉(cāng)庫(kù),對(duì)方用的是萬(wàn)里牛WMS,所以需要對(duì)接萬(wàn)里牛WMS的接口。https://open.hupun.com/api-doc/wms/open/oms/bill/cancelbill/v2

1. 調(diào)研業(yè)務(wù)需求,梳理當(dāng)前訴求

既然要搞B2C的電商業(yè)務(wù),那么就要先自己內(nèi)部把相關(guān)的需求給調(diào)研清楚,明確清楚,可能會(huì)涉及到電商運(yùn)營(yíng)部門(mén),倉(cāng)儲(chǔ)物流部門(mén),采購(gòu)和計(jì)劃部門(mén)等,都需要拉通。

2. 閱讀接口文檔,提取有效信息

上述的相關(guān)分析,和正常做一些業(yè)務(wù)需求是一樣的,不會(huì)因?yàn)樾枰涌趯?duì)接就有什么特別不太一樣的,所以按正常的需求分析和需求澄清的方式方法來(lái)執(zhí)行即可。

當(dāng)背景信息和原始需求都搞清楚了之后,接下來(lái)就可以去閱讀接口文檔,提取接口文檔中的一些關(guān)鍵信息了。

  1. 獲取接口文檔的地址或者文件附件;
  2. 查看對(duì)接指引,了解大概的對(duì)接流程和步驟,按對(duì)方的要求執(zhí)行即可;
  3. 閱讀具體的API文檔,了解對(duì)方提供了哪些接口(API EndPoint),不同的接口有什么作用;
  4. 結(jié)合需求調(diào)研,再加上自己對(duì)接口文檔的理解,可以梳理出要大概對(duì)接哪些EndPoint;

萬(wàn)里牛接口文檔示意圖

經(jīng)過(guò)相關(guān)的調(diào)研和確認(rèn)之后,產(chǎn)品經(jīng)理就可以整理出自己要對(duì)接哪些接口了。

  1. 接口認(rèn)證、授權(quán)、鑒權(quán)等;
  2. 商品同步,即從ERP推送商品資料到WMS中;
  3. 入庫(kù)單創(chuàng)建,即從ERP推送采購(gòu)訂單到WMS中;
  4. 退貨入庫(kù)單創(chuàng)建,即從ERP推送退貨入庫(kù)單到WMS中,如果電商倉(cāng)沒(méi)有退貨業(yè)務(wù),則不需要對(duì)接;
  5. 發(fā)貨單創(chuàng)建接口,即從ERP推送銷(xiāo)售訂單到WMS中;
  6. 單據(jù)取消,即從ERP發(fā)起單據(jù)的取消,可以取消入庫(kù)單,退貨入庫(kù)單,發(fā)貨單等;
  7. 入庫(kù)單確認(rèn)接口,即WMS入庫(kù)之后,更新?tīng)顟B(tài)和數(shù)據(jù),反向推送給ERP;(Webhook-回調(diào))
  8. 退貨入庫(kù)單確認(rèn)接口,即WMS退貨入庫(kù)之后,更新?tīng)顟B(tài)和數(shù)據(jù),反向推送給ERP;(Webhook-回調(diào))
  9. 發(fā)貨單確認(rèn)接口,即WMS發(fā)貨出庫(kù)之后,更新?tīng)顟B(tài)和數(shù)據(jù),反向推送給ERP;(Webhook-回調(diào))

3. 對(duì)接口文檔的內(nèi)容做詳細(xì)的批注和分析

WMS方提供的接口文檔,可能非常豐富,文檔介紹非常詳實(shí),也有可能接口文檔內(nèi)容簡(jiǎn)陋,表達(dá)的也不好,所以很有可能會(huì)有很多內(nèi)容需要產(chǎn)品經(jīng)理去確認(rèn),去落實(shí)。

這是產(chǎn)品經(jīng)理在做對(duì)接類(lèi)需求需要花費(fèi)比較多時(shí)間和精力的方面,如果對(duì)方的接口文檔做得好,做得充分,那么對(duì)接流程就會(huì)很順暢,執(zhí)行起來(lái)就會(huì)很簡(jiǎn)單;但是如果對(duì)方的接口文檔做得很爛,很多不全,那么對(duì)接過(guò)程就會(huì)很漫長(zhǎng),需要反復(fù)確認(rèn),修改等。

對(duì)接口文檔的批注和分析,也取決于產(chǎn)品經(jīng)理的經(jīng)驗(yàn)積累和認(rèn)知水平。你懂得越多,很多東西你就一眼能看懂,就無(wú)需過(guò)多的求證和確認(rèn),所以批注的內(nèi)容就少了。

即使自己懂得比較少也沒(méi)關(guān)系,坦誠(chéng)地承認(rèn),然后把自己不知道的東西記錄下來(lái),再通過(guò)會(huì)議或者群聊的方式確認(rèn)相關(guān)的事項(xiàng)即可。關(guān)鍵是要提出一個(gè)好問(wèn)題,同時(shí)自己也要提前做好一些鋪墊知識(shí)的攝取。

4. 根據(jù)接口文檔,輸出接口對(duì)接的需求文檔

接口對(duì)接的需求文檔和日常業(yè)務(wù)需求的需求文檔基本上沒(méi)什么區(qū)別,這里以維他命自定義的需求文檔模板為例,給展示一下和接口對(duì)接相關(guān)的需求文檔該怎么寫(xiě)。

需求文檔大綱示意圖

多系統(tǒng)之間的交互示意圖

整理接口清單列表

對(duì)每個(gè)單獨(dú)的接口做字段解析和說(shuō)明

接口對(duì)接的部分內(nèi)容寫(xiě)完了之后,就可以正常去寫(xiě)系統(tǒng)相關(guān)的功能模塊的需求描述了,主要是說(shuō)明一下要改動(dòng)什么模塊,什么頁(yè)面,什么功能,然后這個(gè)改動(dòng)會(huì)要去請(qǐng)求什么接口,觸發(fā)什么邏輯等。總體還是和日常的業(yè)務(wù)需求沒(méi)什么區(qū)別的。

類(lèi)似日常的業(yè)務(wù)需求描述

二、作為WMS,提供對(duì)外的接口讓ERP對(duì)接

維他海外倉(cāng)是一家專(zhuān)注于服務(wù)歐美市場(chǎng),為3C類(lèi)品牌賣(mài)家提供精細(xì)化倉(cāng)儲(chǔ)服務(wù)的海外倉(cāng)公司,最近剛好自研上線了自己的WMS系統(tǒng)。剛好最近接入了一些KA型客戶,這些客戶希望維他海外倉(cāng)能提供一套對(duì)外的OpenAPI,然后通過(guò)接口可以實(shí)現(xiàn)從客戶的ERP或者后臺(tái)管理系統(tǒng)直接推送商品數(shù)據(jù)、業(yè)務(wù)單據(jù)到WMS中,而不是每次都登錄海外倉(cāng)OMS去手動(dòng)處理單據(jù)。

1. 調(diào)研業(yè)務(wù)需求,梳理當(dāng)前訴求

WMS要對(duì)外提供接口,必然是希望能做成通用的,這樣的話每個(gè)外部客戶要接入WMS都可以走這一套標(biāo)準(zhǔn)。但是通用的API接口,也是有發(fā)展路線的,不是一蹴而就可以達(dá)到通用、標(biāo)準(zhǔn)、規(guī)范、體驗(yàn)棒的。

產(chǎn)品經(jīng)理去調(diào)研業(yè)務(wù)需求,主要是了解一下目前的客戶量級(jí),客戶訴求,客戶需要接入什么功能和模塊,還有當(dāng)前WMS功能的發(fā)展情況,然后制定對(duì)應(yīng)的方案。

2. 研發(fā)和產(chǎn)品各自負(fù)責(zé)OpenAPI的不同模塊

當(dāng)確定了要對(duì)外提供WMS的接口文檔后,產(chǎn)品經(jīng)理和研發(fā)需要分工協(xié)作來(lái)輸出相關(guān)的接口文檔。研發(fā)關(guān)注和技術(shù)有關(guān)的內(nèi)容,而產(chǎn)品則關(guān)注和業(yè)務(wù)邏輯、應(yīng)用參數(shù)相關(guān)的內(nèi)容。

接口文檔主要內(nèi)容以及產(chǎn)品、研發(fā)負(fù)責(zé)的內(nèi)容項(xiàng)

作為WMS方,是否要搭建OpenAPI平臺(tái)得要結(jié)合實(shí)際的業(yè)務(wù)來(lái)定,如果想要了解相關(guān)的一些技術(shù)知識(shí)和產(chǎn)品知識(shí),可以去看我之前寫(xiě)的文章“不懂技術(shù)的產(chǎn)品經(jīng)理,怎么搭建OpenAPI平臺(tái)的項(xiàng)目?”。

3. 產(chǎn)品經(jīng)理定義對(duì)外的接口,然后通過(guò)內(nèi)部評(píng)審

搭建OpenAPI其實(shí)和做業(yè)務(wù)是一樣的,需要逐步迭代,逐步豐富。所以產(chǎn)品經(jīng)理也不可能一次性就把所有要提供的接口都定義出來(lái),都是逐步迭代,逐步完善的。作為一個(gè)“后追型”產(chǎn)品,最快的方式就是對(duì)標(biāo)競(jìng)品,看一下別人是怎么做的,提供了哪些接口,然后借鑒模仿即可。這里以Wingsing海外倉(cāng)的OpenAPI為例,給大家展示一下,一般海外倉(cāng)WMS會(huì)對(duì)外提供什么哪些接口,哪些服務(wù)。

API接口參考列表

很多產(chǎn)品經(jīng)理因?yàn)樽约翰欢夹g(shù),所以會(huì)對(duì)接口文檔天然就有一種抵觸或者畏懼情緒。其實(shí)把接口文檔換成是“簡(jiǎn)配版”的原型或者產(chǎn)品信息結(jié)構(gòu),你就會(huì)發(fā)現(xiàn)提供接口中的字段和畫(huà)一個(gè)表單提交的原型的一樣的意思。

當(dāng)完成了接口文檔的編寫(xiě)和對(duì)外的接口功能之后,要怎么內(nèi)部評(píng)審或者走查呢?

一般來(lái)說(shuō),研發(fā)自己走查(自測(cè))一遍,產(chǎn)品再走查(主要是文檔)一遍,最后測(cè)試再去驗(yàn)證一遍就可以完成相關(guān)的評(píng)審了。接口文檔在后續(xù)如果需要改動(dòng)或者優(yōu)化,需要考慮是否會(huì)對(duì)歷史接入的客戶有影響。如果有影響,那么改動(dòng)之后的接口,就要用新的版本號(hào)來(lái)區(qū)分;如果沒(méi)有影響,那就可以在之前的版本號(hào)上迭代。

接口的版本號(hào)定義,需要研發(fā)來(lái)評(píng)估,如果加了某些必填字段或者結(jié)構(gòu)發(fā)生了變化,那么會(huì)導(dǎo)致“歷史用戶”請(qǐng)求報(bào)錯(cuò),那這種改動(dòng)就需要用不同的版本號(hào)來(lái)劃分。如果沒(méi)有這種影響,那就可以不用新的版本號(hào)了。

4. 對(duì)外發(fā)布上線,并持續(xù)迭代完善

接口定義好,同時(shí)也測(cè)試驗(yàn)證通過(guò)之后,就可以發(fā)布上線了,這個(gè)和普通業(yè)務(wù)需求發(fā)布版本是一樣的。接口發(fā)布之后就可以讓外部客戶來(lái)對(duì)接使用了,在對(duì)接過(guò)程中,如果遇到了某些問(wèn)題再及時(shí)解決,并持續(xù)迭代完善接口文檔即可。

三、總結(jié)

接口對(duì)接實(shí)際涉及到的技術(shù)名詞和技術(shù)知識(shí)挺多的,對(duì)于沒(méi)怎么接觸過(guò)技術(shù)的產(chǎn)品經(jīng)理來(lái)說(shuō)初次上手肯定是會(huì)有一定的難度,但是這并不代表說(shuō)這件事就只能讓懂技術(shù)的產(chǎn)品經(jīng)來(lái)做。

因?yàn)檫@些技術(shù)名詞和知識(shí),其實(shí)花點(diǎn)時(shí)間查一下,然后學(xué)習(xí)一下,基本上能搞懂大概意思就可以了。因?yàn)閷?duì)產(chǎn)品經(jīng)理來(lái)說(shuō),無(wú)論是接口文檔的對(duì)接,還是接口文檔/平臺(tái)的搭建,更核心的東西還是去梳理業(yè)務(wù),明確需求,最后整理成開(kāi)發(fā)任務(wù)。

而這些業(yè)務(wù)的需求,業(yè)務(wù)的知識(shí),業(yè)務(wù)的流程,基本上能看懂接口文檔的作用及其字段的說(shuō)明等就夠了,產(chǎn)品經(jīng)理可以用通俗易懂的自然語(yǔ)言去表達(dá),到時(shí)候再讓研發(fā)進(jìn)行轉(zhuǎn)化即可。

專(zhuān)欄作家

我叫維他命(Vitamin),微信公眾號(hào):PM維他命。前PHPer,做過(guò)在線教育類(lèi)產(chǎn)品,也做過(guò)4年多的跨境倉(cāng)儲(chǔ)物流方向的產(chǎn)品,目前是一位外貿(mào)SaaS領(lǐng)域的供應(yīng)鏈產(chǎn)品經(jīng)理。主要專(zhuān)注于WMS/OMS/TMS/BMS/ERP等領(lǐng)域,分享供應(yīng)鏈相關(guān)的產(chǎn)品知識(shí)。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于 CC0 協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 大佬你好,想問(wèn)下那我在erp上的庫(kù)存數(shù)據(jù)和wms上的庫(kù)存數(shù)據(jù)是用的同一個(gè)嗎?就是在erp上顯示的庫(kù)存值是不是就是直接查詢wms里的庫(kù)存值; 還是說(shuō)erp上有自己的庫(kù)存數(shù)據(jù),wms上也有自己的庫(kù)存數(shù)據(jù),相互之間有關(guān)聯(lián)而已?

    來(lái)自福建 回復(fù)
    1. ERP的庫(kù)存是自己的記錄的,和WMS的庫(kù)存是兩份數(shù)據(jù),一般都是這種做法

      來(lái)自廣東 回復(fù)