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是应用ID如 ecos.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:发票规则校验失败