OFD版式文件解析

一、概述

1.1 业务介绍

随着总局税控改革的推进,OFD格式将全面取PDF 格式,成为主流的电子发票版式文件。

OFD 版式文件作为一种全新的国标,尚处于普及推广的前奏阶段,客户对 OFD 版式文件服务的需求广泛而迫切。

现第三方服务商接入OFD,客户可以调用平台API接口实现文件生成、解析等功能。

1.2 目的

此文档为第三方服务商接入发票通OFD版式文件生成发票的接入技术规范(企业业务),第三方按此文档就接口内容、接口格式、交互模式等技术达成一致,并以此进行对接程 序的开发。对第三方开发、实现技术和实现方式等均无要求,由第三方自行决定,但需要满 足此文档的技术接入规范。

应业务要求,业务过程中涉及到的两个系统之间的数据交互方式及交互内容进行规范, 制定统一的协议,形成技术文档。

1.3 接入方式

接入主要采取 Oauth2.0 接入技术规范,认证成功后发票通平台提供相关服务业务功能, 业务参数和报文基于 XML/JSON 报文格式,采用 http 或 https 方式。

1、XML 格式规范

请求规范(HEAD 节点中的子节点根据实际业务自定义):

<?xml version="1.0" encoding="utf-8"?>
<REQUEST>
  <HEAD></HEAD>
  <BODY></BODY>
</REQUEST>

响应规范:

<?xml version="1.0" encoding="utf-8"?>
<ROOT>
  <HEAD>
    <SERVICE>
      <REPLYCODE>0</REPLYCODE>
      <REPLYMSG>success</REPLYMSG>
    </SERVICE>
  </HEAD>
  <BODY></BODY>
</ROOT>

2、JSON 格式规范

请求规范(HEAD 节点中的子节点根据实际业务自定义):

{
  "REQUEST": {
    "HEAD": {
    },
    "BODY": {
    }
  }
}

响应规范:

{
  "ROOT": {
    "HEAD": {
      "SERVICE": {
         "REPLYCODE": "0",
         "REPLYMSG": "success"
      }
    },
    "BODY": {
    }
  }
}

1.4 接入流程图

接入流程图
OAuth 2.0 认证流程

术语

注意:对 client_id 和 client_secret 信息进行保密,不要随意泄漏。

二、业务接口说明

1、OFD版式文件解析

1.1、请求报文

接口说明:根据传入的OFD版式文件,解析成发票票面数据。

调用方式:HTTPS请求方式 POST请求

测试环境 URL: https://IP:PORT/Entoauth/thirdApi?sign=WJJX&client_id=应用ID&access_token=访问Token&openID=openID的值&sqm=授权码&busiType=SQM_WJJX&data=报文数据(Base64过后的数据)&dataType=data报文数据类型(0:json/1:xml)

正式环境 URL: https://IP:PORT/Entoauth/thirdApi?sign=WJJX&client_id=应用ID&access_token=访问Token&openID=openID的值&sqm=授权码&busiType=SQM_WJJX&data=报文数据(Base64过后的数据)&dataType=data报文数据类型(0:json/1:xml)

参数说明:

序号 参数 含义
参数 1 client_id 应用 ID
参数 2 access_token 二.1 接口获取到
参数 3 openID 二.2 接口获取到
参数 4 sqm OFD版式文件解析授权码
参数 5 busiType 固定值 SQM_WJJX
参数 6 data 报文数据(Base64 过,然后再 URLEncoder 的数据)
参数 7 dataType data 报文数据类型(0:json/1:xml)

data 不同格式报文数据样例:

XML 格式数据:

<REQUEST>
<REQUEST_PARAM>
<OFD_BYTES> base64加密的OFD byte数组
                

JSON 格式数据:

{
  "REQUEST": {
    "REQUEST_PARAM": {
"OFD_BYTES": " base64加密的OFD byte数组"
}
  }
}

请求参数:

序号 字段 名称 必须 说明
1client_id应用ID应用ID
2access_token访问Token2.1接口获取
3openIDOpenID2.2接口获取到的
4sqm授权码在开发者平台进行申请
5dataType报文数据类型0:json,1:xml
6busiType业务类型SQM_WJJX: OFD文件解析
7dataJson/xml 业务报文需要进行Base64 编码

1.2、返回报文

XML 格式返回报文

<RESPONSE>
<CODE>返回代码</CODE>
<MESSAGE>返回消息</MESSAGE>
<DATA>返回数据 发票xml数据</DATA>
</RESPONSE>

JSON 格式返回报文

{
  "RESPONSE": {
    "CODE": "返回代码",
    "MESSAGE": "返回消息",
    "DATA": "返回数据 发票json数据"
}

返回参数说明

序号 字段 名称 长度 必须 说明
1 CODE 返回代码 0000 为成功,其它为失败
2 MESSAGE 返回信息 详细信息描述
3 DATA 返回数据 返回数据