适用场景与接口价值在企业资质审核、供应链合规验证、食品经营许可自动录入等场景中手动录入许可证信息效率低且易出错。通过调用食品经营许可证识别API可将图片中的13个关键字段许可证编号、经营者名称、法定代表人、经营场所、主体业态、经营项目、有效期等自动提取为结构化JSON直接对接后端业务系统。接口能力边界支持输入图片URL或Base64编码字符串最大5MB返回字段共13个详见下方字段表覆盖证照核心要素QPS限制2次/秒超出会返回限流错误图片要求建议清晰、无遮挡、证件四角完整光照均匀请求参数详解Header参数参数名是否必须类型说明Content-Type是string固定值application/json请求体JSON Object字段名是否必须类型说明key否stringAPI密钥Bearer令牌也可通过HeaderX-API-Key传递推荐input_type是string图片传入方式url或base64input_data是string图片URLinput_typeurl或Base64编码字符串input_typebase64≤5MB注意key参数在请求体中为可选若已在Header中传入X-API-Key则可省略。建议统一通过Header传递避免请求体泄露密钥。鉴权方式与密钥传递该API支持两种鉴权方式Header方式添加X-API-Key请求头值为您的API密钥。请求体方式在JSON对象的key字段中填入密钥。推荐使用Header方式因为请求体的key可能会被日志或代理服务器记录增加泄露风险。curl请求示例示例1通过图片URL识别curl -sS \ -X POST \ -H X-API-Key: YOUR_API_KEY \ -H Content-Type: application/json \ -d { input_type: url, input_data: https://example.com/license.jpg } \ https://v1.apizero.cn/api/food-license示例2通过Base64编码图片识别# 先将图片转为base64不含换行 BASE64$(base64 -w0 license.jpg) curl -sS \ -X POST \ -H X-API-Key: YOUR_API_KEY \ -H Content-Type: application/json \ -d { \input_type\: \base64\, \input_data\: \$BASE64\ } \ https://v1.apizero.cn/api/food-license请将YOUR_API_KEY替换为实际密钥。若使用请求体传key则在JSON中添加key: YOUR_API_KEY。返回字段全解析成功响应HTTP 200示例{ code: 0, message: success, data: { license_number: JY14012800001234, operator: 某某餐饮有限公司, legal_representative: 张三, premise: 北京市朝阳区某街道1号, domicile: 北京市朝阳区某街道1号, main_body: 餐饮服务经营者, operating_item: 热食类食品制售, validity_period: 长期, issuing_authority: 北京市朝阳区市场监督管理局, issuer: 李四, daily_supervisor: 王五, daily_supervisory_authorities: 北京市朝阳区市场监督管理局, complaints_hotline: 12315 } }字段含义表字段名说明示例license_number许可证编号JY14012800001234operator经营者名称某某餐饮有限公司legal_representative法定代表人张三premise经营场所北京市朝阳区某街道1号domicile住所北京市朝阳区某街道1号main_body主体业态餐饮服务经营者operating_item经营项目热食类食品制售validity_period有效期长期issuing_authority发证机关北京市朝阳区市场监督管理局issuer签发人李四daily_supervisor日常监督管理人员王五daily_supervisory_authorities日常监督管理机构北京市朝阳区市场监督管理局complaints_hotline投诉举报电话12315注意若图片中某字段模糊或不完整返回的对应值可能为空字符串。建议对必填字段做空值校验。常见错误码与处理HTTP状态码code字段message原因与处理4001001参数错误缺少必填参数input_type或input_data检查请求体结构4001002图片格式不支持图片不是JPEG/PNG/WebP格式或者Base64编码有误如含换行4001003图片过大Base64数据超过5MB限制建议压缩图片或改用URL方式4012001鉴权失败API密钥无效或未提供检查X-API-Key或请求体key是否正确4293001请求过于频繁QPS超过2次/秒加入重试退避逻辑如指数退避初始等待1秒5005000服务内部错误服务端异常可稍后重试若持续失败请联系技术支持工程化最佳实践1. 图片预处理裁剪与压缩若图片包含多余边框或文字建议先裁剪证件主体区域JPEG质量可降至80%以减小体积。Base64注意事项编码时不添加data:image/jpeg;base64,前缀仅传原始Base64字符串确保无换行base64 -w0。图片方向若证件方向不正识别准确率会下降可先通过图像旋转纠正。2. 请求重试与退避由于QPS限制为2次/秒高并发场景需加本地限流。推荐使用令牌桶算法控制请求速率。遇到429错误时建议import time import requests def call_api_with_retry(url, headers, payload, max_retries3): for attempt in range(max_retries): resp requests.post(url, jsonpayload, headersheaders) if resp.status_code 429: wait 2 ** attempt time.sleep(wait) continue return resp return None3. 字段校验与补录某些字段如validity_period可能为“长期”也可能为具体日期如“2023-01-01至2028-01-01”。建议统一解析为结束日期方便做到期提醒。若license_number为空说明图片质量差或非目标证件应记录失败原因并人工审核。4. 安全与密钥管理将API密钥存储为环境变量或密钥管理服务如Vault避免硬编码。日志中过滤掉X-API-Key或key字段防止敏感信息泄露。5. 响应缓存对于同一张图片重复请求例如重试时可利用图片的MD5或URL作为键缓存识别结果5分钟减少重复调用。参考文档官方文档页https://apizero.cn/aidocs/food-license原始Markdownhttps://apizero.cn/aidocs/food-license/raw.md如果对接口有其他疑问建议查阅文档中的更新日志和FAQ。