导读:在企业资质管理、金融风控、商家入驻审核等场景中,营业执照信息的手动录入一直是效率瓶颈。本文将手把手教您用1行核心代码调用营业执照识别OCR API,自动提取企业名称、统一社会信用代码、法定代表人等全部关键字段,附4种主流编程语言实战代码。
一、营业执照识别API能帮你做什么?
无论是B2B平台的企业入驻审核、金融机构的KYC(了解你的客户)流程,还是供应链系统的供应商资质管理,企业信息的录入都严重依赖人工操作。传统方式费时费力又容易出错。
营业执照识别API与传统手工录入的对比如下:
| 对比项 | 传统手工录入 | 营业执照识别API |
|---|---|---|
| 平均耗时 | 2~3分钟/单 | <2秒 |
| 人工成本 | 需专人录入 | 自动完成 |
| 数据质量 | 易错/漏字 | 精准结构化 |
| 批量处理 | 困难 | 轻松批量 |
支持的识别字段包括但不限于:
统一社会信用代码(关键字段)
企业名称
法定代表人
注册资本
成立日期与营业期限
经营范围
发照机关等
二、接入前的准备工作
注册账号获取API密钥:访问[公司OCR产品官网]注册账号,在API控制台获取AppKey和AppSecret(新用户一般有免费试用额度)。
了解API基本信息:
请求方式:POST
数据格式:JSON(图片以Base64编码或URL形式提交)
返回内容:结构化JSON数据
💡小贴士:如果识别出的营业执照信息不准确,可参考[《OCR 识别不准确怎么办?模糊 / 倾斜 / 反光图片优化实战》],从图片预处理角度提升识别准确率。
三、完整的代码接入示例
以下示例在核心代码行里循环所有字段输出信息;注意替换YOUR_API_KEY等参数。
以下营业执照识别OCR支持免费在线体验,API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ============================================================================== // API文档:https://market.shiliuai.com/doc/business-license-ocr // 支持免费在线体验 // API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等) // ============================================================================== //main.java import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Base64; public class Main { public static String get_base64(String path) { String b64 = ""; try { // 使用Commons IO简化文件读取 byte[] content = FileUtils.readFileToByteArray(new File(path)); // 使用JDK自带的Base64 b64 = Base64.getEncoder().encodeToString(content); } catch (IOException e) { e.printStackTrace(); } return b64; } public static void main(String[] args) { String url = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1"; // 请求接口 String appcode = "你的APPCODE"; String file_path = "本地文件路径"; Map headers = new HashMap<>(); headers.put("Authorization", "APPCODE " + appcode); headers.put("Content-Type", "application/json"); // 请求体 JSONObject requestObj = new JSONObject(); requestObj.put("file_base64", get_base64(file_path)); String bodys = requestObj.toString(); try (CloseableHttpClient httpClient = HttpClients.createDefault()) { // 创建POST请求 HttpPost httpPost = new HttpPost(url); // 设置请求头 for (Map.Entry entry : headers.entrySet()) { httpPost.addHeader(entry.getKey(), entry.getValue()); } // 设置请求体 StringEntity entity = new StringEntity(bodys, "UTF-8"); httpPost.setEntity(entity); // 执行请求 HttpResponse response = httpClient.execute(httpPost); int stat = response.getStatusLine().getStatusCode(); if (stat != 200) { System.out.println("Http code: " + stat); return; } String res = EntityUtils.toString(response.getEntity()); JSONObject res_obj = JSON.parseObject(res); System.out.println(res_obj.toJSONString()); } catch (Exception e) { e.printStackTrace(); } } }3.1 Python版本
# ============================================================================== # API文档:https://market.shiliuai.com/doc/business-license-ocr # 支持免费在线体验 # API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等) # ============================================================================== # -*- coding: utf-8 -*- import requests import base64 import json # 请求接口 URL = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1" # 文件转base64 def get_base64(file_path): with open(file_path, 'rb') as f: data = f.read() b64 = base64.b64encode(data).decode('utf8') return b64 def demo(appcode, file_path): # 请求头 headers = { 'Authorization': 'APPCODE %s' % appcode, 'Content-Type': 'application/json' } # 请求体 b64 = get_base64(file_path) data = {"file_base64": b64} # 请求 response = requests.post(url=URL, headers=headers, json=data) content = json.loads(response.content) print(content) if __name__=="__main__": appcode = "你的APPCODE" file_path = "本地文件路径" demo(appcode, file_path)3.2 Java版本
// ============================================================================== // API文档:https://market.shiliuai.com/doc/business-license-ocr // 支持免费在线体验 // API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等) // ============================================================================== //main.java import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Base64; public class Main { public static String get_base64(String path) { String b64 = ""; try { // 使用Commons IO简化文件读取 byte[] content = FileUtils.readFileToByteArray(new File(path)); // 使用JDK自带的Base64 b64 = Base64.getEncoder().encodeToString(content); } catch (IOException e) { e.printStackTrace(); } return b64; } public static void main(String[] args) { String url = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1"; // 请求接口 String appcode = "你的APPCODE"; String file_path = "本地文件路径"; Map headers = new HashMap<>(); headers.put("Authorization", "APPCODE " + appcode); headers.put("Content-Type", "application/json"); // 请求体 JSONObject requestObj = new JSONObject(); requestObj.put("file_base64", get_base64(file_path)); String bodys = requestObj.toString(); try (CloseableHttpClient httpClient = HttpClients.createDefault()) { // 创建POST请求 HttpPost httpPost = new HttpPost(url); // 设置请求头 for (Map.Entry entry : headers.entrySet()) { httpPost.addHeader(entry.getKey(), entry.getValue()); } // 设置请求体 StringEntity entity = new StringEntity(bodys, "UTF-8"); httpPost.setEntity(entity); // 执行请求 HttpResponse response = httpClient.execute(httpPost); int stat = response.getStatusLine().getStatusCode(); if (stat != 200) { System.out.println("Http code: " + stat); return; } String res = EntityUtils.toString(response.getEntity()); JSONObject res_obj = JSON.parseObject(res); System.out.println(res_obj.toJSONString()); } catch (Exception e) { e.printStackTrace(); } } }💡延伸学习:了解Java环境下的基础OCR接入流程,推荐阅读[《身份证 OCR 识别 API 接入详解(Python / Java 示例)》]。
3.3 PHP版本
// ============================================================================== // API文档:https://market.shiliuai.com/doc/business-license-ocr // 支持免费在线体验 // API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等) // ============================================================================== //文件转base64 function get_base64($path){ if($fp = fopen($path, "rb", 0)) { $binary = fread($fp, filesize($path)); // 文件读取 fclose($fp); $b64 = base64_encode($binary); // 转base64 }else{ $b64=""; printf("%s 文件不存在", $path); } return $b64; } $url = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1"; $appcode = "你的appcode"; $file_path = "本地文件路径"; $method = "POST"; //请求头 $headers = array(); array_push($headers, "Authorization:APPCODE " . $appcode); array_push($headers, "Content-Type:application/json"); //请求体 $b64 = get_base64($file_path); $data = array( "file_base64" => $b64 ); $post_data = json_encode($data); //请求 $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); $result = curl_exec($curl); var_dump($result)3.4 JavaScript(Node.js)版本
// ============================================================================== // API文档:https://market.shiliuai.com/doc/business-license-ocr // 支持免费在线体验 // API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等) // ============================================================================== // 需 Node.js 18+(内置 fetch) const fs = require('fs'); const apiUrl = 'https://ocr-api.shiliuai.com/api/business_license_ocr/v1'; const appcode = '你的APPCODE'; const filePath = '本地文件路径'; async function main() { const fileBase64 = fs.readFileSync(filePath).toString('base64'); const res = await fetch(apiUrl, { method: 'POST', headers: { Authorization: 'APPCODE ' + appcode, 'Content-Type': 'application/json' }, body: JSON.stringify({ file_base64: fileBase64 }) }); const text = await res.text(); if (!res.ok) { console.error('Http code:', res.status, text); return; } console.log(JSON.stringify(JSON.parse(text), null, 2)); } main().catch(console.error);四、延伸应用:识别+核验完整方案
采集到营业执照信息后,一个典型的高价值延伸场景是企业四要素核验。将识别出的企业与工商官方数据库进行匹配校验,自动判断营业执照真伪和经营状态,这对金融风控、企业尽调等场景至关重要。
💡推荐阅读:接下来可以进一步参考[《订单 OCR + 自动发货系统完整实现(含架构 + 数据流 + 代码)》],了解OCR识别后如何对接业务流程实现自动化。
五、常见问题与注意事项
Q1:什么类型的图片识别效果最好?
推荐使用JPG格式图片,识别率略高
单张图片大小不超过5MB
建议优先选择横版、清晰平整的证件扫描或照片
Q2:API可以批量处理多张图片吗?
根据不同套餐和调用限制,支持高并发批量调用。具体接入方式和并发控制策略请参考官方文档。
Q3:API返回错误怎么办?
常见错误包括:图片格式不支持、图片尺寸过大、无法识别出证件信息等。请确认图片为有效营业执照照片,且符合像素与拍摄角度要求。
六、总结
营业执照识别OCR API可以帮助您快速实现企业信息的自动化采集、结构化输出与合规校验。本文提供的四段示例代码,无论您使用哪种编程语言,只需1行核心代码即可轻松集成到现有系统中。
欢迎免费体验我们的营业执照识别产品:https://market.shiliuai.com/business-license-ocr
支持免费在线体验,API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
如果您在使用过程中有任何问题,欢迎在评论区留言交流。我们后续还会推出更多OCR识别与图片处理系列教程,包括智能抠图、发票识别、医疗票据识别等精彩内容,欢迎关注本专栏持续学习。
标签
#营业执照识别#OCR识别#API接入#Python#Java#PHP#JavaScript#企业认证 #石榴智能 #shiliuAI