文档中心 > 开放平台

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

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

使用说明

1. 商户首先通过数据传入初始化服务(zhima.merchant.data.upload.initialize)获取到相应的数据反馈模板,模板仅需获取一次即可;

2. 商户基于已获取的反馈模板进行数据加工处理;

根据反馈的情况,选择数据推送接口:

  • 如果是针对业务系统产生的数据需要实时反馈给芝麻,推荐使用单条数据传入接口 (zhima.merchant.single.data.upload)
  • 如果是离线加工形成的批量数据,推荐使用批量数据传入接口 (zhima.merchant.closeloop.data.upload)

3. 商户使用已选择的数据推送接口,将基于反馈模板加工处理的数据反馈给芝麻信用。

调用流程

快速接入

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

由于系统需要预先建立数据传入通道,故在数据传入之前,需要进行初始化,请调用数据传入初始化接口(zhima.merchant.data.upload.initialize)完成通道初始化,初始化内容包括:创建数据通道和查询返回数据反馈模板下载URL。通过该URL即可从公网下载对应的数据反馈模板,每个URL以【.xlsx】结尾,每个appid对应一份数据反馈字段模板。

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

Java SDK调用参考:

  • 运行环境:JAVA1.5+,eclipse
  • 项目引入openapi的SDK
  • 开放平台网关地址
    线上:https://openapi.alipay.com/gateway.do
    沙箱环境:https://openapi.alipaydev.com/gateway.do
    /** 应用的APP_ID,示例:2016091301899767 */
public static final String APP_ID             = "";

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

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

    /** 蚂蚁网关的url. 线上:https://openapi.alipay.com/gateway.do 沙箱环境:https://openapi.alipaydev.com/gateway.do*/
    public static final String GATEWAY_URL        = "";

    /** JSON 格式 */
    public static final String FORMAT_JSON             = "json";

    /** UTF-8字符集 **/
    public static final String CHARSET_UTF8            = "UTF-8";

    /**
     * @param args
     */
    public static void main(String[] args) {
        // [1] 构建支付宝客户端
        AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID,
            PRIVATE_KEY, FORMAT_JSON, CHARSET_UTF8, ALIPAY_PUBLIC_KEY, "RSA2");

        // [2] 构建数据传入初始化请求
        ZhimaMerchantDataUploadInitializeRequest request = new ZhimaMerchantDataUploadInitializeRequest();
        request.setBizContent("{" + "    \"scene_code\":\"8\"" + "  }");

        // [3] 数据传入初始化
        try {
            ZhimaMerchantDataUploadInitializeResponse response = alipayClient.execute(request);
            if (response.isSuccess()) {
                System.out.println("调用成功!");
            } else {
                System.out.println("调用失败!");
            }
        } 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

备注

其他补充信息

第二步:数据加工

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

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

数据对象

数据对象

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

反馈对象

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

数据字段

字段编码

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

字段取值

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

数据格式

字段格式

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

内容格式

  • 如果选择了单条数据传入接口,则需要data参数为json格式;
  • 如果选择了批量数据传入接口,则文件后缀为.txt,文件名不推荐使用中文,文件内容为json格式,最外层是”records”字段。

第三步:选择数据反馈推送的接口

根据反馈的情况,选择数据推送接口。

  • 如果是针对业务系统产生的数据需要实时反馈给芝麻,推荐使用单条数据传入接口;
  • 如果是离线加工形成的批量数据,推荐使用批量数据传入接口。

第四步:数据反馈

为了帮助开发者调用开放接口,针对单条数据传入接口(zhima.merchant.single.data.upload)和批量数据传入接口(zhima.merchant.closeloop.data.upload)均提供开发平台服务端SDK,SDK下载地址

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

Java SDK调用参考:

  • 运行环境:JAVA1.5+,eclipse
  • 项目引入openapi的SDK
  • 开放平台网关地址
    线上:https://openapi.alipay.com/gateway.do
    沙箱环境:https://openapi.alipaydev.com/gateway.do

1. 单条数据传入JAVA代码示例

    /** 应用的APP_ID,示例:2016111600063951 */
    public static final String APP_ID            = "";

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

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

/** 蚂蚁网关的url. 线上:https://openapi.alipay.com/gateway.do 沙箱环境:https://openapi.alipaydev.com/gateway.do*/
    public static final String GETWAY_URL          = "";

    /** JSON 应格式 */
    public static final String FORMAT_JSON             = "json";

    /** UTF-8字符集 **/
    public static final String CHARSET_UTF8            = "UTF-8";

    /**
     * @param args
     */
    public static void main(String[] args) {
         // [1] 构建客户端
        AlipayClient alipayClient = new DefaultAlipayClient(GETWAY_URL, APP_ID,
            PRIVATE_KEY, FORMAT_JSON, CHARSET_UTF8, ALIPAY_PUBLIC_KEY, "RSA2");

        // [2] 构建数据传入请求
        ZhimaMerchantSingleDataUploadRequest request = new ZhimaMerchantSingleDataUploadRequest();
        request.setBizContent("{" + "    \"biz_ext_params\":\"{'extparam1':'value1'}\","
                              + "    \"data\":\"{'user_credentials_no':'522422198905183615','memo':'测试数据','scene_status':'1','scene_desc':'测试场景','user_credentials_type':'0','installment_due_date':'2017-03-12','rectify_flag':'0','order_no':'20170321112011369','biz_date':'2017-03-21','user_name':'张三','overdue_amt':'214.50','scene_type':'1','gmt_ovd_date':'2017-03-15'}\","
                              + "    \"primary_keys\":\"order_no,pay_month\","
                              + "    \"scene_code\":\"8\"" + "  }");

        // [3] 数据传入
        try {
            ZhimaMerchantSingleDataUploadResponse response = alipayClient.execute(request);
            if (response.isSuccess()) {
                System.out.println("调用成功!");
            } else {
                System.out.println("调用失败!");
            }
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
    }
}

2. 批量数据传入JAVA代码示例

    /** 应用的APP_ID,示例:2016111600063951 */
    public static final String APP_ID            = "";

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

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

    /** 蚂蚁网关的url. 线上:https://openapi.alipay.com/gateway.do 沙箱环境:https://openapi.alipaydev.com/gateway.do*/
    public static final String GATEWAY_URL      = "https://openapi.alipaydev.com/gateway.do";

    /** JSON 应格式 */
    public static final String FORMAT_JSON             = "json";

    /** UTF-8字符集 **/
    public static final String CHARSET_UTF8            = "UTF-8";

    /**
     * @param args
     */
    public static void main(String[] args) {
        // [1] 构建客户端
        AlipayClient alipayClient = new DefaultAlipayClient(GETWAY_URL, APP_ID,
            PRIVATE_KEY, FORMAT_JSON, CHARSET_UTF8, ALIPAY_PUBLIC_KEY, "RSA2");

        // [2] 初始化批量数据传入请求
        ZhimaMerchantCloseloopDataUploadRequest request = new ZhimaMerchantCloseloopDataUploadRequest();
        request.setFileCharset("UTF-8");//文件编码
        request.setRecords("10");//记录数
        request.setPrimaryKeyColumns("order_no,pay_month");//数据主键
        request.setBizExtParams("{'extparam1':'value1'}");//公用回传参数(可选)
        FileItem file = null;
        try {
            file = new FileItem("test.txt",
                "{\"records\":[{\"user_credentials_no\":\"65353546334\",\"memo\":\"测试数据\",\"scene_status\":\"1\",\"scene_desc\":\"测试场景\",\"user_credentials_type\":\"0\",\"installment_due_date\":\"2017-03-12\",\"rectify_flag\":\"0\",\"order_no\":\"20170321112011369\",\"biz_date\":\"2017-03-21\",\"user_name\":\"张三\",\"overdue_amt\":\"214.50\",\"scene_type\":\"1\",\"gmt_ovd_date\":\"2017-03-15\"}]}"
                    .getBytes("UTF-8"));//文件,FileItem有多个构造函数,其中包括了直接将本地文件作为入参的构造函数,请看源码,
        } catch (UnsupportedEncodingException e1) {
        }

        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");//设置数据列
        
      // [3] 批量数据传入
      ZhimaMerchantCloseloopDataUploadResponse response = null;
        try {
            response = (ZhimaMerchantCloseloopDataUploadResponse) alipayClient.execute(request);
        } catch (AlipayApiException e) {
        }
        if (response.isSuccess()) {
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
    }
}

 

FAQ

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