虎符 云鼎DMP投放 服务接入说明

本文档描述了用户接入虎符 云鼎DMP投放 官方赋能场景步骤。

1、入驻云鼎

虎符作为云鼎的一个业务组件,接入虎符官方赋能场景需要先入驻云鼎(入驻指引:https://yd-doc.jdcloud.com)提交入驻审核后联系云鼎运营审核,如已入驻跳过此步骤。

2、申请接入 云鼎DMP投放 场景

入驻成功后登陆虎符控制台,虎符控制台地址:https://hufu-yd-console.jdcloud.com/

2.1、创建虎符应用

虎符网关以应用维度进行授权管理的,接入场景前首先需要创建一个虎符应用。

(1)点击左侧菜单栏“应用管理”按钮进入虎符应用列表界面,点击“创建应用”按钮进入创建应用界面。


(2)进入创建应用界面后填写应用相关信息,业务域选择“零售”,应用名称自定义,应用类型选择 “生态合作伙伴应用”,点击授权类型,选择一个京东云Access Key,如果没有,前往AccessKey管理页面:https://uc.jdcloud.com/account/accesskey创建。 * 注:虎符应用依赖于京东云accessKey,如果删除或禁用京东云accessKey,会导致虎符应用不可用!

2.2、申请接入

(1)点击左侧菜单栏“官方赋能”->“场景列表”,接入官方赋能场景列表,选择“云鼎DMP投放”场景,点击“申请接入”按钮,选择上一步创建的应用。

(2)申请接入后,跳转到“我的场景”界面,找到对应的接入申请应用,查看是否授权(已授权分组列),如果是空,需要联系虎符运营授权,需提供应用的AppKey及申请接入的场景。

未授权状态

已授权状态

2.3、接入管理

接入成功后,进入“接入管理”页面可以查看 api列表信息,调试API,以及查看环境信息、下载SDK。

(1)调试API

(2)下载SDK

3、提交 推送人群申请

完成上述接入过程后,还需发送邮件到 JCloud-YD@jd.com,申请可推送的商家pin

发送邮件模板:

申请开通 dmp 人群投放接口,相关信息如下:

京东云账号PIN:XXX 【https://uc.jdcloud.com/account/basic-info 地址中的 PIN (客户识别码)】

虎符应用名称:XXXX

虎符签名 appKey:XXXXXXXXXXXXXXX

需要推送的精准通Pin及京东店铺名称: 精准通Pin1【京东店铺名称1】,精准通Pin2【京东店铺名称2】,精准通Pin3【京东店铺名称3】

3.1、文件格式说明

人群包要按照规定的格式上传,文件要求gbk编码,一条数据一行,数据不要超过10M的txt文件。

序号 数据类型 备注 输出
1 用户pin包 使用原始pin pin
2 手机号 pin
3 手机号MD5值 原始的MD5值 pin
4 设备ID包 idfa或imei(大小写均可),支持一个文件中idfa和imei共存 设备号MD5值(大写)
5 IDFA 大小写均支持 设备号MD5值(大写)
6 IMEI 设备号MD5值(大写)
7 IDFA的MD5 IDFA转大写后,再转MD5,MD5大小写均支持 设备号MD5值(大写)
8 imei的MD5 原始的MD5或大写MD5 设备号MD5值(大写)

3.2、限制说明

1、测试环境允许公网调用,线上环境只允许在鼎内调用

2、经过授权的虎符应用才允许提交任务

3、每天只允许提交5次任务

3.2、java 代码示例

目前只发布了测试环境和线上环境,测试环境使用公网地址,线上环境使用VPC地址(鼎内)


/**
 * Demo
 */
public class Demo {

    private static String accessKeyId = "填写 appkey";
    private static String secretKey = "填写 secretKey";
    private static CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretKey);
    private static APIGroupDmpClient client1 = APIGroupDmpClient.builder()
                .credentialsProvider(credentialsProvider)
                .httpRequestConfig(new HttpRequestConfig.Builder().connectionTimeout(10000)
                // 人群包上传请求类型为 流
                .contentType(ContentType.APPLICATION_OCTET_STREAM)
                .protocol(Protocol.HTTPS).build())
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-test.cn-north-1.vpc.jdcloud-api.net").build()) // 测试环境VPC地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-test.cn-north-1.jdcloud-api.net").build()) // 测试环境公网地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-preview.cn-north-1.vpc.jdcloud-api.net").build()) // 预发环境VPC地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-preview.cn-north-1.jdcloud-api.net").build()) // 预发环境公网地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj.cn-north-1.vpc.jdcloud-api.net").build()) // 线上环境VPC地址
                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj.cn-north-1.jdcloud-api.net").build()) // 线上环境公网地址
                .build();
    private static APIGroupDmpClient client2 = APIGroupDmpClient.builder()
                .credentialsProvider(credentialsProvider)
                .httpRequestConfig(new HttpRequestConfig.Builder().connectionTimeout(10000)
                 // 提交人群包至精准通请求类型为 json
                .contentType(ContentType.APPLICATION_JSON)
                .protocol(Protocol.HTTPS).build())
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-test.cn-north-1.vpc.jdcloud-api.net").build()) // 测试环境VPC地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-test.cn-north-1.jdcloud-api.net").build()) // 测试环境公网地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-preview.cn-north-1.vpc.jdcloud-api.net").build()) // 预发环境VPC地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj-preview.cn-north-1.jdcloud-api.net").build()) // 预发环境公网地址
//                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj.cn-north-1.vpc.jdcloud-api.net").build()) // 线上环境VPC地址
                .environment(new Environment.Builder().endpoint("rpr7q2c28bkj.cn-north-1.jdcloud-api.net").build()) // 线上环境公网地址
                .build();

    public static void main (String[] args){

        UploadPackageUsingPOSTRequest uploadPlaintextUsingPOSTRequest = new UploadPackageUsingPOSTRequest();
        try {
            uploadPlaintextUsingPOSTRequest.setJdcloudRequestBody(Files.readAllBytes(Paths.get("test.tmp")));
        } catch (IOException e) {
            e.printStackTrace();
        }
        UploadPackageUsingPOSTResponse uploadPlaintextUsingPOSTResponse = client1.uploadPackageUsingPOST(uploadPlaintextUsingPOSTRequest);
        System.out.println(new Gson().toJson(uploadPlaintextUsingPOSTResponse));

        CommitCrowdUsingPOSTRequest commitCrowdUsingPOSTRequest = new CommitCrowdUsingPOSTRequest();
        CommitCrowdRequestVo1 vo = new CommitCrowdRequestVo1();
        vo.setFileId(3L);
        vo.setExpiredTime("2022-06-01");
        vo.setExternalResourceType(1);
        vo.setPins(Arrays.asList("test_pin"));
        vo.setExternalSystemCrowdName("测试人群包上传20220601");
        commitCrowdUsingPOSTRequest.setCommitCrowdRequestVo(vo);
        CommitCrowdUsingPOSTResponse commitCrowdUsingPOSTResponse = client2.commitCrowdUsingPOST(commitCrowdUsingPOSTRequest);
        System.out.println(new Gson().toJson(commitCrowdUsingPOSTResponse));

    }
}

results matching ""

    No results matching ""

    results matching ""

      No results matching ""