Skip to content

OMS OpenAPI 订单管理接口

你是 OMS 系统OpenAPI接口使用专家,熟悉订单管理API的调用方法、参数规范和响应格式。

接口概述

订单管理 API 提供了订单信息的查询功能。通过这些接口,您可以获取系统中的订单列表信息,支持按时间范围、店铺编码、订单号等条件进行筛选。

接口列表

接口名方法功能描述
orders.getListPOST获取订单列表
orders.getCouponListPOST获取优惠券列表
orders.getPmtListPOST获取支付方式列表

系统级参数

系统级参数是调用所有接口都必须提供的参数,详细说明请参考:oms-openapi-architecture.md

参数名类型必填描述
vernumber接口版本号,默认值:1
charsetstring字符编码,支持:utf-8,默认值:utf-8
typestring返回数据格式,支持:json,默认值:json
methodstring接口方法名,格式:orders.getList
flagstring来源标识,对应系统中配置的接入方标识
timestampstring时间戳,单位:秒,必须在服务器时间±3600秒范围内
signstring签名,详见签名算法章节

接口详细说明

orders.getList - 获取订单列表

功能描述

获取系统中的订单列表信息,支持按时间范围、店铺编码、订单号等条件进行筛选。

请求参数

参数名类型必填描述
start_timestring开始时间(格式:yyyy-MM-dd HH:mm:ss)
end_timestring结束时间(格式:yyyy-MM-dd HH:mm:ss)
page_noint页码,默认 1
page_sizeint每页条数,最小1,最大 1000
shop_bnstring店铺编码
order_bnstring订单编号
statusstring订单状态
pay_statusstring支付状态
ship_statusstring发货状态
paymentstring支付方式
time_selectstring查询时间字段,默认订单更新时间,可选值:createtime(订单创建时间)
cursor_idnumber游标ID,前一页最后一行数据的唯一标识,首次默认值为0

响应参数

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

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

参数名类型描述
order_bnstring订单编号
shop_bnstring店铺编码
shop_namestring店铺名称
buyer_namestring买家名称
consignee_namestring收货人姓名
consignee_mobilestring收货人手机号
consignee_provincestring收货省份
consignee_citystring收货城市
consignee_countystring收货区县
consignee_addressstring收货地址
consignee_zipstring邮政编码
createtimestring创建时间
last_modifiedstring最后修改时间
total_amountdecimal订单总金额
paymentstring支付方式
payment_namestring支付方式名称
shippingstring配送方式
shipping_namestring配送方式名称
freightdecimal运费
discountdecimal折扣金额
order_statusstring订单状态
order_status_namestring订单状态名称
pay_statusstring支付状态
pay_status_namestring支付状态名称
shipping_statusstring配送状态
shipping_status_namestring配送状态名称
channelstring订单来源渠道
channel_namestring订单来源渠道名称
remarkstring订单备注
itemsarray订单商品明细

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

参数名类型描述
bnstring商品编码
namestring商品名称
spec_infostring规格信息
unitstring单位
pricedecimal商品价格
numsint商品数量
amountdecimal商品金额
barcodestring条码

请求示例

php
<?php
// 应用标识(需要替换为实际的flag)
$flag = 'your_oms_flag';

// 私钥(需要替换为实际的token)
$token = 'your_interface_key';

// 接口方法
$method = 'orders.getList';

// 系统级参数
$systemParams = array(
    'flag' => $flag,
    'method' => $method,
    'ver' => 1,
    'charset' => 'utf-8',
    'type' => 'json',
    'timestamp' => time(),
);

// 应用级参数
$ApiParams = array(
    'start_time' => '2025-10-01 00:00:00',
    'end_time' => '2025-11-01 00:00:00',
    'page_no' => 1,
    'page_size' => 50
);

// 组装接口参数
$params = array_merge($systemParams, $ApiParams);

// 生成签名(参考架构Skill中的签名算法)
$params['sign'] = gen_sign($params, $token);

// curl发送请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http(s)://www.***.com/index.php/openapi/rpc/service/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

// 处理响应
$result = json_decode($response, true);

响应示例

json
{
  "response": {
    "count": 100,
    "lists": [
      {
        "order_bn": "SO202401010001",
        "shop_bn": "SHOP001",
        "shop_name": "测试店铺",
        "buyer_name": "test_buyer",
        "consignee_name": "张三",
        "consignee_mobile": "13800138000",
        "consignee_province": "北京市",
        "consignee_city": "北京市",
        "consignee_county": "朝阳区",
        "consignee_address": "测试路1号",
        "consignee_zip": "100000",
        "createtime": "2024-01-01 10:00:00",
        "last_modified": "2024-01-01 10:30:00",
        "total_amount": 1000.00,
        "payment": "alipay",
        "payment_name": "支付宝",
        "shipping": "express",
        "shipping_name": "快递",
        "freight": 10.00,
        "discount": 0.00,
        "order_status": "active",
        "order_status_name": "已下单",
        "pay_status": "succ",
        "pay_status_name": "已支付",
        "shipping_status": "unshipped",
        "shipping_status_name": "未发货",
        "channel": "pc",
        "channel_name": "PC端",
        "remark": "测试订单",
        "items": [
          {
            "bn": "PROD001",
            "name": "测试商品",
            "spec_info": "规格信息",
            "unit": "个",
            "price": 100.00,
            "nums": 10,
            "amount": 1000.00,
            "barcode": "1234567890123"
          }
        ]
      }
    ]
  }
}

orders.getCouponList - 获取优惠券列表

功能描述

获取系统中的优惠券列表信息,支持按优惠券名称、类型等条件进行筛选。

请求参数

参数名类型必填描述
start_timestring开始时间(完成状态),例如2012-12-08 00:00:00
end_timestring结束时间(完成状态),例如2012-12-08 23:59:59
order_bnstring订单号,平台订单号,多个订单号用逗号分隔
page_noint页码,默认1,第一页
page_sizeint每页数量,最大100

响应参数

参数名类型描述
countint总记录数
listsarray优惠券列表

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

参数名类型描述
coupon_idint优惠券 ID
coupon_namestring优惠券名称
coupon_typestring优惠券类型
coupon_type_namestring优惠券类型名称
valuedecimal优惠金额/折扣
min_amountdecimal最低消费金额
start_timestring有效期开始时间
end_timestring有效期结束时间
statusstring状态

orders.getPmtList - 获取支付方式列表

功能描述

获取系统中的支付方式列表信息。

请求参数

参数名类型必填描述
start_timestring开始时间(完成状态),例如2012-12-08 00:00:00
end_timestring结束时间(完成状态),例如2012-12-08 23:59:59
order_bnstring订单号,平台订单号,多个订单号用逗号分隔
page_noint页码,默认1,第一页
page_sizeint每页数量,最大100

响应参数

参数名类型描述
countint总记录数
listsarray支付方式列表

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

参数名类型描述
payment_idint支付方式 ID
paymentstring支付方式标识
payment_namestring支付方式名称
statusstring状态

错误处理

系统级错误码

系统级错误码请参考:oms-openapi-architecture.md

业务级错误码

错误码错误信息解决方案
0成功-
2001缺少必要的参数请检查请求参数是否完整
2002非法的请求参数请检查参数格式和范围是否正确

注意事项

  1. 时间格式:时间格式必须为 yyyy-MM-dd HH:mm:ss,否则可能导致查询失败
  2. 分页限制page_size 参数最大支持 1000,超过将被限制为 100
  3. 查询效率:对于大数据量的查询,建议使用时间范围进行筛选,以提高查询效率
  4. 时间戳同步:时间戳必须与服务器时间保持同步,误差不超过3600秒
  5. 签名唯一性:每个请求必须生成唯一的签名,避免重复提交
  6. 密钥安全:请妥善保管接口密钥,避免泄露
  7. URL编码:所有请求参数中的特殊字符必须进行 URL 编码
  8. 调用频率:为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率
  9. 数据脱敏:部分敏感数据(如客户信息、联系方式等)在API返回时可能会进行脱敏处理

参考文档

  • OpenAPI架构和使用:oms-openapi-architecture.md
  • 销售单API:oms-openapi-sales.md
  • 发货单API:oms-openapi-delivery.md

Guidelines

  1. 参数验证:在调用接口前,确保所有必填参数都已提供
  2. 时间范围:建议使用合理的时间范围进行查询,避免一次性查询过多数据
  3. 分页处理:对于大数据量查询,使用分页参数控制返回结果数量
  4. 错误处理:根据错误码判断错误类型,系统级错误参考架构Skill
  5. 响应解析:检查响应中的error_response字段,判断请求是否成功
  6. 数据使用:注意响应数据可能包含敏感信息,确保数据传输和存储的安全性