车企小程序留资接口

请求参数

具体入参值可找产险开发老师获取。

传值方式 参数值
client_id POST 请求 应用ID 例如:P_PA002_ELIS_UWS(在“我的应用”列表中)
grant_type POST 请求 授权类型 固定值:client_credentials
client_secret POST 请求 应用密钥 例如:znD5x4d1(创建应用时返回的应用密码)

响应参数

access_token oauth系统对获取access_token有调用限制,请将获取的token值放到本地缓存;注意token是有有效期的,当token失效时需要做相应处理。
expires_in 有效期 例如 :60 (单位:分钟);0表示永久有效;expires_in只是有效期参考,不以这个为唯一更新token的标准。注意调用接口返回13002和13012的错误码必须处理。
openid openid

具体指引链接:https://api.pingan.com.cn/dev/index.do?bAPhdWDKZYpPM00

详情数据留资接口地址

request_id只要每个请求传的值不一样就可以,建议传时间戳毫秒数。

测试地址
POST https://test-api.pingan.com.cn:20443/open/mina-store/in/driving/trial/retention/detail?access_token=2AB1657A2FCA42F58E7C59A7CF27B851&request_id=123451
生产地址
POST https://api.pingan.com.cn/open/mina-store/in/driving/trial/retention/detail?access_token=2AB1657A2FCA42F58E7C59A7CF27B851&request_id=123451

Headers

参数名称 参数值 是否必须 备注
Content-Type application/json
X-MINA-MINI-APP-ID 小程序ID
X-MINA-TIMESTAMP 请求时间(毫秒级)
X-MINA-SIGN 请求签名, 签名有效时间 60 秒, 采用 RSA 算法, 签名结果使用 Base64 进行编码;签名格式:
RSA(requestBodyString + X-MINA-MINI-APP-ID + X-MINA-TIMESTAMP)

请求参数

名称 类型 是否必须 名称 备注
dataJson string 留资数据 数据是带转义字符的JsonArray字符串,格式详情见下面表单

格式如下:

名称 类型 是否必须 名称 备注
miniAppId string 小程序ID 小程序ID
openId string 用户ID
mobile string 用户手机号码 用户手机号码,mobile和mobileMD5任选一个传输。 如果传该字段,需要sm4加密
autoCompaniesName string 车企名称 车企名称
mobileMD5 string 手机号MD5值 如果不传该值,会对mobilesm4解密后进行md5加密
name string 留资人姓名 留资人姓名
filledInfo string 其他填写信息 其他填写信息
retentionTime string 留资时间 留资时间
trialTime string 试驾时间 试驾时间
purchaseTime string 购车时间 购车时间

请求参数示例:

{
"dataJson": "[{\"miniAppId\":\"cx79198e9b7b75499a\",\"openId\":\"用户ID1\",\"autoCompaniesName\":\"车企名称\",\"mobile\":\"57B47C30AB4B0DA267B25C0D0DB968C3\",\"mobileMD5\":\"MD5可以为空。\",\"name\":\"姓名\",\"filledInfo\":\"其他填写信息varchar(5000)\",\"retentionTime\":\"2024-11-04 00:00:00\",\"trialTime\":\"2024-11-04 00:00:00\",\"purchaseTime\":\"2024-11-04 00:00:00\"},{\"miniAppId\":\"cx79198e9b7b75499a\",\"openId\":\"用户ID2\",\"autoCompaniesName\":\"车企名称1\",\"mobile\":\"57B47C30AB4B0DA267B25C0D0DB968C3\",\"mobileMD5\":\"MD5可以为空。\",\"name\":\"姓名1\",\"filledInfo\":\"其他填写信息22varchar(5000)\",\"retentionTime\":\"2024-11-04 00:00:00\",\"trialTime\":\"2024-11-04 00:00:00\",\"purchaseTime\":\"2024-11-04 00:00:00\"}]"
}

响应参数

名称 类型 是否必须 默认值 备注
responseCode string 默认0为成功
responseMsg string 提示信息
reqId string 请求ID,用于查询日志

统计数据留资接口地址

request_id只要每个请求传的值不一样就可以,建议传时间戳毫秒数。

测试地址
POST https://test-api.pingan.com.cn:20443/open/mina-store/in/driving/trial/retention/statistic?access_token=2AB1657A2FCA42F58E7C59A7CF27B851&request_id=123451
生产地址
POST https://api.pingan.com.cn/open/mina-store/in/driving/trial/retention/statistic?access_token=2AB1657A2FCA42F58E7C59A7CF27B851&request_id=123451

Headers

参数名称 参数值 是否必须 备注
Content-Type application/json
X-MINA-MINI-APP-ID 小程序ID
X-MINA-TIMESTAMP 请求时间(毫秒级)
X-MINA-SIGN 请求签名, 签名有效时间 60 秒, 采用 RSA 算法, 签名结果使用 Base64 进行编码;签名格式:
RSA(requestBodyString + X-MINA-MINI-APP-ID + X-MINA-TIMESTAMP)

请求参数

名称 类型 是否必须 名称 备注
dataJson string 留资数据 数据是带转义字符的json字符串,格式详情见下面表单

格式如下:

名称 类型 是否必须 名称 备注
miniAppId string 小程序ID 小程序ID
autoCompaniesName string 车企名称 车企名称
visits string 访问次数 理论上传数字,为了方便用String传输
retention 留资次数 留资人姓名 理论上传数字,为了方便用String传输
trial string 试驾次数 理论上传数字,为了方便用String传输
transactions string 交易次数 理论上传数字,为了方便用String传输

请求参数示例:

{
  "dataJson": "[{\"miniAppId\":\"cx79198e9b7b75499a\",\"autoCompaniesName\":\"测试公司2\",\"visits\":\"访问次数1000001\",\"retention\":\"留资次数1000001\",\"trial\":\"试驾次数1000001\",\"transactions\":\"成交次数1000001\"},{\"miniAppId\":\"cx79198e9b7b75499a\",\"autoCompaniesName\":\"测试公司3\",\"visits\":\"访问次数1000002\",\"retention\":\"留资次数1000002\",\"trial\":\"试驾次数1000002\",\"transactions\":\"成交次数1000002\"}]"
}

响应参数

名称 类型 是否必须 默认值 备注
responseCode string 默认0为成功
responseMsg string 提示信息
reqId string 请求ID,用于查询日志

代码示例


示例代码(后端 java):生成签名

import org.apache.commons.codec.binary.Base64;


/**
 * 生成签名
 * @param base64PrivateKey base64格式的 RSA 私钥
 * @param content 需要签名的内容
 * @return 签名传
 */
public static String signBySHA256withRSA(String base64PrivateKey, String content) {
    try {

        PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(base64PrivateKey));
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec);

        Signature signature = Signature.getInstance("SHA256withRSA");
        signature.initSign(privateKey);
        signature.update(content.getBytes());

        return Base64.encodeBase64String(signature.sign());
    } catch (Exception e) {
        logger.error("SHA256withRSA is error:{}",e.getMessage());
    }
    return null;
}

public static void main(String[] args) {
    // 请求的body
    String requestBody="{\"miniAppId\":\"cxec681d79635042d7\",\"identityCode\":\"dn67tajk0fsx4aa\",\"deviceId\":\"h09e9fbeae0118d69872ed90c84feaea3\"}";

    // 你的私钥, 从开放平台获取
    String privateKey="yourRsaPrivateBy";

    // 生成 rsa 签名
    String base64Sign = signBySHA256withRSA(privateKey, content);
    System.out.println(base64Sign);
}
小程序团队 © 2020-2021 all right reserved,powered by Gitbook文件修订时间: 2026-01-05 11:12:01

results matching ""

    No results matching ""