业务向——基于多多进宝平台的CPS

业务向——基于多多进宝平台的CPS

  • 导读
  • 小试牛刀
  • 商品活动推广
  • 商品详情获取
  • 频道推广
  • 订单获取及和用户绑定
  • 小结

导读

多多进宝是拼多多的开放平台,为广大商家和推广者提供了一个机会,通过推广拼多多的商品来实现收益。多多进宝的CPS(按效果付费)模式让推广者可以根据自己的努力和效果来获取相应的佣金,成为了许多人赚取额外收入的途径。在本文中,我们也将从0到1,深入了解及实践如何玩转拼多多CPS,为自己的副业拓宽一下路子。

小试牛刀

在开始之前,我们可能去管网注册一下账号,链接如下,在注册后,在“我要推广”下选择想要推广的商品或者榜单,如图1。以“单品推广”为例子,点击进入某个商品的详情后,点击我要推广,填写对应的推广位,即可生成推广链接,如图2。接着,当用户通过你的链接点击下单,即可获得分佣。

  • 多多进宝
  • 拼多多开放平台文档
  • 拼多多开放平台账号注册文档
  • 除了手动创建推广位,PDD也提供了接口的方式创建推广位。

推广位:在相应媒体登记下创建推广位,每个推广位是唯一的“pid”,是推广识别、跟踪和结算依据
根据推广位,获取商品的多多客推广链接,即可引导消费者购买。该属性在后续接口调用中,经常需要携带的参数

业务向——基于多多进宝平台的CPS_第1张图片
业务向——基于多多进宝平台的CPS_第2张图片
在上面的例子中,我们介绍了手动操作生成推广链接的方式,接着我们将围绕如下几方面,展开描述通过接口的方式,如何玩转多多进宝。

  1. 商品活动推广
  2. 商品调整获取
  3. 拼多多充值
  4. 拼多多订单获取及和用户绑定

在开始之前,我们还需要下载服务端SDK**,**方面我们开发调用。

商品活动推广

pdd.ddk.goods.recommend.get:该接口可以获取PDD各个活动的商品列表,通过传入activity_tags参数,可以获取不同活动页。

activity_tags INTEGER[] 非必填 活动商品标记数组,例:[4,7],4-秒杀,7-百亿补贴,10851-千万补贴,11879-千万神券,10913-招商礼金商品,31-品牌黑标,10564-精选爆品-官方直推爆款,10584-精选爆品-团长推荐,24-品牌高佣,其他的值请忽略

示例代码如下,注意

  • activityTags参数为具体的活动参数,可以写成一个枚举,根据需要动态传参
  • cat_id参数一般用于“猜你喜欢”的场景,当我们点击某个商品后,如果想在这个商品页的下方推荐类似商品,就可以用到这个参数了,此时传入这个商品ID就可以。
  • pid参数即我们在多多进宝上创建的推广位id。
  • limit、offset、listId参数为分页参数,listId参数为翻页时PDD在前页返回的list_id值
 PddDdkGoodsRecommendGetRequest request = new PddDdkGoodsRecommendGetRequest();
        request.setActivityTags(activityTags);
        request.setCatId("");

        request.setLimit(100);
        request.setOffset((0);
        request.setChannelType(5);
         request.setListId("");
        request.setPid("");

		PopClient client = new PopHttpClient(config.pddClientId, config.pddClientSecret);

        try {
             PddDdkGoodsRecommendGetResponse response = client.syncInvoke(request);
        } catch (Exception e) {
            LOGGER.error("拼多多商品列表请求失败 : {}", JSONObject.toJSONString(request), e);
            throw CommonExceptions.BIZ_INVALID.newWithErrMsg("拼多多商品列表请求失败");
        }

商品详情获取

商品详情的展示有两种方式,一种是通过PDD的接口直接获取商品详情信息,然后我们在自己的页面上去做渲染,另外一种是通过生成推广链接,当用户点击时,跳转到PDD上去展示。

  • pdd.ddk.goods.detail:获取商品详情
  • pdd.ddk.goods.promotion.url.generate:生成推广链接

生成推广链接方式为例子:

  • custom_parameters:该参数是绑定用户订单的关键,甚至分销的场景也需要借助该参数,以下面代码为例子,这里传入uid的值为用户id,sid为邀请当前用户的上级用户id。
  • goodsSignList:该参数为获取商品活动列表时,PDD返回的数据里,每个商品都有该参数,值为商品id加密后的结果。
  • 生成链接方式:PDD对这块的功能支持还是挺丰富的,有h5链接也有小程序等,这里我是小程序,所以用的也是生成拼多多小程序跳转链接参数generate_we_app。
PddDdkGoodsPromotionUrlGenerateRequest request = new PddDdkGoodsPromotionUrlGenerateRequest();
        CustomParameters customParameters = new CustomParameters().setSid(memberNo).
                setUid(formatUid(memberNo));
        request.setCustomParameters(JSONObject.toJSONString(customParameters));
        List<String> goodsSignList = new ArrayList<String>();
        goodsSignList.add(goods.getGoodsSign());
        request.setGoodsSignList(goodsSignList);
//        request.setMaterialId("str");
//        request.setMultiGroup(false);
        request.setSearchId(goods.getSearchId());
       
        PopClient client = new PopHttpClient(config.pddClientId, config.pddClientSecret);

        request.setGenerateAuthorityUrl(false);
        request.setGenerateMallCollectCoupon(false);
        request.setGenerateQqApp(false);
        request.setGenerateSchemaUrl(false);
        request.setGenerateShortUrl(false);
        request.setGenerateWeApp(true);
        request.setPId(config.pddClientId);

        try {
            PddDdkGoodsPromotionUrlGenerateResponse response = client.syncInvoke(request);
        } catch (Exception e) {
            LOGGER.error("拼多多商品跳转请求失败");
        }

频道推广

除了商品的推广,PDD也推出了很多频道推广的活动,像我们日常经常充话费、火车票购买都有相应能力支持。

resource_type INTEGER 非必填 频道来源:4-限时秒杀,39997-充值中心, 39998-活动转链,39996-百亿补贴,39999-电器城,40000-领券中心,50005-火车票

以话费充值为例子:

  • custom_parameters:同样,这里的自定义参数也是绑定用户订单的关键。
  • resource_type:该参数即为频道类型。
CustomParameters customParameters = new CustomParameters().setSid(vo.getMemberNo()).
                setUid(formatUid(vo.getMemberNo()));
        PddDdkResourceUrlGenRequest request = new PddDdkResourceUrlGenRequest();
        request.setCustomParameters(JSONObject.toJSONString(customParameters));
        request.setResourceType(39997);
        request.setPid("11");
        request.setGenerateWeApp(true);

        PopClient client = new PopHttpClient(config.pddClientId, config.pddClientSecret);

        try {
            PddDdkResourceUrlGenResponse response = client.syncInvoke(request);
            return new ActivityVo().setAppId(response.getResourceUrlResponse().getWeAppInfo().getAppId())
                    .setUrl(response.getResourceUrlResponse().getWeAppInfo().getPagePath());

        } catch (Exception e) {
            LOGGER.error("拼多多转链失败 : {}", JSONObject.toJSONString(request), e);
            throw CommonExceptions.BIZ_INVALID.newWithErrMsg("拼多多商品列表请求失败");
        }

订单获取及和用户绑定

当用户点击商品发生购买的时候,上面说到的自定义参数custom_parameters将被PDD记录下来,那么我们获取订单时,PDD会将该参数返回给我们,这时我们可以通过该参数解析出是哪位用户下的订单,从而实现和用户绑定。返参格式如下

custom_parameters STRING 自定义参数

关于订单获取,PDD提供了几种方式,下面介绍的是按照时间范围获取订单列表。在实际使用过程中,我们可以起一个定时任务定时获取对应的订单列表。

  • pdd.ddk.order.list.range.get
PddDdkOrderListRangeGetRequest request = new PddDdkOrderListRangeGetRequest();

        request.setStartTime(startTime);
        request.setEndTime(endTime);

        String lastOrderId = "";
        do {
            if (StringUtils.isNotBlank(lastOrderId)) {
                request.setLastOrderId(lastOrderId);
            }
            PddDdkOrderListRangeGetResponse response = pddFetchOrderService.request(request);
            LOGGER.info("pdd 订单请求的响应: {}", JSONObject.toJSONString(response));
            if (response == null || response.getOrderListGetResponse() == null) {
                break;
            }
            if (StringUtils.isBlank(response.getOrderListGetResponse().getLastOrderId()) ||
                    CollectionUtils.isEmpty(response.getOrderListGetResponse().getOrderList())) {
                break;
            }
            saveOrUpdateOrder(response.getOrderListGetResponse().getOrderList());
            lastOrderId = response.getOrderListGetResponse().getLastOrderId();
        } while (true);

小结

通过上面的实践,相信我们对PDD开放平台有一个整体上的了解与认识,除了上面所述的功能外,PDD开放平台还有很多丰富的功能,像店铺API,卡劵API等。另外,关于CPS玩转,搭建相关服务是其次,重点还是落地及推广,一般只靠个人还是很难玩得动的,如果小伙伴们有什么其他想法,欢迎留言或者私信探讨~

你可能感兴趣的:(业务集合,java,spring,boot,程序员创富)