1.商户开票后回传发票数据,苏宁平台接收后支持消费者查看/下载;
2.发票文件内容目前只支持jpg,png,bmp,pdf格式 支持的文件类型:jpg,png,bmp,pdf;
3.发票文件内容回传时,需将文件解析为字节数组,然后base64加密后上传;
名称 | 类型 | 是否必须 | 示例值 | 描述 |
---|---|---|---|---|
appMethod | String | Y | suning.custom.category.query | 方法名 |
appRequestTime | String | Y | 2012-04-25 20:23:30 | 时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2012-04-25 20:23:30。API服务端允许客户端请求时间误差为10分钟。 |
format | String | N | XML | 默认xml,可指定格式为xml,json |
appKey | String | Y | b0c332a133c102765f39de********** | 分配给应用的访问令牌 |
versionNo | String | Y | v1.2 | API的版本,目前为v1.2版本 |
signInfo | String | Y | 460d7ff15b073e463125b4********** | appSecret,appMethod ,appRequestTime, appKey, versionNo, 请求报文base64加密后的数据顺序MD5(32位小写),其中appSecret为appKey对应的密钥 |
access_token | String | N | a1c5c62b08df3a3cbf7efd********** | 采用OAuth授权方式为必填参数 |
名称 | 类型 | 是否必须 | 示例值 | 描述 |
---|---|---|---|---|
invoiceCode | String | N | 1111 | 发票代码 |
invoiceData | String | Y | 13v1123v3bh2h234 | 发票文件内容(图片解析为字节数组后base64加密) |
invoiceNo | String | Y | 1111 | 发票号码 |
invoiceTime | String | Y | 2016-08-01 10:10:10 | 开票日期 |
invoiceType | String | Y | 1 | 发票类型,1 蓝票 -1 红票 |
orderId | String | Y | 4511680451 | 销售单号 |
productCode | String | N | 1111 | 苏宁商品编码 |
invoiceFlag | String | Y | 02 | 发票标识 |
invoiceHead | String | Y | 苏宁易购 | 发票抬头 |
invoiceHeadType | String | Y | 1 | 发票抬头类型 |
invoiceAmount | String | Y | 开票合计金额 | 开票金额 |
invoiceNoTaxAmount | String | N | 不含税金额 | 不含税金额 |
invoiceSecurityCode | String | N | 59888 37763 38108 76652 | 发票校验码 |
oldInvoiceCode | String | N | 1234 | 原发票代码 |
oldInvoiceNum | String | N | 123 | 原发票号码 |
logisticsOrderId | String | N | 纸质发票存在物流单号 | 物流单号 |
logisticsComp | String | N | 纸质发票存在物流公司 | 物流公司 |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
isSuccess | String | Y | 发票上传是否成功 |
<sn_request> <sn_body> <addElectronicInvoice> <invoiceData>13v1123v3bh2h234</invoiceData> <invoiceFlag>02</invoiceFlag> <logisticsOrderId>纸质发票存在物流单号</logisticsOrderId> <invoiceHeadType>1</invoiceHeadType> <invoiceTime>2016-08-01 10:10:10</invoiceTime> <oldInvoiceCode>1234</oldInvoiceCode> <orderId>4511680451</orderId> <invoiceAmount>开票合计金额</invoiceAmount> <logisticsComp>纸质发票存在物流公司</logisticsComp> <invoiceCode>1111</invoiceCode> <productCode>1111</productCode> <invoiceHead>苏宁易购</invoiceHead> <invoiceNoTaxAmount>不含税金额</invoiceNoTaxAmount> <invoiceSecurityCode>59888 37763 38108 76652</invoiceSecurityCode> <invoiceType>1</invoiceType> <invoiceNo>1111</invoiceNo> <oldInvoiceNum>123</oldInvoiceNum> </addElectronicInvoice> </sn_body> </sn_request>
{ "sn_request": { "sn_body": { "addElectronicInvoice": { "invoiceData": "13v1123v3bh2h234", "invoiceFlag": "02", "logisticsOrderId": "纸质发票存在物流单号", "invoiceHeadType": "1", "invoiceTime": "2016-08-01 10:10:10", "oldInvoiceCode": "1234", "orderId": "4511680451", "invoiceAmount": "开票合计金额", "logisticsComp": "纸质发票存在物流公司", "invoiceCode": "1111", "productCode": "1111", "invoiceHead": "苏宁易购", "invoiceNoTaxAmount": "不含税金额", "invoiceSecurityCode": "59888 37763 38108 76652", "invoiceType": "1", "invoiceNo": "1111", "oldInvoiceNum": "123" } } } }
异常码 | 错误描述 | 解决方案 |
---|---|---|
biz.custom.addelectronicinvoice.length-overlong:* | 参数的值超过规定长度 | 请检查此参数的值,*号表示参数字段名 |
biz.custom.addelectronicinvoice.format-error:* | 参数格式错误 | 请检查此参数的值,*号表示参数字段名 |
isp.sys.service.unavailable.moms | 服务不可用 | 请联系苏宁技术人员 |
biz.custom.addelectronicinvoice.missing-parameter:* | 缺少必填参数,*表示字段名 | 请输入正确参数。 |
biz.custom.addelectronicinvoice.invalid-biz:100 | 订单号不能为空 | 传入正确的订单号 |
biz.custom.addelectronicinvoice.invalid-biz:101 | 发票代码不能为空 | 传入正确的发票代码 |
biz.custom.addelectronicinvoice.invalid-biz:102 | 发票号码不能为空 | 传入正确的发票号码 |
biz.custom.addelectronicinvoice.invalid-biz:103 | 电子发票类型不合法 | 传入正确的电子发票类型 |
biz.custom.addelectronicinvoice.invalid-biz:104 | 开票日期不能为空 | 传入正确的开票日期 |
biz.custom.addelectronicinvoice.invalid-biz:105 | 发票文件内容不能为 | 传入正确的发票文件 |
biz.custom.addelectronicinvoice.invalid-biz:106 | 订单信息不存在 | 传入正确的订单号 |
biz.custom.addelectronicinvoice.invalid-biz:107 | 文件大小不可超出1M | 传入正确的发票文件 |
biz.custom.addelectronicinvoice.invalid-biz:108 | 仅支持类型为jpg,png,bmp,pdf的文件 | 传入正确的发票文件 |
biz.custom.addelectronicinvoice.invalid-biz:109 | 该订单未产生退货,不可上传红票 | 退货订单产生后再上传红票 |
biz.custom.addelectronicinvoice.invalid-biz:110 | 非已付款订单不能上传发票 | 订单已付款后再上传发票 |
biz.custom.addelectronicinvoice.invalid-biz:111 | 非电子发票不能上传发票 | 上传电子发票 |
biz.custom.addelectronicinvoice.invalid-biz:112 | 电子发票标识不合法 | 传入正确的电子发票标识 |
biz.custom.addelectronicinvoice.invalid-biz:113 | 发票抬头不能为空 | 传入正确的发票抬头 |
biz.custom.addelectronicinvoice.invalid-biz:114 | 发票类型不能为空 | 传入正确的发票类型 |
biz.custom.addelectronicinvoice.invalid-biz:115 | 发票类型不合法 | 传入正确的发票类型 |
biz.custom.addelectronicinvoice.invalid-biz:116 | 开票金额不能为空 | 传入正确的开票金额 |
biz.custom.addelectronicinvoice.invalid-biz:117 | 开票金额不合法 | 传入正确的开票金额 |
biz.custom.addelectronicinvoice.invalid-biz:118 | 开票不含税金额不合法 | 传入正确的开票不含税金额 |
biz.custom.addelectronicinvoice.invalid-biz:119 | 发票校验码不合法 | 传入正确的发票校验码 |
biz.custom.addelectronicinvoice.invalid-biz:120 | 原发票代码不能为空 | 传入正确的原发票代码 |
biz.custom.addelectronicinvoice.invalid-biz:121 | 原发票号码不能为空 | 传入正确的原发票号码 |
biz.custom.addelectronicinvoice.invalid-biz:122 | 物流单号不合法 | 传入正确的物流单号 |
biz.custom.addelectronicinvoice.invalid-biz:123 | 物流公司不合法 | 传入正确的物流公司 |
biz.custom.addelectronicinvoice.invalid-biz:124 | 开票日期格式错误,正确格式为:yyyy-MM-dd | 传入正确开票日期 |
异常码 | 错误描述 | 解决方案 |
---|---|---|
sys.check.user-permission:inexistence | 访问令牌不存在 | 更换访问令牌 |
sys.check.user-permission:overdue | 访问令牌已过期 | 请使用刷新令牌刷新 |
sys.check.api-permission:inexistence | Api方法不存在 | 请参考帮助中心 |
sys.check.api-permission:overdue | Api方法已过期 | 请参考帮助中心 |
sys.check.method-permission:authority | 无权操作此api | 确认是否有访问该方法权限 |
sys.auth.vendor-request:errory | 无权操作此供应商 | 请确认供应商编码是否正确 |
sys.controller.api-request:limit | Api请求受控 | 超过请求次数 |
sys.check.app-time:error | 请求参数错误api请求时间误差大 | 参考帮助中心 |
sys.check.request-params:error | 请求报文结构错误 | 参考帮助中心、日期格式等 |
sys.check.starttime-format:error | 请求开始时间错误 | 参考帮助中心、日期格式等 |
biz.handler.data-get:success | 业务数据查询成功 | 无 |
biz.handler.data-get:fail | 业务数据查询失败 | 检查请求条件 |
biz.handler.data-get:no-result | 业务数据结果为空 | 无 |
sys.check.pageno-format:error | pageNo格式错误,只允许1到99999之间的整数 | 检查pageNo输入是否有误 |
sys.check.pagesize-format:error | pageSize格式错误,只允许1到50之间的整数(订单相关是1到100) | 检查pageSize输入是否有误 |
sys.check.page-param:error | pageNo或者pageSize不在要求范围内,pageNo只允许1到99999之间的整数,pageSize只允许1到50之间的整数(订单相关是1到100) | 检查pageNo和pageSize输入是否有误 |
sys.check.miss-time:starttime | 不存在开始时间(节点) | 检查输入 |
sys.check.miss-time:endtime | 不存在结束时间(节点) | 检查输入 |
sys.check.starttime-value:null | 开始时间为空(值) | 检查输入 |
sys.check.endtime-value:null | 结束时间为空(值) | 检查输入 |
sys.check.starttime-format:error | 校验开始时间不合法,格式yyyy-MM-dd HH:mm:ss | 检查时间格式 |
sys.check.endtime-format:error | 校验结束时间不合法,格式yyyy-MM-dd HH:mm:ss | 检查时间格式 |
sys.check.query-time:error | 开始时间是否小于结束时间 | 检查开始和结束时间大小 |
sys.check.query-time:outofrange | 时间查询是否超出指定范围 | 检查时间范围 |
sys.check.app-sign:null | 签名信息为空 | 检查签名信息 |
sys.check.app-sign:error | 签名信息错误 | 检查签名信息 |
sys.check.missing-parameter:apiversion | API版本号未指定 | 检查API版本号 |
sys.check.missing-parameter:appRequestTime | 请求时间丢失 | 检查请求时间 |
sys.check.missing-nestElement:sn_body | 缺少sn_body节点 | 检查sn_body是否存在 |
sys.check.user-permission:inexistence | 用户key不存在 | 检查用户key是否存在 |
biz.handler.batch-handler:no-support | 非查询类API不支持批量操作 | 检查API类型 |
biz.handler.request-message:error | 查询类API输入多个业务节点 | 检查业务节点 |
sys.check.header-param:null | header参数为空 | 请检查header参数 |
sys.controller.api-access:limit | 访问限制 | 无 |
sys.controller.api-frequency:limit | 访问频率限制 | 无 |
sys.error.network:failure | 网络异常 | 无 |
sys.error.network-status:? | 响应失败 ?为状态码 | 无 |
sys.check.snunionid.length.is.not:48 | 混淆会员编码长度不是48位 | 使用转换器转换混淆会员编码规定要求混淆会员编码48位 |