1、DB5101 四川省成都市地方标准 DB5101/T 2-2018 成都市食品检验检测交换数据接口规范 2018 - 07 - 01 发布 2018 - 07 - 02 实施 成都市质量技术监督局 发布 DB5101/T 2-2018 I 目 次 前言 . II 引言 . III 1 范围 . 1 2 规范性引用文件 . 1 3 术语和定义 . 1 4 缩略语 . 1 5 交换要求 . 2 5.1 接口交换要求 . 2 5.1.1 接口基本要求 . 2 5.1.2 接口请求消息格式要求 . 2 5.1.3 接口消息参数格式约定 . 2 5.1.4 接口应答消息格式要求 . 2 5.1.5 接口
2、传输格式 . 2 5.2 文件交换要求 . 2 5.2.1 文件交换基本要求 . 2 5.2.2 文件交换模板要求 . 2 5.3 交换安全要求 . 2 附录 A(资料性附录) 接口传输格式要求 . 3 DB5101/T 2-2018 II 前 言 本标准按照 GB/T 1.1-2009给出的规则起草。 本标准由成都市食品药品监督管理局提出并归口。 本标准由成都市质量技术监督局批准。 本标准起草单位:成都市标准化研究院、成都市食品药品检验研究院。 本标准主要起草人:万渝平、 王立山、叶梅、李南 、 罗军、 刘莎、李茂春、向游江。 DB5101/T 2-2018 III 引 言 为进一步加强食品
3、安全检验 检 测数据的融合利用,实现食品安全检验检测数据互联互通、共享共治, 消除信息孤岛,运用数据分析为食品监管提供决策支持,提升我市食品安全智慧监管现代化水平,根据 中华人民共和国食品安全法及其实施条例、关于进一步加强食品药品安全工作的意见(成委发 2016 14号)等有关法律、法规和文件规定,统一食品检验 检 测信息数据规范,特制定我市食品检验 检测交换 数据 接口 规范。 DB5101/T 2-2018 1 成都市 食品检验检测 交换 数据 接口 规范 1 范围 本标准规定了 食品 检验检测交换 数据 接口的 接口交换要求、 文件 交换要求 以及 交换安全 要求 。 本标准适用于成都市
4、行政区域内的食品检验检测 数据的 交换 。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文 件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 DB5101/T 1-2018 成都市食品检验检测数据交换规范 3 术语和定义 下列术语和定义适用于本文件。 3.1 接口 计算机信息系统之间传送数据、交换信息的接口。 3.2 服务提供方 提供食品检验检测交换数据接口服 务的机构。 3.3 数据提供方 通过 服务提供方的接口进行 食品检验检测数据 交换 的机构 。 4 缩略语 下列缩略语适用于本文件。 HTTPS 安全超
5、文本传输协议 ( Hyper Text Transfer Protocol over Secure Socket Layer) REST 表述性状态 转移 ( Representational State Transfer) SOAP 简单对象访问协议 ( Simple Object Access Protocol) XML 扩展标记语言( Extensible Markup Language) DB5101/T 2-2018 2 5 交换 要求 5.1 接口交换要求 5.1.1 接口 基本要求 5.1.1.1 支持 SOAP 协议 或 REST 架构 。 5.1.1.2 采用 HTTPS通讯
6、协议进行同步通讯。 5.1.1.3 接口部署到服务提供方服务器上 , 通过 Intranet/Internet提供服务。 5.1.2 接口 请求消息 格式要求 请求消息 以 XML标签形式封装,数据对象及 参数 英文名即为 XML消息 中标签名 , XML标签含有的英文 采用小写 字母表示 。 5.1.3 接口 消息参数 格式 约定 接口消息参数 格式约定如下: 各 参数 若无特别说明均为字符型。 整数 数 值 型 参数 不得存在除数字字符以外的其他字符。 浮点数值型 参数 不得存在除小数点和 数字字符以外的其他字符。 日期型 参数 默认格式为“ YYYY-MM-DD” 。 时间 型 参数 默
7、认格式为“ hh:mm:ss”。 5.1.4 接口 应答 消息 格式要求 应答 消息 以 XML标签形式封装 , XML标签含有的英文 采用小写 字母表示 , 应答 消息 应 包含 对 请求消息 进行处理的结果信息,包括: 处理成功或失败的标志; 处理 成功 或 失败 的原因说明。 5.1.5 接口 传输格式 接口 传输格式见 附录 A。 5.2 文件 交换 要求 5.2.1 文件 交换 基本 要求 5.2.1.1 采用 HTTPS通讯协议进行同步通讯。 5.2.1.2 服务提供方 应提供文件交换功能 , 通过 Intranet/Internet提供 服务。 5.2.2 文件 交换 模板 要求
8、 服务提供方应提供 文件 交换 模板, 便于 数据提供方 填写 数据后进行 数据 交换 , 文件 交换 模板 参数 格 式按 5.1.3的 规定 执行 。 5.3 交换安全要求 服务提供方应提供提供数据交换安全保障措施。 DB5101/T 2-2018 3 A A 附 录 A (资料性附录) 接口 传输格式 要求 A.1 接口定义 A.1.1 请求消息 格式 请求消息 包括 以下 参数 ,描述见表 A.1: pageNumber.cludove: 返回记录的页数 ; recordNumber.cludove: 每页返回记录数 ; token: 身份认证 加密字符串 ; format: 消息格式
9、 ; catalog.cludove:目录标识; test_info:检验检测交换数据信息 ,格式 如下 : 表 A.1 请求消息 参数表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove 数值型, 返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型, 每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息 加密字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 5 目录标识 catalog.cludove 字符型, 目录标识 6 交换数据信息 test_inf
10、o 食品 检验检测交换数据信息 A.1.2 应答 消息 格式 a) 应答消息 参数表见表 A.2。 b) 应答消息格式 : 处理 结果代码 处理 结果信息 表 A.2 应答 消息 参数表 序号 参数中文 参数 参数说明 1 处理 结果代码 resultcode 结果代码: 1-成功; 0-失败 2 处理 结果信息 resultinfo 结果信息描述 DB5101/T 2-2018 4 A.2 接口 实例 A.2.1 抽样检验 基本 信息 接口 A.2.1.1 请求消息 格式 请求消息 包括以下参数,描述见表 A.3: pageNumber.cludove:返回记录的页数; recordNumb
11、er.cludove:每页返回记录数; token: 身份认证加密字符串 ; format: 消息格式 ; catalog.cludove:目录标识; test_info: 检验检测交换数据信息(抽样检验基本信息) ,格式如下 : 抽样单编号 任务来源 填报人 填报日期 附件 表 A.3 抽样检验 基本信息 参数 表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove 数值型,返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型,每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息加密
12、字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 5 目录标识 catalog.cludove 字符型, 值固定为 save.cy.testinfo 6 抽样单编号 samplelistno 按照 成都市食品检验检测数据交换规范 4.2.1的 规定执行 7 任务来源 tasksource 8 检验目的 /任务类别 tasktype 9 食品类别 foodtype 被抽样单位信息 10 单位名称 submitunit 按照 成都市食品检验检测数据交换规范 4.2.1 的 规定执行 11 区域类型 areatype 12 单位所在行政区划 areacode 13 单位详细地
13、址 submitunitaddr 14 单位邮编 zipcode 15 单位负责人 legalperofsubmitunit 16 单位联系人 contactorofsubmitunit 17 联系电话 submitunittel DB5101/T 2-2018 5 表 A.3 (续) 序号 参数中文 参数 参数说明 18 统一社会信用代码 uniscid 按照 成都市食品检验检测数据交换规范 4.2.1 的 规定执行 19 组织机构代码 orgcode 20 营业执照号 buslicenseno 21 单位许可证类别 licensename 22 单位 许可证号 licenseno 23 抽
14、样地点 drawplace 24 GPS信息 gpsinfo 样品信息 25 样品来源 samplesource 按照 成都市食品检验检测数据交换规范 4.2.1 的 规定执行 26 样品属性 sampleattr 27 样品类型 sampletype 28 样品名称 samplename 29 商标 brand 30 规格型号 samplespec 31 样品日期类型 datetype 32 生产 /购进 /加工日期 getsampledate 33 样品批号 batchno 34 保质期 qualityperiod 35 执行标准 /技术文件 standard 36 质量等级 qualit
15、ylevel 37 生产许可证编号 prolicenseno 38 单价 unitprice 39 是否出口 isexport 40 抽样基数 /批量 base 41 备样数量 preparenum 42 抽样数量 samplenum 43 备样数量 /抽样数量单位 sampleunit 44 样品形态 sampleform 45 包装分类 packageclass 46 抽样方式 drawway 47 备样存放点 storageplace 48 商品条码 commoditycode 生产者信息 49 生产者名称 manufacturer 按照 成都市食品检验检测数据交换规范 4.2.1 的
16、规定执行 50 生产者地址 manufactureraddr 51 生产者联系人 contactorofmanufacturer 52 联系电话 manufacturertel DB5101/T 2-2018 6 表 A.3 (续) 序号 参数中文 参数 参数说明 样品其他信息 53 样品存储状态 storagestatus 按照 成都市食品检验 检测数据交换规范 4.2.1 的 规定执行 54 温度 temperature 55 抽样样品包装 samplepackage 56 湿度 humidity 57 抽样备注 sampleremark 抽样单位信息 58 抽样单位名称 drawunit
17、 按照 成都市食品检验检测数据交换规范 4.2.1 的 规定执行 59 抽样单位地址 drawunitaddr 60 抽样人员 drawper 61 抽样日期 drawdate 62 联系电话 drawunittel 检验机构信息 63 检验机构名称 testunit 按照 成都市食品检验检测数据交换规范 4.2.1 的 规定执行 64 报告书编号 reportno 65 报告日期 reportdate 66 检验结论 testconclusion 67 检验依据 testbasis 68 检验备注 testremark 69 填报人 fillper 70 填报日期 filldate 附件信息
18、 71 附件 attach 按照 成都市食品检验检测数据交换规范 4.2.1 的规定执行 A.2.1.2 应答 消息 格式 按照 A.1.2的规定执行 。 A.2.2 抽样检验 项目 信息 接口 A.2.2.1 请求消息 格式 请求消息 包括以下参 数,描述见表 A.4: pageNumber.cludove:返回记录的页数; recordNumber.cludove:每页返回记录数; token: 身份认证加密字符串 ; format: 消息格式 ; catalog.cludove:目录标识; test_info: 检验检测交换数据信息 (抽验检验项目信息) ,格式如下: 抽样编号 DB51
19、01/T 2-2018 7 报告书编号 检验项目 标准规定 标准值单位 检验结果 结果单位 结果判定 检验方法 /判定依据 备注 表 A.4 抽验 项目 信息 参数 表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove 数值型,返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型,每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息加密字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 5 目录标识 catalog.cludove 值固定为 save.cy.te
20、stresult 6 抽样编号 samplelistno 按照 成都市食品检验检测数据交换规范 4.2.2 的 规定执行 7 报告书编号 reportno 8 检验机构名称 testunit 9 检验项目 testitem 10 标准规定 stdrule 11 标准值单位 stdvalunit 12 检验结果 testresult 13 结果单位 testresultunit 14 结果判定 judgedresult 15 检验方法 /判定依据 testmethod 16 备注 remark A.2.2.2 应答 消息 格式 按照 A.1.2的规定执行 。 A.2.3 委托检验 基本 信息 接
21、口 A.2.3.1 请求消息 格式 请求消息 包括以下参数,描述见表 A.5: pageNumber.cludove:返回记 录的页数; recordNumber.cludove:每页返回记录数; token: 身份认证加密字符串 ; format: 消息格式 ; catalog.cludove:目录标识; DB5101/T 2-2018 8 test_info: 检验检测交换数据信息 (委托检验基本信息) ,格式如下: 委托编号 委托日期 填报人 填报日期 附件 表 A.5 委托检验基本 信息 参数 表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove
22、 数值型,返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型,每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息加密字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 5 目录标识 catalog.cludove 值固定为 save.wj.testinfo 6 委托编号 entrustno 按照 成都市食品检验检测数据交换规范 4.3.1 的 规定执行 7 委托日期 entrustdate 委托单位信息 8 单位名称 bedrawedcom 按照 成都市食品检验检测数据交换规范 4.3.1的 规定
23、执行 9 单位地址 bedrawedcomaddr 10 单位邮编 zipcode 11 送样人 sendper 12 单位联系人 contactorofbedrawedcom 13 联系电话 bedrawedcomtel 14 统一社会信用代码 uniscid 按照 成都市食品检 验检测数据交换规范 4.3.1的 规定执行 15 组织机构代码 orgcode 16 营业执照号 buslicenseno 样品信息 17 样品来源 samplesource 按照 成都市食品检验检测数据交换规范 4.3.1的 规定执行 18 样品属性 sampleattr 19 样品类型 sampletype 2
24、0 样品名称 samplename 21 商标 brand 22 规格型号 samplespec 23 样品日期类型 datetype 24 生产 /购进 /加工日期 getsampledate 25 样品 批号 batchno 26 保质期 qualityperiod 27 执行标准 /技术文件 standard DB5101/T 2-2018 9 表 A.5 (续) 序号 参数中文 参数 参数说明 28 质量等级 qualitylevel 29 生产许可证编号 prolicenseno 30 样品数量 samplecount 31 样品数量单位 samplecountunit 32 样品形
25、态 sampleform 33 包装分类 packageclass 34 是否出口 drawway 35 商品条码 commoditycode 生产者信息 36 生产者名称 manufacturer 按照 成都市食品检验检测数据交换规范 4.3.1的 规定执行 37 生产者地址 manufactureraddr 38 生产者联系人 contactorofmanufacturer 39 联系电话 manufacturertel 经营者信息 40 经营者名称 businessDealer 按照 成都市食品检验检测数据交换规范 4.3.1的 规定执行 41 经营者地址 businessDealer
26、Addr 样品其他信息 42 样品存储状态 storagestatus 按照 成都市食品检验检测数据交换规范 4.3.1的 规定执行 43 温度 temperature 44 送检样品包装 samplepackage 45 湿度 humidity 46 样品备注 sampleremark 检验机构信息 47 检验机构名称 testunit 按照 成都市食品检验检测数据交换规范 4.3.1的 规定执行 48 报告书编号 reportno 49 报告日期 reportdate 50 检验结论 testconclusion 51 检验依据 testbasis 52 检验备注 testremark 5
27、3 填报人 fillper 54 填报日期 filldate 附件信息 55 附件 attach 按照 成都市食品检验检测数据交换规范 4.3.1的规定执行 A.2.3.2 应答 消息 格式 按照 A.1.2的规定执行 。 A.2.4 委托检验项目信息 接口 DB5101/T 2-2018 10 A.2.4.1 请求消息 格式 请求消息 包括以下参数,描述见表 A.6: pageNumber.cludove:返回记录的页数; recordNumber.cludove:每页返回记录数; token: 身份认证加密字符串 ; format: 消息格式 ; catalog.cludove:目录标识;
28、 test_info: 检验检测交换数据信息 (委托检验项目信息) ,格式如下: 委托编号 报告书编号 检验项目 标准规定 标准值单位 检验结果 结果单位 结果判定 检验方法 /判定依据 备注 表 A.6 委托检验 项目信息参数 表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove 数值型,返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型,每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息加密字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 5 目录标识
29、 catalog.cludove 值固定为 save.wj.testresult 6 委托编号 entrustno 按照 成都市食品检验检测数据交换规范 4.3.2的 规定执行 7 报告书编号 reportno 8 检验机构名称 testunit 9 检验项目 testitem 10 标准规定 stdrule 11 标准值单位 stdvalunit 12 检验结果 testresult 13 结果单位 testresultunit 14 结果判定 judgedresult 15 检验方法 /判定依据 testmethod 16 备注 remark A.2.4.2 应答 消息 格式 DB5101
30、/T 2-2018 11 按照 A.1.2的规定执行 。 A.2.5 快速检测 基本 信息 接口 A.2.5.1 请求消息 格式 请求消息 包括以下参数,描述见表 A.7: pageNumber.cludove:返回记录的页数; recordNumber.cludove:每页返回记录数; token: 身份认证加密字符串 ; format: 消息格式 ; catalog.cludove:目录标识; test_info: 检验检测交换数据信息 (快速检测基本信息) ,格式如下: 农贸市场名称 农贸市场所在地的行政区划代码 农贸市场详细地址 摊位号 样品编号 样品名称 样品数量 样品数量单位 商品
31、条码 采收 /屠宰 /购进批号 样品类别名称 样品来源地 样品来源单位 数据提供单位 抽样单位名称 抽样单位电话 检测机构名称 检测机构电话 报告日期 检验结论 检验依据 备注 表 A.7 快速检 测 基本 信息 参数 表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove 数值型,返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型,每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息加密字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 DB5101/T 2-
32、2018 12 表 A.7 (续) 序号 参数中文 参数 参数说明 5 目录标识 catalog.cludove 值固定为 save.kj.testinfo 6 农贸市场名称 market 按照 成都市食品检验检测数据交换规范 4.4.1的 规定执行 7 农贸市场所在地的行政区划代码 areacode 8 农贸市场详细地址 marketaddr 9 摊位号 boothno 10 样品编号 sampleno 11 样品名称 samplename 12 样品数量 samplecount 13 样品数量单位 samplecountunit 14 商品条码 commoditycode 15 采收 /屠
33、宰 /购进批号 batchno 16 样品类别名称 sampleclass 17 样品来源地 samplesourcedistrict 18 样品来 源单位 samplesourceunit 19 数据提供单位 dataprovider 20 抽样单位名称 drawunit 21 抽样单位电话 drawunittel 22 检测机构名称 testunit 23 检测机构电话 testunittel 24 报告日期 reportdate 25 检验结论 testconclusion 26 检验依据 testbasis 27 备注 remark A.2.5.2 应答 消息 格式 按照 A.1.2的
34、规定执行 。 A.2.6 快速检测项目信息接口 A.2.6.1 请求消息格式 请求消息包括以下参数,描述见表 A.8: pageNumber.cludove:返回记录的页数; recordNumber.cludove:每页返回记录数; token: 身份认证加密字符串 ; format: 消息格式 ; catalog.cludove:目录标识; test_info: 检验检测交换数据信息 (快速检测项目信息) ,格式如下: DB5101/T 2-2018 13 样品编号 检测项目 检测结果 结果单位 检验 方法 检验 方法 使用试剂盒名称 试剂盒批号 试剂盒生产单位 表 A.8 快速检测 项目
35、 信息参数表 序号 参数中文 参数 参数说明 1 返回记录的页数 pageNumber.cludove 数值型,返回记录的页数 2 每页返回记录数 recordNumber.cludove 数值型,每页返回记录数 , 0表示不分页 3 身份认证加密字符串 token 字符型, 身份认证信息加密字符串 4 消息格式 format 字符型, 值为 xml或其他约定格式 5 目录标识 catalog.cludove 值固定为 save.kj.testresult 6 样品编号 sampleno 按照 成都市食品检验检测数据交换规范 4.4.2的 规定执行 7 检测项目 testitem 8 检测结果
36、 testresult 9 结果单位 testresultunit 10 检验 方法 testmethod 11 使用试剂盒名称 kitname 12 试剂盒批号 kitno 13 试剂盒生产单位 kitprounit A.2.6.2 应答消息格式 按照 A.1.2的规定执行 。 A.3 接口访问代码示例 import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.Content
37、Type; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; CloseableHttpClient htt
38、pclient = HttpClients.createDefault(); DB5101/T 2-2018 14 HttpPost httpPost = new HttpPost(http:/包括中括号替换为接口地址 :18080/comtrace/s); RequestConfig requestConfig = RequestConfig.custom().setConnectionRequest Timeout( 60000).setConnectTimeout(60000).setSocketTimeout(60000).build(); httpPost.setConfig(req
39、uestConfig); httpPost.addHeader(Accept-Language, zh-cn,zh;q=0.8,en;q=0.6); StringBody buddleCludove = new StringBody(sync, ContentType.create(text/plain, Consts.UTF_8); StringBody catalogCludove = new StringBody(包括中括号替换为对应接口定义的 catalog.cludove参数内容 , ContentType.create(text/plain, Consts.UTF_8); Stri
40、ngBody pageNumberCludove = new StringBody(0, ContentType.create(text/plain, Consts.UTF_8); StringBody recordNumberCludove = new StringBody(0, ContentType.create(text/plain, Consts.UTF_8); StringBody token= new StringBody(包括中括号替换为 身份认证加密字符串 , ContentType.create(text/plain, Consts.UTF_8); StringBody f
41、ormat = new StringBody(包括中括号替换为 : xml|excel, ContentType.create(text/plain, Consts.UTF_8); StringBody 包括中括号替换为对应接口定义的其他参数名字 = new StringBody(包括中括号 替换为对应接口定义的其他参数内容 , ContentType.create(text/plain, Consts.UTF_8); . HttpEntity httpEntity = MultipartEntityBuilder.create() .addPart(test_info, new ByteAr
42、rayBody(包括中括号替换为接口参数中的 消息 字节数组 , test_info) .addPart(file_name, test_info) .addPart(buddle.cludove, buddleCludove) .addPart(catalog.cludove, catalogCludove) .addPart(pageNumber.cludove, pageNumberCludove) .addPart(recordNumber.cludove, recordNumberCludove) .addPart(username, username) .addPart(password, password) .addPart(format, format) .addPart(包括中括号替换为对应接口定义的其他参数名字 , 包括中括号替换为对应接口定 义的其他参数名字 ) .build(); httpPost.setEntity(httpEntity); CloseableHttpResponse response = httpclient.execute(httpPost); HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); _