适用场景与业务价值在企业运营、电商入驻、餐饮供应链管理或食品经营资质审核中经常需要人工核对食品经营许可证上的关键字段如许可证编号、经营者名称、法定代表人、经营场所、主体业态、经营项目及有效期等。传统人工录入效率低、易出错通过API自动识别证件字段可以显著提升审核速度与准确性。接口能力边界接口名称食品经营许可证识别slug: food-license请求方式POST请求地址https://v1.apizero.cn/api/food-license输入方式支持图片URL或Base64编码字符串Base64最大限制5MB输出字段共13个字段详见返回值解读QPS限制2次/秒分类文档识别注意该接口仅适用于中国大陆现行的食品经营许可证《食品经营许可证》样式其他地区或历史版本证件可能无法识别。图片需清晰、光照均匀文字无遮挡否则识别质量会下降。鉴权与请求参数Header设置参数名必填类型说明Content-Type是string固定为application/jsonX-API-Key是string你的API密钥Bearer令牌或key参数也可通过请求体传递请求体JSON对象字段名必填类型说明key否stringAPI密钥与Header中的X-API-Key二选一建议统一使用Header方式传递input_type是string图片传入方式url图片链接或base64Base64编码字符串input_data是string图片URL地址input_typeurl或Base64字符串input_typebase64字段key虽然在请求体中是非必填但实际鉴权必须提供有效密钥。推荐优先使用X-API-Key请求头传递更符合标准RESTful实践。快速接入curl示例以下命令使用X-API-Key鉴权并传入图片URL假设图片为公开可访问的食品经营许可证照片。curl -sS \ -X POST \ -H X-API-Key: YOUR_API_KEY_HERE \ -H Content-Type: application/json \ -d { input_type: url, input_data: https://example.com/images/food-license-sample.jpg } \ https://v1.apizero.cn/api/food-license如果使用Base64方式需先对图片文件进行Base64编码注意去除换行符BASE64_STR$(base64 -w0 /path/to/license.jpg) curl -sS \ -X POST \ -H X-API-Key: YOUR_API_KEY_HERE \ -H Content-Type: application/json \ -d {\input_type\:\base64\,\input_data\:\$BASE64_STR\} \ https://v1.apizero.cn/api/food-license请将YOUR_API_KEY_HERE替换为你的真实API Key。若图片超过5MB会返回错误。代码封装Python示例在实际工程中推荐使用编程语言封装请求方便错误处理和批量调用。以下使用Pythonrequests库实现import requests import json API_URL https://v1.apizero.cn/api/food-license API_KEY YOUR_API_KEY_HERE def recognize_food_license(image_data, input_typeurl): 识别食品经营许可证 :param image_data: 图片URL或Base64字符串 :param input_type: url 或 base64 :return: 解析后的dict含code和data headers { Content-Type: application/json, X-API-Key: API_KEY } payload { input_type: input_type, input_data: image_data } try: resp requests.post(API_URL, headersheaders, jsonpayload, timeout30) resp.raise_for_status() # 非2xx状态码会抛出异常 result resp.json() return result except requests.exceptions.RequestException as e: print(f请求异常: {e}) return None except json.JSONDecodeError: print(响应非JSON格式) return None # 使用示例通过URL识别 if __name__ __main__: url https://example.com/images/license.jpg response recognize_food_license(url, input_typeurl) if response and response.get(code) 0: data response[data] print(识别成功字段如下) for k, v in data.items(): print(f {k}: {v}) else: msg response.get(message, 识别失败) if response else 无响应 print(f错误: {msg})若使用Base64只需将input_type改为base64image_data传Base64字符串即可。注意requests.post(jsonpayload)会自动序列化字典。返回值逐字段解读成功返回HTTP状态码200Body为JSON格式{ code: 0, data: { complaints_hotline: 12315, daily_supervisor: 王五, daily_supervisory_authorities: 北京市朝阳区市场监督管理局, domicile: 北京市朝阳区某街道1号, issuer: 李四, issuing_authority: 北京市朝阳区市场监督管理局, legal_representative: 张三, license_number: JY14012800001234, main_body: 餐饮服务经营者, operating_item: 热食类食品制售, operator: 某某餐饮有限公司, premise: 北京市朝阳区某街道1号, validity_period: 长期 }, message: success }字段名类型说明license_numberstring许可证编号operatorstring经营者名称legal_representativestring法定代表人premisestring经营场所domicilestring住所与经营场所可能相同main_bodystring主体业态如餐饮服务经营者operating_itemstring经营项目如热食类食品制售validity_periodstring有效期如“长期”或具体日期daily_supervisorstring日常监督管理人员daily_supervisory_authoritiesstring日常监督管理机构issuerstring发证人issuing_authoritystring发证机关complaints_hotlinestring投诉举报电话注意部分字段如daily_supervisor、issuer可能为空取决于图片中是否包含这些信息。实际使用时建议对必填字段做非空校验。错误码与常见问题code字段不为0时表示异常此时message包含原因简述。常见错误码code含义常见原因-1系统错误服务器内部异常可稍后重试400请求参数错误缺少必填字段、input_type非法、图片数据格式错误401鉴权失败API Key无效、过期或未提供413请求实体过大Base64图片超过5MB限制415不支持的媒体类型Content-Type不是application/json429请求频率超限超过QPS 2次/秒需降速或加入重试退避1001图片识别失败图片模糊、非食品经营许可证、文字遮挡等排查思路401错误检查API Key是否正确是否在Header中已传递。400错误检查input_type是否拼写正确input_data是否为空字符串。413错误Base64字符串长度是否过长确认原始图片小于5MB。1001错误更换更清晰的图片确保图片包含完整的证照正面扫描件比手机拍照更稳定。429错误在代码中加入指数退避重试逻辑或使用消息队列缓冲请求。工程化注意事项1. 鉴权方式统一推荐统一使用X-API-Key请求头传递密钥避免因请求体中的key字段被遗漏导致鉴权失败。在生产环境中应将API Key存储在环境变量或密钥管理服务中不要硬编码。2. 图片预处理图像分辨率建议不低于300dpiJPEG/PNG格式均可。若使用Base64注意原始图片大小≤5MB。可通过压缩图片、降低分辨率来减小体积。对非90°旋转的图片可先旋转校正再传入有助于提升识别成功率。3. 频率控制与重试由于QPS为2若并发场景较高建议使用令牌桶或请求队列控制速率。对于超时或5xx错误可实现指数退避重试例如重试3次间隔1s、2s、4s。4. 字段校验与业务逻辑返回的data中某些字段可能为空字符串提取后应与数据库已有数据做比对或触发人工复核流程。例如validity_period字段如果是“长期”需要额外处理。5. 日志与监控记录每个请求的响应状态码、识别耗时、返回字段是否完整便于发现接口异常或图片质量问题。参考文档食品经营许可证识别API文档https://apizero.cn/aidocs/food-license原始Markdown文档https://apizero.cn/aidocs/food-license/raw.md