Skip to content

采购管理 API

1. 接口概述

采购管理 API 提供了采购单的创建和查询功能。通过这些接口,您可以向系统中添加新的采购单,也可以查询现有的采购单列表信息。

2. 接口列表

接口名方法功能描述
po.getListPOST获取采购订单列表
po.getDetailPOST获取采购订单详情

3. 系统级参数

系统级参数是调用所有接口都必须提供的参数:

参数名类型必填名称描述
flagstring应用标识用于标识调用方身份
methodstring接口方法名例如:po.getList
vernumber版本号固定为1
charsetstring字符集固定为utf-8
typestring返回格式固定为json
timestampstring时间戳格式:yyyyMMddHHmmss
signstring签名用于验证请求的合法性

4. 接口详细说明

4.1 获取采购订单列表

请求参数

参数名类型必填描述
po_bnstring采购订单编号
supplier_codestring供应商编码
branch_bnstring仓库编码
statusstring订单状态(1:待审核 2:已审核 3:已驳回 4:已关闭 5:已取消)
start_timestring下单开始时间,格式:2022-01-01
end_timestring下单结束时间,格式:2022-01-31
page_noint页码,默认1
page_sizeint每页条数,默认50,最大1000

响应参数

参数名类型描述
countint总记录数
listsarray采购订单列表

lists 数组中的每个对象包含以下字段:

参数名类型描述
po_bnstring采购订单编号
po_timestring下单时间
supplier_codestring供应商编码
supplier_namestring供应商名称
branch_bnstring仓库编码
branch_namestring仓库名称
total_amountstring订单总金额
paid_amountstring已付金额
statusstring订单状态
status_textstring状态描述
creatorstring制单人

请求示例

请参考openapi.md文档中【6. 接口调用示例】。

响应示例

json
{
  "count": 100,
  "lists": [
    {
      "po_bn": "PO202201010001",
      "po_time": "2022-01-01 10:00:00",
      "supplier_code": "SUP001",
      "supplier_name": "测试供应商",
      "branch_bn": "WARE001",
      "branch_name": "测试仓库",
      "total_amount": "10000.00",
      "paid_amount": "5000.00",
      "status": "2",
      "status_text": "已审核",
      "creator": "张三"
    }
  ]
}

4.2 获取采购订单详情

请求参数

参数名类型必填描述
po_bnstring采购订单编号

响应参数

参数名类型描述
po_bnstring采购订单编号
po_timestring下单时间
supplier_codestring供应商编码
supplier_namestring供应商名称
branch_bnstring仓库编码
branch_namestring仓库名称
currencystring币种
tax_ratestring税率
total_amountstring订单总金额
total_amount_with_taxstring含税总金额
paid_amountstring已付金额
statusstring订单状态
status_textstring状态描述
creatorstring制单人
remarkstring备注
itemsarray采购订单明细

items 数组中的每个对象包含以下字段:

参数名类型描述
bnstring商品编码
namestring商品名称
spec_infostring规格信息
quantityint采购数量
pricestring采购单价
amountstring采购金额
tax_pricestring含税单价
tax_amountstring含税金额
delivery_quantityint已到货数量
quality_quantityint已质检数量
stockin_quantityint已入库数量

请求示例

请参考openapi.md文档中【6. 接口调用示例】。

响应示例

json
{
  "po_bn": "PO202201010001",
  "po_time": "2022-01-01 10:00:00",
  "supplier_code": "SUP001",
  "supplier_name": "测试供应商",
  "branch_bn": "WARE001",
  "branch_name": "测试仓库",
  "currency": "CNY",
  "tax_rate": "13%",
  "total_amount": "10000.00",
  "total_amount_with_tax": "11300.00",
  "paid_amount": "5000.00",
  "status": "2",
  "status_text": "已审核",
  "creator": "张三",
  "remark": "测试备注",
  "items": [
    {
      "bn": "PROD001",
      "name": "测试商品",
      "spec_info": "红色,M",
      "quantity": 100,
      "price": "100.00",
      "amount": "10000.00",
      "tax_price": "113.00",
      "tax_amount": "11300.00",
      "delivery_quantity": 80,
      "quality_quantity": 70,
      "stockin_quantity": 70
    }
  ]
}

5. 错误码说明

错误码错误信息解决方案
0成功-
1参数错误检查参数格式是否正确,所有必填参数是否都已提供
400参数错误检查参数格式是否正确,所有必填参数是否都已提供
401未授权访问检查flag和sign是否正确
403禁止访问联系管理员获取权限
500服务器内部错误检查请求参数或联系技术支持
1001非法的flag请检查flag是否正确
1002请求已过期请检查timestamp是否正确,请求有效期为5分钟
1003签名错误请检查签名算法和参数是否正确
1004不支持的type格式请使用json格式
2001缺少必要的参数请检查请求参数是否完整
2002非法的请求参数请检查参数格式和范围是否正确
2003接口不存在请检查接口方法名是否正确

6. 注意事项

  1. 时间格式必须为 yyyy-MM-dd HH:mm:ss,否则可能导致查询失败。
  2. page_size 参数最大支持 1000,默认50,超过100将被限制为 100。
  3. 对于大数据量的查询,建议使用订单编号、供应商编码等条件进行精确筛选,以提高查询效率。
  4. 时间戳必须与服务器时间保持同步,误差不超过3600秒。
  5. 每个请求必须生成唯一的签名,避免重复提交。
  6. 请妥善保管接口密钥,避免泄露。
  7. 所有请求参数中的特殊字符必须进行 URL 编码,特别是在使用 GET 方法时。
  8. 请确保在请求头中设置正确的 Content-Type,对于 POST 请求建议使用 application/json。
  9. 为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率。
  10. 敏感数据(如签名、密钥等)请勿在日志中记录,确保数据安全。