商户通过该接口把数据以json文件形式批量传入给芝麻信用,接口最大支持50M的单文件,对于超过50M的数据文件,需要拆分为多个独立的json文件进行传入,确保单json文件小于50M。
环境 | HTTPS请求地址 |
---|---|
正式环境 | https://openapi.alipay.com/gateway.do |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 是 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
method | String | 是 | 128 | 接口名称 | zhima.merchant.closeloop.data.upload |
format | String | 否 | 40 | 仅支持JSON | JSON |
charset | String | 是 | 10 | 请求使用的编码格式,如utf-8,gbk,gb2312等 | utf-8 |
sign_type | String | 是 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
sign | String | 是 | 344 | 商户请求参数的签名串,详见签名 | 详见示例 |
timestamp | String | 是 | 19 | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" | 2014-07-24 03:07:50 |
version | String | 是 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
app_auth_token | String | 否 | 40 | 详见应用授权概述 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
file_charset | String | 必须 | 32 | 文件的编码,如果文件格式是UTF-8,则填写UTF-8,如果文件格式是GBK,则填写GBK。 | UTF-8 |
records | String | 必须 | 10 | 文件数据记录条数,如file字段中的record数组有10条数据,那么就填10。 | 10 |
biz_ext_params | String | 可选 | 256 | 公用回传参数(非必填),该参数会透传给商户,商户可以用于业务逻辑处理,请使用json格式。 | {'extparam1':'value1'} |
file | byte[] | 必须 | 52428800 | 传入的json格式的文件,其中records属性必填。json中的字段可以通过如下步骤获取:首先调用zhima.merchant.data.upload.initialize接口获取数据模板,该接口会返回一个数据模板文件的url地址,如:http://zmxymerchant-prod.oss-cn-shenzhen.zmxy.com.cn/openApi/openDoc/信用护航-负面记录和信用足迹商户数据模板V1.0.xlsx,该数据模板文件详细列出了需要传入的字段,及各字段的要求,data中的各字段就是该文件中列出的字段编码。 | { "records": [ { "user_name": "张三", "user_credentials_type": "0" }, { "user_name": "李四", "user_credentials_type": "1" } ] }的二进制 |
scene_code | String | 必须 | 32 | 数据应用的场景编码,场景码和场景名称(数字或字符串为场景码)如下:
8:数据反馈 32:骑行 CAR_RENTING:租车行业解决方案 每个场景码对应的数据模板不一样,请使用zhima.merchant.data.upload.initialize接口获取场景码对应的数据模板。 |
8 |
columns | String | 必须 | 512 | 单条数据的数据列,多个列以逗号隔开。 | user_name,user_credentials_type,user_credentials_no,order_no,biz_type,order_status,create_amt,pay_month,gmt_ovd_date,overdue_cnt |
primary_key_columns | String | 必须 | 512 | 主键列使用传入字段进行组合,也可以使用传入的某个单字段(确保主键稳定,而且可以很好的区分不同的数据)。例如order_no,pay_month或者order_no,bill_month组合,对于一个order_no只会有一条数据的情况,直接使用order_no作为主键列。 | order_no,pay_month |
linked_merchant_id | String | 可选 | 16 | 芝麻平台服务商模式下的二级商户标识(即二级商户PID),如果是直连商户调用该接口,不需要设置 | 2088721630869411 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | String | 是 | - | 网关返回码,详见文档 | 40004 |
msg | String | 是 | - | 网关返回码描述,详见文档 | Business Failed |
sub_code | String | 否 | - | 业务返回码,详见文档 | ACQ.TRADE_HAS_SUCCESS |
sub_msg | String | 否 | - | 业务返回码描述,详见文档 | 交易已被支付 |
sign | String | 是 | - | 签名,详见文档 | DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
task_id | String | 选填 | 64 | 每次上传都会生成一个任务号 | 2017031700304000000000 |
biz_ext_params | String | 选填 | 256 | 公用回传参数(非必填),这个字段由商户传入,系统透传给商户。 | {"param1:zhanzhan"} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | AlipayClient alipayClient = new DefaultAlipayClient( "https://openapi.alipay.com/gateway.do" , "app_id" , "your private_key" , "json" , "GBK" , "alipay_public_key" , "RSA2" ); ZhimaMerchantCloseloopDataUploadRequest request = new ZhimaMerchantCloseloopDataUploadRequest(); request.setFileCharset( "UTF-8" ); request.setRecords( "10" ); request.setBizExtParams( "{'extparam1':'value1'}" ); FileItem File = new FileItem( "C:/Downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg" ); request.setFile(File); request.setSceneCode( "8" ); request.setColumns( "user_name,user_credentials_type,user_credentials_no,order_no,biz_type,order_status,create_amt,pay_month,gmt_ovd_date,overdue_cnt" ); request.setPrimaryKeyColumns( "order_no,pay_month" ); request.setLinkedMerchantId( "2088721630869411" ); ZhimaMerchantCloseloopDataUploadResponse response = alipayClient.execute(request); if (response.isSuccess()){ System.out.println( "调用成功" ); } else { System.out.println( "调用失败" ); } |
1 2 3 4 5 6 7 8 9 | { "zhima_merchant_closeloop_data_upload_response" :{ "msg" : "Success" , "code" : "10000" , "task_id" : "2017031700304000000000" , "biz_ext_params" : "{\"param1:zhanzhan\"}" }, "sign" : "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" } |
1 2 3 4 5 6 7 8 9 | { "zhima_merchant_closeloop_data_upload_response" :{ "msg" : "Service Currently Unavailable" , "code" : "20000" , "sub_msg" : "系统繁忙" , "sub_code" : "isp.unknow-error" }, "sign" : "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" } |
错误码 | 错误描述 | 解决方案 |
---|---|---|
COLUMNS_IS_EMPTY | 数据列名为空 | 检查columns入参 |
FILE_CHARSET_IS_EMPTY | 文件编码为空 | 检查file_charset入参 |
FILE_RECORDS_IS_EMPTY | 数据条数为空 | 检查records入参 |
FILE_UPLOAD_FAILURE | 文件上传失败 | 联系旺旺号“芝麻信用技术支持” |
PASSWAY_IS_NOT_EXIST | 数据通道不存在,请先申请通道 | 联系旺旺号“芝麻信用技术支持” |
PRIMARY_KEY_IS_EMPTY | 数据主键为空 | 检查primary_key_columns入参 |
SCENE_CODE_IS_EMPTY | 场景码为空 | 检查scene_code入参 |
SCENE_CODE_IS_NOT_EXIST | 场景码不存在 | 确认使用正确的场景码 |
SYSTEM_RUN_FAILURE | 系统运行失败 | 联系旺旺号“芝麻信用技术支持” |
TYPE_ID_IS_NOT_EXIST | 通道id配置不存在 | 联系旺旺号“芝麻信用技术支持” |
INVALID_PARAMETER | 参数有误 | 请检查数据格式 |