Skip to content

发票接口文档(invoice)

基本信息

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

接口方法列表

接口名方法功能描述
ome.invoice.addPOST新增发票信息(与订单关联)
ome.invoice.message_pushPOST发票消息推送

系统级参数

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

签名算法说明

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

接收参数(业务参数)

参数名类型必填说明
order_bnstring关联订单号
invoice_bnstring发票单号
titlestring发票抬头
tax_nostring税号
typestring发票类型(normal/special/electron 等)
amountnumber发票金额
contentstring开票内容
receiverstring收票人
addressstring收票地址
message_typestring推送消息类型(用于 message_push)
message_bodyobject推送消息体

响应参数

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

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

数据示例

请求示例(新增发票)

json
{
  "flag":"erpapi",
  "app_id":"ecos.ome",
  "method":"ome.invoice.add",
  "timestamp":1700000000,
  "sign":"...",
  "order_bn":"T202311110001",
  "invoice":{
    "invoice_bn":"IV202311110001",
    "title":"上海某公司",
    "amount":100.00,
    "type":"normal"
  }
}

响应示例

响应成功

新增发票成功ome.invoice.add):

json
{
    "rsp": "succ",
    "msg": "发票创建成功"
}

响应失败

新增发票失败(参数缺失)

json
{
    "rsp": "fail",
    "msg": "参数缺失"
}

新增发票失败(订单状态不允许)

json
{
    "rsp": "fail",
    "msg": "订单状态不允许"
}

错误码定义(示例)

  • E_PARAM:参数缺失
  • E_STATE:订单状态不允许
  • E_RULE:发票规则校验失败