适用场景食品经营许可证是从事食品销售和餐饮服务的法定资质证件。在企业准入审核、供应商合规验证、平台商家入驻等业务中人工录入证照信息效率低且易出错。通过API自动化识别证件上的关键字段可以将业务处理时间从分钟级缩短到秒级同时降低人工复核维护复杂度。典型的应用场景包括电商平台审核商家上传的食品经营许可证餐饮供应链系统自动校验供应商资质企业内部档案管理批量录入历史证照政务审批系统辅助人工核对证件信息。接口能力边界本接口支持上传食品经营许可证图片彩色或黑白均可自动识别并返回13个结构化字段涵盖许可证编号、经营者名称、法定代表人、经营场所、主体业态、经营项目、有效期等。接口的QPS每秒查询数为2次/秒适用于中小规模的实时或准实时处理场景。单次请求图片大小上限为5MB当使用base64方式时图片格式支持常见格式如JPEG、PNG。需要特别注意的是接口不存储上传的图片每次调用只返回识别结果识别准确率受图片清晰度、光照、遮挡等因素影响生产环境中建议配合人工复核机制。请求参数与鉴权接口采用标准的HTTP POST方法请求地址固定为https://v1.apizero.cn/api/food-license请求头Header参数名是否必填类型说明Content-Type是string固定为application/jsonX-API-Key是stringAPI密钥在请求头中携带示例中变量为$APIZERO_API_KEY请求体Body请求体是一个JSON对象包含三个字段字段名是否必填类型说明key否stringAPI密钥的另一种传递方式如请求头未携带可在此传入input_type是string图片传入方式url图片链接或base64Base64编码字符串input_data是string图片URL地址input_typeurl或Base64编码字符串input_typebase64最大5MB建议将API密钥放在请求头X-API-Key中避免在请求体明文暴露。两个位置只需提供一个即可。接入示例curl命令行以下是一个完整的curl请求示例请将$APIZERO_API_KEY替换为真实的API密钥将input_type和input_data替换为实际的图片参数curl -sS \ -X POST \ -H X-API-Key: $APIZERO_API_KEY \ -H Content-Type: application/json \ -d {key: key, input_type: input_type, input_data: input_data} \ https://v1.apizero.cn/api/food-license使用图片URL调用假设你有一张公开可访问的图片地址https://example.com/food_license.jpg且API密钥为sk-abc123则请求为curl -sS -X POST \ -H X-API-Key: sk-abc123 \ -H Content-Type: application/json \ -d {input_type: url, input_data: https://example.com/food_license.jpg} \ https://v1.apizero.cn/api/food-license注意此处请求体中未传key字段因为已在请求头中携带。使用Base64编码调用如果你的图片位于本地可以先将其转换为Base64字符串。以Linux/macOS为例BASE64_STR$(base64 -w0 /path/to/food_license.jpg) curl -sS -X POST \ -H X-API-Key: sk-abc123 \ -H Content-Type: application/json \ -d {input_type: base64, input_data: $BASE64_STR} \ https://v1.apizero.cn/api/food-license注意Windows命令行中base64转换方式不同建议使用Python或PowerShell生成Base64字符串后传入。Python代码示例以下用requests库实现同样的调用需要提前执行pip install requestsimport requests import base64 api_key sk-abc123 # 替换为真实密钥 url https://v1.apizero.cn/api/food-license # 方式1使用图片url payload { input_type: url, input_data: https://example.com/food_license.jpg } headers { X-API-Key: api_key, Content-Type: application/json } resp requests.post(url, jsonpayload, headersheaders) print(resp.json()) # 方式2使用本地图片base64 with open(food_license.jpg, rb) as f: img_base64 base64.b64encode(f.read()).decode(utf-8) payload2 { input_type: base64, input_data: img_base64 } resp2 requests.post(url, jsonpayload2, headersheaders) print(resp2.json())返回字段解读成功响应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_supervisory_authorities: 北京市朝阳区市场监督管理局, daily_supervisor: 王五, complaints_hotline: 12315 } }字段含义对照表字段名中文含义说明license_number许可证编号唯一标识如 JY开头operator经营者名称企业或个体工商户全称legal_representative法定代表人法定代表人姓名premise经营场所详细地址domicile住所准备地址与经营场所可能一致main_body主体业态如“餐饮服务经营者”“食品销售经营者”等operating_item经营项目如“热食类食品制售”“预包装食品销售”等validity_period有效期格式通常为“2024-01-01至2029-12-31”或“长期”issuing_authority发证机关市场监督管理局issuer发证人经办人姓名daily_supervisory_authorities日常监督管理机构如地方市场监督管理局daily_supervisor日常监督管理人员负责日常检查的人员姓名complaints_hotline投诉举报电话一般为 12315如果识别失败或图片不清晰接口返回code非0message描述具体错误data可能为null或部分字段缺失。常见错误与排查错误码或现象可能原因解决方法401 UnauthorizedAPI密钥无效或未提供检查请求头X-API-Key是否正确或请求体key字段400 Bad Request请求体格式错误或必填字段缺失确保JSON格式正确input_type和input_data不为空413 Payload Too LargeBase64图片超过5MB压缩图片或使用URL方式URL无大小限制说明以文档为准200但code不为0图片质量问题或识别超时检查图片是否清晰尝试重新截图或更换图片图片识别结果字段为空图片不包含对应信息或模糊人工核对原始证件确认是否被遮挡工程化注意事项限流处理接口QPS上限为2如果并发请求超过2次/秒会返回429状态码。建议在生产环境中使用队列或延迟重试机制避免短时间内大量请求。图片预处理为提高识别准确率建议对图片做以下处理保证证件四角完整、光线均匀、分辨率不低于300dpi、大小控制在1~3MB。Base64编码开销Base64编码会使数据增加约33%大图片建议优先使用URL方式减少请求体大小。异常重试网络波动或服务端超时可能导致请求失败HTTP 5xx建议实现指数退避重试策略最多重试3次。数据安全API密钥应当存储在环境变量或配置中心不要硬编码在代码中。使用HTTPS传输确保通信加密。结果校验由于OCR识别存在一定误差建议对返回的关键字段如许可证编号、有效期做格式校验例如编号正则匹配^JY\d{14}$。参考文档接口官方文档https://apizero.cn/aidocs/food-license原始API规范https://apizero.cn/aidocs/food-license/raw.md