Skip to content

加工单接口文档(storeprocess)

基本信息

  • 接口地址:/index.php/api
  • 请求方法:POST
  • 接口类型:接收方接口(第三方 WMS 平台推送 → OMS 接收)
  • 路由参数:method = wms.storeprocess.{action}

接口方法列表

接口名方法功能描述
wms.storeprocess.status_updatePOST加工单确认(包含原料和成品明细)

系统级参数

参数名类型必填名称描述
flagstring接入标识固定值 erpapi
app_idstring应用IDecos.ome
certi_idstring证书ID系统证书编号
from_node_idstring来源节点推送方节点ID
node_idstring目标节点店铺节点ID(OMS节点)
node_typestring节点类型ecos.ome
timestampint时间戳10位时间戳
methodstring接口方法名形如 wms.storeprocess.status_update
signstring签名用于验证请求合法性

签名算法说明

  • 生成公式:sign = strtoupper(md5(strtoupper(md5(assemble($params))). $token))
  • 要点:
    • 参与签名的参数集合不包含 sign 本身;常以键名排序后按约定拼装
    • 首次 md5 后转大写,与 token 拼接后再 md5,最终再转大写
    • 保持编码一致、去除多余空白

接收参数(业务参数)

基础字段

参数名类型必填说明
processOrderCodestring加工单号(与 processOrderId 二选一)
processOrderIdstringWMS加工单ID(与 processOrderCode 二选一)
orderTypestring订单类型
orderCompleteTimestring订单完成时间,格式:Y-m-d H:i:s
actualQtyint实际数量
warehouseCodestring仓库编码
remarkstring备注
extendPropsstring/array扩展属性(JSON字符串或数组)

原料明细(materialitems)

参数名类型必填说明
materialitemsstring原料明细(JSON字符串),数组格式

materialitems 格式

json
{
  "item": [
    {
      "itemCode": "SKU001",
      "itemId": "ITEM001",
      "inventoryType": "ZP",
      "quantity": 10,
      "productDate": "2024-01-01",
      "expireDate": "2025-01-01",
      "produceCode": "PROD001",
      "batchCode": "BATCH001",
      "remark": "备注"
    }
  ]
}

item 数组元素字段

参数名类型必填说明
itemCodestring商品货号
itemIdstring商品ID
inventoryTypestring库存类型:ZP(良品)、CC(残次品)
quantityint数量
productDatestring生产日期,格式:Y-m-d
expireDatestring过期日期,格式:Y-m-d
produceCodestring生产批次号
batchCodestring批次号
remarkstring备注

成品明细(productitems)

参数名类型必填说明
productitemsstring成品明细(JSON字符串),数组格式

productitems 格式:与 materialitems 格式相同

注意

  • materialitemsproductitems 参数需要 JSON 编码后传递
  • 支持单个 item 或多个 item 数组格式
  • 相同 itemCode 的明细会自动合并数量

响应参数

响应格式统一为 JSON,包含以下字段:

字段名类型必填说明
rspstring响应状态:succ(成功)或 fail(失败)
msgstring响应消息(成功时包含操作描述,失败时包含错误信息)
dataobject响应数据(成功时可能包含加工单号等信息)

数据示例

请求示例(加工单确认)

json
{
  "flag": "erpapi",
  "app_id": "ecos.ome",
  "method": "wms.storeprocess.status_update",
  "timestamp": 1700000000,
  "sign": "...",
  "processOrderCode": "MP20250101001",
  "orderType": "PROCESS",
  "orderCompleteTime": "2025-01-01 10:00:00",
  "warehouseCode": "WH001",
  "materialitems": "{\"item\":[{\"itemCode\":\"SKU001\",\"quantity\":10,\"batchCode\":\"BATCH001\"}]}",
  "productitems": "{\"item\":[{\"itemCode\":\"SKU002\",\"quantity\":5,\"batchCode\":\"BATCH002\"}]}"
}

响应示例

响应成功

加工单确认成功wms.storeprocess.status_update):

json
{
    "rsp": "succ",
    "msg": "加工单确认成功",
    "data": {
        "processOrderCode": "MP20250101001"
    }
}

响应失败

加工单确认失败(加工单号必填)

json
{
    "rsp": "fail",
    "msg": "加工单号必填"
}

加工单确认失败(缺少materialitems)

json
{
    "rsp": "fail",
    "msg": "缺少materialitems"
}

加工单确认失败(缺少productitems)

json
{
    "rsp": "fail",
    "msg": "缺少productitems"
}

业务描述

功能说明

加工单用于处理商品加工业务,包含原料消耗和成品产出两个部分。

明细处理

  1. 原料明细(materialitems):记录加工消耗的原料商品和数量
  2. 成品明细(productitems):记录加工产出的成品商品和数量
  3. 数量合并:相同 itemCode 的明细会自动合并数量
  4. 批次信息:支持批次管理的商品需要传递批次信息

幂等性

  • 相同 processOrderCodeprocessOrderId 重复推送时,系统会进行幂等处理

错误码定义

  • E_PARAM:参数缺失或格式不正确(如:加工单号必填、缺少materialitems、缺少productitems等)
  • E_STATE:业务状态不允许
  • E_DUPLICATE:重复提交
  • E_INTERNAL:内部处理异常