文档中心 > 芝麻开放文档测试

数据反馈是商家使用芝麻信用产品的关联要求,不属于单独售卖的产品。

商家在使用了芝麻信用评分/行业关注名单后,需要按照指定的数据反馈模板进行数据批量反馈。

使用说明

  1. 商家首先通过zhima.data.feedbackurl.query(获取数据反馈模板)获取到相应的数据反馈模板,模板仅需获取一次即可;
  2. 商家基于已获取的反馈模板进行数据加工处理;
  3. 商家按照T+1按日反馈的模式,使用zhima.data.batch.feedback(批量数据反馈服务),每天推送前一天的反馈数据。

快速接入

第一步:获取反馈模板URL,并从获取的URL下载反馈模板

商家首先通过zhima.data.feedbackurl.query(获取数据反馈模板)获取到相应的数据反馈模板下载URL,通过该URL即可从公网下载对应的数据反馈模板,每个URL以【.xlsx】结尾,每个appid对应一份数据反馈字段模板。

该服务通过demo集成接入

   /**
 * Alipay.com Inc.
 * Copyright (c) 2004-2016 All Rights Reserved.
 */
package com.demo.sdk;

import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.ZhimaDataFeedbackurlQueryRequest;
import com.alipay.api.response.ZhimaDataFeedbackurlQueryResponse;

/**
 * 获取数据反馈模板API测试
 * 
 * @author 
 * @version $Id: TestZhimaDataFetchFeedbackUrl.java, v 0.1 2016年8月5日 上午10:31:19 wb-huyun.hy Exp $
 */
public class TestZhimaDataFetchFeedbackUrl {

    /** 测试应用的标识 */
    public static final String APP_ID            = "$APPID";

    /**
     * 商家的私钥.
     */
    public static final String PRIVATE_KEY       = "$APP_PRIVATE_KEY";

    /**
     * 蚂蚁的公钥.     */
    public static final String ALIPAY_PUBLIC_KEY = "$ALIPAY_PUBLIC_KEY";

    /**
     *蚂蚁网关的url.     */
    public static final String GATEWAY_URL       = "$URL";

    /** XML 应格式 */
    public static final String FORMAT_XML        = "$FORMAT";

    /** GBK字符集 **/
    public static final String CHARSET_GBK       = "$CHARSET";

    public static void main(String[] args) {
        AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID, PRIVATE_KEY,
            FORMAT_XML, CHARSET_GBK, ALIPAY_PUBLIC_KEY);

        ZhimaDataFeedbackurlQueryRequest request = new ZhimaDataFeedbackurlQueryRequest();
        Map<String, String> params = new HashMap<String, String>();
        params.put("merchant_id", "____Your_merchant_id");
        request.setBizContent(JSON.toJSONString(params));
        try {
            ZhimaDataFeedbackurlQueryResponse response = alipayClient.execute(request);
            System.out.println(JSONObject.toJSONString(response));

        } catch (AlipayApiException e) {
            e.printStackTrace();
        }

    }
}

模板示例如下:

类型 字段编码 字段名称 字段说明 填写示例

联结信息

user_name

姓名

张三

user_credentials_type

证件类型

0-身份证;
1-户口簿;
2-护照;
3-军官证;
4-士兵证;
5-港澳居民来往内地通行证;
6-台湾同胞来往内地通行证;
7-临时身份证;
8-外国人居留证;
9-警官证;
A-香港身份证;
B-澳门身份证;
C-台湾身份证;
10-营业执照;
11-组织机构代码证;
12-税务登记证;
X-其他证件;

0

user_credentials_no

证件号码

证件号码为身份证号码时,最后一位若为字母(罗马数字10),则为大写X

33092219890726331X

风险信息

order_no

业务号

标记某笔真实发生的业务的唯一标识号,原则上要求用户可见

2016062800001

is_bad

是否风险名单

1=是,0=否

1

bad_type

风险名单类型

标记具体的风险名单的类型

套现

gmt_effect

生效时间

把客户放入风险名单的时间。格式:yyyy-mm-dd

2015-11-11

gmt_expired

失效时间

yyyy-mm-dd当客户风险解除时,反馈商户风险名单失效日期,未解除时,默认为2999-12-31

2016-11-12

补充信息

memo

备注

其他补充信息

第二步:数据加工

商家根据获取的数据反馈模板中展现的字段编码,并根据数据反馈模板中每个字段的说明和填写示例,加工成符合反馈标准的数据,并转换成json文件。

数据反馈的对象、字段和格式如下:

数据对象

数据对象

调用信用服务的用户,及其产生的相应业务行为等数据

反馈对象

在用户产生申请流水、产生实际订单、流水/订单状态更新(包括不限于变更、结清、付款等状态变化)以及用户进入风险名单等时间点进行数据反馈

数据字段

字段编码

使用模板中的字段编码,统一使用小写字母

字段取值

每个字段编码根据实际情况取值,取值逻辑参考模板中的填写示例,针对没有值的字段编码,保留字段编码,对字段值直接置空处理

数据格式

字段格式

字段格式具体见数据反馈模板的字段说明

文件格式

文件后缀为.txt,文件名不推荐使用中文,文件内容为json格式,最外层是“records”字段

如下是一个典型的反馈json信息内容:

TIPS:records 字段是必须的。
{
    "records": [
        {
            "user_name":"张三",
            "user_credentials_type":"0",
            "user_credentials_no":"33092219890726331X",
            "order_no":"30032015073000055125",
            "biz_type":"1",
            "order_status":"04",
            "create_amt":"19000.00",
            "pay_month":"7",
            "gmt_ovd_date":"2015-05-01 00:00:00",
            "overdue_days":"3",
            "overdue_amt":"1800.79",
            "gmt_pay":"",
            "memo":""            
        },
        {
            "user_name":"李四",
            "user_credentials_type":"0",
            "user_credentials_no":"330922197907263315",
            "order_no":"30032015073000055126",
            "biz_type":"1",
            "order_status":"04",
            "create_amt":"29000.00",
            "pay_month":"12",
            "gmt_ovd_date":"2015-05-01 00:00:00",
            "overdue_days":"",
            "overdue_amt":"",
            "gmt_pay":"2015-04-30 11:58:33",
            "memo":""
        }
    ]
}

第三步:数据批量反馈

对加工完成的数据反馈json文件,使用zhima.data.batch.feedback(批量数据反馈服务)进行数据推送。

数据批量反馈接口最大支持50M的单文件,对于超过50M的数据文件,需要拆分为多个独立的json文件进行反馈,确保单json文件小于50M。

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,SDK下载地址

Java SDK调用参考:

  • 运行环境:JAVA1.5+,eclipse
  • 项目引入openapi的SDK
  • 开放平台网关地址
    线上:https://openapi.alipay.com/gateway.do
    沙箱环境:https://openapi.alipaydev.com/gateway.do
/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2016 All Rights Reserved.
 */
package com.demo.sdk;

import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.FileItem;
import com.alipay.api.request.ZhimaDataBatchFeedbackRequest;
import com.alipay.api.response.ZhimaDataBatchFeedbackResponse;
import com.demo.sdk.util.AESEncrpytV2;
import com.demo.sdk.util.LoggerUtil;

public class ZhimaDataBatchFeedbackRequestTest {

    //蚂蚁开放平台网关地址
    private static final String URL               = "$URL";
    //商户 App ID
    private static final String APPID             = "$APPID";
    //商户私钥
    private static final String APP_PRIVATE_KEY   = "$APP_PRIVATE_KEY";
    //蚂蚁公钥
    private static final String ALIPAY_PUBLIC_KEY = "$ALIPAY_PUBLIC_KEY";
    //字符编码
    private static final String CHARSET           = "$CHARSET";
    //编码格式
    private static final String FORMAT            = "$FORMAT";

    public static void main(String[] args) throws AlipayApiException, Exception {
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APPID, APP_PRIVATE_KEY, FORMAT,
            CHARSET, ALIPAY_PUBLIC_KEY);

        ZhimaDataBatchFeedbackRequest request = new ZhimaDataBatchFeedbackRequest();
        request.setFileType("json_data");
        request.setFileCharset(CHARSET);
        request.setRecords("2");
        request.setColumns("userName,address");
        request.setPrimaryKeyColumns("order_no,pay_month");

        String fileData = "{\"records\":[{\"a\":\"1\"},{\"a\":\"2\"}]}";
        //Windows请填写绝对路径,不支持相对路径;Linux支持相对路径
        FileItem fileItem = new FileItem("json_data.txt", fileData.getBytes(CHARSET));
        request.setFile(fileItem);
        try {
            ZhimaDataBatchFeedbackResponse response = alipayClient.execute(request);
            LoggerUtil.info("===API: " + request.getApiMethodName());
            LoggerUtil.info("JSON");
            LoggerUtil.info(response.getBody());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

FAQ

关于此文档暂时还没有FAQ
返回
顶部