OFD文件解析格式转换服务API使用说明北京中科软科技股份有限公司2020年12月目录一、服务概述.
3二、OFD文件解析服务接口使用说明.
41.
接口描述.
42.
请求说明.
43.
请求代码示例.
54.
返回说明.
7三、OFD文件解析+格式转换服务接口使用说明.
91.
接口描述.
92.
请求说明.
93.
请求代码示例.
104.
返回说明.
12四、错误码.
14一、服务概述OFD文件解析服务帮助用户获取ofd格式文件中的关键信息并提供多元化的结果分析,其包含的功能如下(目前仅支持增值税发票ofd格式文件):a.
解析增值税发票ofd格式文件的内容.
b.
根据解析内容生成发票图片以供用户下载.
根据提供的服务功能程度的不同,OFD文件解析服务将服务部署在两个接口上,接口信息如下:OFD文件解析服务接口:url:https://ofdana.
apistore.
huaweicloud.
com/ofd/info功能:解析增值税发票ofd格式文件的内容并将解析结果以JSON格式返回给用户.
OFD文件解析+格式转换服务接口:url:https://ofdimage.
apistore.
huaweicloud.
com/ofd/infoimage功能:解析增值税发票ofd格式文件的内容并根据解析内容生成发票图片,将解析结果和图片下载地址返回给用户.
二、OFD文件解析服务接口使用说明1.
接口描述解析增值税发票ofd格式文件的内容并将解析结果以JSON格式返回给用户.
2.
请求说明HTTP方法:POST请求URL:https://ofdana.
apistore.
huaweicloud.
com/ofd/infoBody中放置请求参数,参数详情如表2-2-1:表2-2-1接口请求参数说明参数是否必选类型可选值范围说明request_id是String-用户请求流水号file_type是String'formdata'和'base64'二者选其一传输文件的方式:'formdata'表示使用formData格式传输文件,'base64'表示使用base64编码后的编码格式传输文件ofd_file是String-以'file_type'参数选定的传输格式发送的ofd格式文件3.
请求代码示例file_type参数值为'base64'时的请求示例如下:bash示例curl-H'Content-Type:application/json'-XPOST--data'{"request_id":"tf890fd45sl","file_type":"base64","ofd_file":"图片Base64编码"}'https://ofdana.
apistore.
huaweicloud.
com/ofd/infopython示例#encoding:utf-8importrequestsimportbase64'''Ofd文件解析'''request_url="https://ofdana.
apistore.
huaweicloud.
com/ofd/info"#二进制方式打开ofd文件f=open('[本地文件]','rb')ofd=base64.
b64encode(f.
read())params={"request_id":"tf890fd45sl","file_type":"base64","ofd_file":ofd}response=requests.
post(request_url,data=params)ifresponse:print(response.
json())Java示例packageutils;importjava.
io.
BufferedReader;importjava.
io.
IOException;importjava.
io.
InputStream;importjava.
io.
InputStreamReader;importjava.
io.
OutputStreamWriter;importjava.
io.
FileInputStream;importjava.
net.
URL;importjava.
net.
URLConnection;importjava.
util.
Base64;publicclasspostBasic{publicstaticvoidmain(String[]args){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newStringBuilder();Stringurl="https://ofdana.
apistore.
huaweicloud.
com/ofd/info";try{InputStreamofd=newFileInputStream("ofd文件路径");byte[]data=newbyte[ofd.
available()];ofd.
read(data);ofd.
close();Base64.
Encoderencoder=Base64.
getEncoder();StringencodedText=encoder.
encodeToString(data);URLrealUrl=newURL(url);//打开和URL之间的连接URLConnectionconn=realUrl.
openConnection();conn.
setDoOutput(true);conn.
setDoInput(true);//获取URLConnection对象对应的输出流并开始发送参数out=newOutputStreamWriter(conn.
getOutputStream(),"UTF-8");//添加参数out.
write("&request_id="+"tf890fd45sl"+"&file_type="+"base64"+"&ofd_file="+encodedText);out.
flush();in=newBufferedReader(newInputStreamReader(conn.
getInputStream(),"UTF-8"));Stringline;while((line=in.
readLine())!
=null){result.
append(line);}}catch(Exceptione){e.
printStackTrace();}finally{try{if(out!
=null){out.
close();}if(in!
=null){in.
close();}}catch(IOExceptionex){ex.
printStackTrace();}}System.
out.
println(result);}}注:实际使用中,请更换以上参数数值.
4.
返回说明返回参数详情如表2-4-1:字段是否必选类型说明response_id是String服务器响应流水号,与用户请求的流水号相同json_result是Dictionaryofd文件解析结果result_code是String结构码,正常响应的结果码为'200'result_msg是String结果说明,正常响应的结果说明为'SUCCESS'表2-4-1接口返回参数说明正常响应示例如下:{"response_id":"tf890fd45sl","json_result":{"Buyer":{"BuyerName":"购买方名称","BuyerTaxID":"购买方纳税人识别号","BuyerAddrTel":"购买方地址、电话","BuyerFinancialAccount":"开户行及账号"},"GoodsInfos":[{"GoodsInfo":{"Amount":"项目金额","Item":"项目名称","MeasurementDimension":"项目单位","Price":"项目单价","Quantity":"项目数量","Specification":"项目规格型号","TaxAmount":"项目税额","TaxScheme":"项目税率""InvoiceCheckCode":"校验码","InvoiceCode":"发票代码","InvoiceNo":"发票号码","IssueDate":"开票日期","Seller":{"SellerAddrTel":"销售方地址、电话","SellerFinancialAccount":"销售方开户行及账号","SellerName":"销售方名称","SellerTaxID":"销售方纳税人识别号"},"TaxInclusiveTotalAmount":"项目合计金额","TaxTotalAmount":"项目合计税额"},"result_code":"200","result_msg":"SUCCESS"}三、OFD文件解析+格式转换服务接口使用说明1.
接口描述解析增值税发票ofd格式文件的内容并根据解析内容生成发票图片,将解析结果和图片下载地址返回给用户.
2.
请求说明HTTP方法:POST请求URL:https://ofdimage.
apistore.
huaweicloud.
com/ofd/infoimageBody中放置请求参数,参数详情如表3-2-1:表3-2-1接口请求参数说明参数是否必选类型可选值范围说明request_id是String-用户请求流水号file_type是String'formdata'和'base64'二者选其一传输文件的方式:'formdata'表示使用formData格式传输文件,'base64'表示使用base64编码后的编码格式传输文件ofd_file是String-以'file_type'参数选定的传输格式发送的ofd格式文件3.
请求代码示例file_type参数值为'base64'时的请求示例如下:bash示例curl-H'Content-Type:application/json'-XPOST--data'{"request_id":"tf890fd45sl","file_type":"base64","ofd_file":"图片Base64编码"}'https://ofdimage.
apistore.
huaweicloud.
com/ofd/infoimagePython示例#encoding:utf-8importrequestsimportbase64'''Ofd文件解析'''request_url="https://ofdimage.
apistore.
huaweicloud.
com/ofd/infoimage"#二进制方式打开ofd文件f=open('[本地文件]','rb')ofd=base64.
b64encode(f.
read())params={"request_id":"tf890fd45sl","file_type":"base64","ofd_file":ofd}response=requests.
post(request_url,data=params)ifresponse:print(response.
json())Java示例packageutils;importjava.
io.
BufferedReader;importjava.
io.
IOException;importjava.
io.
InputStream;importjava.
io.
InputStreamReader;importjava.
io.
OutputStreamWriter;importjava.
io.
FileInputStream;importjava.
net.
URL;importjava.
net.
URLConnection;importjava.
util.
Base64;publicclasspostBasic{publicstaticvoidmain(String[]args){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newStringBuilder();Stringurl="https://ofdimage.
apistore.
huaweicloud.
com/ofd/infoimage";try{InputStreamofd=newFileInputStream("ofd文件路径");byte[]data=newbyte[ofd.
available()];ofd.
read(data);ofd.
close();Base64.
Encoderencoder=Base64.
getEncoder();StringencodedText=encoder.
encodeToString(data);URLrealUrl=newURL(url);//打开和URL之间的连接URLConnectionconn=realUrl.
openConnection();conn.
setDoOutput(true);conn.
setDoInput(true);//获取URLConnection对象对应的输出流并开始发送参数out=newOutputStreamWriter(conn.
getOutputStream(),"UTF-8");//添加参数out.
write("&request_id="+"tf890fd45sl"+"&file_type="+"base64"+"&ofd_file="+encodedText);out.
flush();in=newBufferedReader(newInputStreamReader(conn.
getInputStream(),"UTF-8"));Stringline;while((line=in.
readLine())!
=null){result.
append(line);}}catch(Exceptione){e.
printStackTrace();}finally{try{if(out!
=null){out.
close();}if(in!
=null){in.
close();}}catch(IOExceptionex){ex.
printStackTrace();}}System.
out.
println(result);}}注:实际使用中,请更换以上参数数值.
4.
返回说明返回参数详情如表3-4-1:字段是否必选类型说明response_id是String服务器响应流水号,与用户请求的流水号相同json_result是Dictionaryofd文件解析结果image_address是String图片地址,可通过浏览器直接访问result_code是String结构码,正常响应的结果码为'200'result_msg是String结果说明,正常响应的结果说明为'SUCCESS'表3-4-1接口返回参数说明正常响应示例如下:{"response_id":"tf890fd45sl","json_result":{"Buyer":{"BuyerName":"购买方名称","BuyerTaxID":"购买方纳税人识别号","BuyerAddrTel":"购买方地址、电话","BuyerFinancialAccount":"开户行及账号"},"GoodsInfos":[{"GoodsInfo":{"Amount":"项目金额","Item":"项目名称","MeasurementDimension":"项目单位","Price":"项目单价","Quantity":"项目数量","Specification":"项目规格型号","TaxAmount":"项目税额","TaxScheme":"项目税率""InvoiceCheckCode":"校验码","InvoiceCode":"发票代码","InvoiceNo":"发票号码","IssueDate":"开票日期","Seller":{"SellerAddrTel":"销售方地址、电话","SellerFinancialAccount":"销售方开户行及账号","SellerName":"销售方名称","SellerTaxID":"销售方纳税人识别号"},"TaxInclusiveTotalAmount":"项目合计金额","TaxTotalAmount":"项目合计税额"},"image_address":"https://ofd-image.
sinosoftrino.
info/ofd/imageaddress=\x1f\x08\x03/\x00\n\x19\x10\x0f\x00@TTBBB[WND^IU/@_XURF_WUEB_ZVM\x04\x01\x01","result_code":"200","result_msg":"SUCCESS"}四、错误码若请求错误,服务器将返回的JSON文本包含以下参数:error_code:错误码.
error_msg:错误描述信息,帮助理解和解决发生的错误.
例如请求参数无效时返回:{"error_code":"10107","error_msg":"InvalidParam"}需要重新确认请求参数后再次请求即可.
服务器可能返回的错误信息如表4-1:错误码错误信息描述10107InvalidParam无效请求参数,例:缺少目标参数10108InvalidParamvalue无效参数值,例:图片路径不对10109FileFormatError文件格式不对(要求ofd格式)10413RequestFileTooLarge请求参数过大,文件过大10110ImageDownloadTimeout,PleaseRequestForTheImageAddressAgainAndDownloadItIn1HourFromTheTimeWhenGettingTheImage图片下载地址过期(有效期为发送接口B请求后的一个小时内)表4-1错误信息说明Address10111TargetPathDetectErrorInTheFile文件结构错误20500UnknownInternalServerError服务器语法错误
易探云服务器怎么过户/转让?易探云支持云服务器PUSH功能,该功能可将云服务器过户给指定用户。可带价PUSH,收到PUSH请求的用户在接收云服务器的同时,系统会扣除接收方的款项,同时扣除相关手续费,然后将款项打到发送方的账户下。易探云“PUSH服务器”的这一功能,可以让用户将闲置云服务器转让给更多需要购买的用户!易探云服务器怎么过户/PUSH?1.PUSH双方必须为认证用户:2.买家未接收前,卖家...
sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。此文只整理他们家10Gbps专用服务器,此外该系列所有服务器都受到高达 60Gbps(可升级到 100Gbps)的保护。...
搬瓦工最新优惠码优惠码:BWH3HYATVBJW,节约6.58%,全场通用!搬瓦工关闭香港 PCCW 机房通知下面提炼一下邮件的关键信息,原文在最后面。香港 CN2 GIA 机房自从 2020 年上线以来,网络性能大幅提升,所有新订单都默认部署在香港 CN2 GIA 机房;目前可以免费迁移到香港 CN2 GIA 机房,在 KiwiVM 控制面板选择 HKHK_8 机房进行迁移即可,迁移会改变 IP...
internalservererror为你推荐
thinkphpthinkphp与PHP的差别,怎么查看thinkphp编写的系统?access数据库修复编程怎样实现access中对数据库的修复功能。linux防火墙设置怎么更改linux的防火墙设置?flashfxp下载我想下载一个FlashFXP 4.0.0 Build 1510 简体中文版的软件,可是不知道下载地址,希望大家帮帮我?申请支付宝账户申请支付宝账号注册宜人贷官网宜人财富怎么样?碧海银沙网怎样在碧海银沙网里发布图片?温州都市报招聘劳务市场找工作可靠吗如何发帖子手机百度贴吧怎么发帖子?团购程序有什么好用的社区团购小程序?
老域名全部失效请记好新域名 商家促销 浙江独立 ibox官网 稳定免费空间 闪讯官网 lick 国外在线代理服务器 贵阳电信测速 云服务器比较 双十二促销 美国主机侦探 塔式服务器 建站技术 webmin 日本小学生 华为云服务器宕机 网易轻博客 万网空间价格 美国主机购买 更多