50000+企业的共同选择
点三全渠道全链路ERP
400 8080 092
编辑:原创 时间:2025-08-27 16:15:07
订单接口是电商系统数据流转的核心枢纽,支撑订单创建、支付、发货全链路业务场景,其参数规范直接影响数据交互效率与系统稳定性。然而开发者在对接过程中常面临参数类型混淆、跨平台差异适配及状态码解析错误等共性问题,因此深入理解订单接口参数构成及设计原则对接口集成至关重要。本文为大家详细讲解订单接口的核心参数。
一、 公共请求参数
公共请求参数是接口通信的“身份证”,是各平台订单接口调用时普遍需要携带的基础信息,主要用于身份验证、请求格式规范及安全校验,确保接口通信的安全性与规范性。以下为淘宝、京东等主流平台订单接口的核心公共参数说明:
参数名称 | 参数类型 | 是否必须 | 说明 |
app_key | string | 是 | 应用的唯一标识,由平台分配,如淘宝开放平台的app_key用于识别调用方身份。 |
method | string | 是 | API方法名,指定调用的具体接口,如淘宝的taobao.trade.fullinfo.get或京东的jingdong.order.get。 |
timestamp | Date | 是 | 时间戳,用于防止请求重放,格式为yyyy-MM-dd HH:mm:ss(如2025-08-27 16:14:50)。 |
format | string | 否 | 响应数据格式,支持json或xml,京东等平台默认值为json。 |
sign_method | string | 是 | 签名加密方法,淘宝支持md5或hmac,通联支付等平台固定为RSA(标识01)。 |
sign | string | 是 | 接口安全核心参数,通过app_secret与请求参数拼接后加密生成。淘宝采用md5/hmac算法,京东则使用国密算法SM4加密,确保请求完整性与防篡改。 |
1. 参数校验逻辑
不同平台对公共参数的校验规则存在差异,开发者需特别注意:
淘宝平台:timestamp字段需严格控制在服务器时间±10分钟内,超出误差范围将直接拒绝请求;format未指定时默认返回xml格式,需显式指定为json以获取结构化数据。
京东平台:sign签名需通过app_secret与所有请求参数(按字母序排序)拼接后加密,且token需在Header中以Bearer {Token}格式传递,有效期通常为15分钟。
2. 参数传递注意事项
timestamp必须严格遵循yyyy-MM-dd HH:mm:ss格式,时区为GMT+8(如2025-08-27 16:14:50),避免因格式错误导致验签失败。
sign生成时需排除空值参数,且参数名需按ASCII码升序排序后拼接,推荐使用平台官方SDK自动处理以规避手动计算错误。
app_key为应用唯一标识,需在开放平台注册后获取,禁止泄露或与其他应用共用。
二、 业务核心参数
业务核心参数构成订单信息传递与交互的关键链路,以淘宝tid与京东orderId为基础标识,形成覆盖订单全生命周期的参数链体系。该体系通过基础查询参数实现订单范围界定,依托商品与支付参数完成交易核心信息封装,最终通过物流参数实现履约过程追踪,各环节参数在不同平台间呈现显著差异化特征。
参数链逻辑框架:以orderId/tid为起点,依次串联订单基础查询(时间范围、分页控制)、商品明细(SKU/价格/数量)、支付信息(金额/方式)及物流跟踪(单号/承运商)四大核心模块,形成从订单创建到履约完成的全流程参数闭环。
1. 订单基础参数
订单基础参数用于界定查询范围与结果呈现规则,包含时间维度、分页控制及状态筛选三类核心要素,平台间参数命名与数据类型存在明显差异:
参数名称 | 数据类型 | 是否必填 | 平台特性 | 示例值 | 说明 |
tid | String | 是 | 淘宝特有 | 1234567890 | 淘宝订单唯一标识,用于详情/物流接口调用 |
orderId | Long | 是 | 京东特有 | 9876543210 | 京东订单号,订单查询接口必填项 |
start_time | DateTime | 是 | 淘宝特有 | 2025-01-01 00:00:00 | 订单创建开始时间,格式yyyy-MM-dd HH:mm:ss |
end_time | DateTime | 是 | 淘宝特有 | 2025-01-31 23:59:59 | 订单创建结束时间,与start_time间隔无限制 |
page_no | Integer | 否 | 淘宝特有 | 1 | 页码,默认值1 |
page_size | Integer | 否 | 淘宝特有 | 20 | 每页条数,默认20条 |
pageIndex | Integer | 否 | 京东特有 | 1 | 分页索引,功能同淘宝page_no |
pageSize | Integer | 否 | 京东特有 | 20 | 每页记录数,功能同淘宝page_size |
status | String | 否 | 淘宝特有 | TRADE_FINISHED | 订单状态枚举,如TRADE_FINISHED(已完成) |
orderStatus | Integer | 是 | 京东特有 | 10 | 订单状态编码,整数类型(具体含义需参考京东接口文档) |
srcOrderId | String | 是 | 京东特有 | "JD20250827001" | 来源订单号,字符串类型 |
srcPlatId | Long | 否 | 京东特有 | 1 | 来源平台ID,0:未知;1:京东LSP;2:京东医药城等 |
2. 商品参数
商品参数聚焦订单中的货品明细信息,淘宝以数组结构封装多商品数据,京东则通过SKU映射关系实现内外码关联,具体差异如下:
参数名称 | 数据类型 | 平台特性 | 示例值 | 说明 |
product_list | Array | 淘宝特有 | [{"quantity":2,"price":199.00},...] | 商品列表数组,包含quantity(数量)、price(单价)等子字段 |
颜色 | String | 淘宝特有 | "红色" | 基于卖家提供的颜色信息,建议复制中文描述以避免错误 |
尺寸 | String | 淘宝特有 | "XL" | 基于卖家尺寸表,无尺码表时参考标准尺寸 |
price adjustment | Float | 淘宝特有 | 189.50 | 价格修正字段,用于预售/促销等特殊场景的精确定价 |
skuId | String | 京东特有 | "100012345678" | 京东平台内部SKU编码 |
outerSkuId | String | 京东特有 | "OUT2025001" | 商家外部SKU编码,与skuId形成映射关系 |
3. 支付参数
支付参数涵盖交易金额计算与支付方式标识,淘宝侧重实付金额与支付渠道,京东关注金额字段规范,第三方支付(如通联支付)则提供通用编码参考:
参数名称 | 数据类型 | 平台特性 | 示例值 | 说明 |
received_payment | Float | 淘宝特有 | 398.00 | 订单实付金额(含运费、折扣后实际支付值) |
pay_channel | String | 淘宝特有 | "ALIPAY" | 支付渠道标识,如ALIPAY(支付宝) |
total_price | Long | 京东特有 | 49900 | 订单总金额,单位为分(需转换为元展示) |
paymentMethodType | String | 通用 | "ALIPAY_CN" | 支付方式编码,如ALIPAY_CN(中国支付宝)、CARD(银行卡)、PIX(巴西即时支付) |
currencyCode | String | 通用 | "156" | 交易币种编码,156表示人民币 |
txnAmt | Long | 通用 | 39800 | 交易金额,单位为分(如39800表示398元) |
txnTime | String | 通用 | "20250827161450" | 订单发送时间,格式YYYYMMDDHHmmss |
4. 物流参数
物流参数核心在于物流单号与承运商的匹配校验:
参数名称 | 数据类型 | 平台特性 | 示例值 | 说明 |
logistics_no | String | 淘宝特有 | "SF123456789" | 物流单号,示例对应顺丰速运(SF为顺丰代码) |
company_name | String | 通用 | "顺丰速运" | 物流公司名称,需与logistics_no前缀匹配校验 |
跨平台参数差异要点:淘宝采用字符串型订单标识tid,京东使用长整型orderId;分页控制中淘宝为page_no/page_size,京东为pageIndex/pageSize;支付方式编码需注意"ALIPAY_CN"(通用)与淘宝"pay_channel":"ALIPAY"的对应关系。
以上参数体系通过orderId/tid的串联,实现从订单查询、商品明细、支付结算到物流跟踪的全流程数据贯通,各环节参数的平台特异性要求开发者在对接多平台时需针对性适配字段名称、数据类型及校验规则。
三、 状态与编码参数
状态与编码参数是订单接口的核心组成部分,用于标识订单生命周期中的状态流转、交易类型及异常情况,其设计直接影响系统间数据交互的准确性与业务逻辑的清晰度。不同电商平台因技术架构与业务场景差异,在状态码定义与编码方式上存在显著区别,同时支付方式编码作为交易类型的标识,在支付结果校验中发挥关键作用。
1. 订单状态码:平台差异与核心流转逻辑
订单状态码用于描述订单从创建到完成(或取消)的全生命周期阶段,主流电商平台主要分为字符串枚举与数字编码两种类型。淘宝等平台倾向于使用自解释性强的字符串枚举,而京东等平台则采用数字编码以提升传输效率,二者在状态定义与流转规则上既有共性也存在细节差异。
以下为淘宝与京东核心订单状态码的对比示例,涵盖订单创建、支付、发货、完成等关键节点:
状态阶段 | 淘宝(字符串枚举) | 京东(数字编码) | 描述 | 典型流转场景 |
待付款 | WAIT_BUYER_PAY | 31000 | 订单创建后用户尚未完成支付,系统通常设置超时自动取消机制(如24小时未支付) | 用户提交订单后,状态码为31000/WAIT_BUYER_PAY |
已支付/待出库 | PAID | 32000 | 用户完成支付,商家尚未发货,订单进入备货流程 | 用户付款后,状态码从31000变为32000 |
已发货 | SHIPPED | 33060(已妥投前状态) | 商家完成发货,物流单号已录入系统,等待用户收货 | 商家点击“发货”后,状态码更新为33060 |
已完成 | TRADE_FINISHED | 90000 | 用户确认收货或系统自动确认(如物流签收后7天),订单生命周期结束 | 用户点击“确认收货”后,状态码变为90000 |
已取消 | TRADE_CLOSED | 20020 | 用户主动取消(未支付时)或系统超时取消,订单关闭 | 用户未支付时点击“取消订单”,状态码变为20020 |
锁定 | LOCKED | 20010 | 订单因特殊原因(如库存锁定、风控审核)暂时无法操作 | 高风险订单触发风控后,状态码变为20010 |
通用状态流转规律
尽管编码形式不同,主流平台的订单状态流转逻辑存在共性:
正向流转:待付款 → 已支付 → 已发货 → 已完成,对应用户下单→支付→商家履约→交易结束的完整链路;
逆向流转:待付款→已取消(未支付取消)、已支付→退款中→退款完成(支付后取消),体现交易异常或用户中途终止的场景;
系统干预:部分状态由系统自动触发,如超时未支付自动取消(京东20020)、物流签收后系统自动确认收货(淘宝TRADE_FINISHED)。
2. 支付方式编码:交易类型标识与回调校验
支付方式编码用于明确订单的支付渠道,是支付结果回调中校验交易合法性的关键参数。各平台通过标准化的枚举值定义支付类型,确保支付接口与订单系统的一致性。
编码值 | 支付方式 | 类型 | 应用场景 |
ALIPAY_CN | 支付宝 | 第三方支付平台 | 国内主流线上支付,支持余额、银行卡快捷支付等 |
WECHATPAY | 微信支付 | 社交平台支付 | 依托微信生态,支持零钱、银行卡及信用卡支付 |
UNIONPAY | 银联支付 | 银行卡支付 | 覆盖各大银行借记卡/信用卡,常用于PC端及线下POS交易 |
JD_PAY | 京东支付 | 平台自有支付 | 京东生态内支付方式,支持白条、小金库等京东金融产品 |
PAYPAL | PayPal | 跨境支付 | 国际支付场景,支持多币种结算,主要服务跨境电商订单 |
支付回调中的校验作用
支付完成后,支付网关会向商户系统发送回调通知,其中包含paymentMethod(支付方式编码)字段。商户系统需通过以下步骤校验合法性:
编码一致性校验:核对回调中的支付方式编码是否与订单创建时指定的编码一致(如订单指定WECHATPAY,回调却返回ALIPAY_CN则判定异常);
有效性校验:检查编码是否在平台支持的支付方式列表中(如不支持PAYPAL的国内商户收到该编码时拒绝处理);
业务规则校验:结合订单金额、用户等级等信息,判断支付方式是否符合业务限制(如大额订单仅支持UNIONPAY或企业账户支付)。
关于订单接口核心参数的内容就介绍到这里,想要了解更多电商平台接口内容,可以咨询点三客服。
最新文章