vivo市场API事件上报对接

1.广告投放账户创建数据源 
2.开发者账户创建App应用  redirectUrl和授权填写的url一致
2.获取授权access_token
授权页面的地址为 https://open-ad.vivo.com.cn/OAuth?clientId={您的client_id}&state={开发者标识}&redirectUri={您的redirectUri}

注意: 
client_id 开发者账号创建的应用clientid
redirectUri(回调地址)域名需与申请应用时填写的redirectUri域名一致;
state必填(内容不限)例如:授权的营销平台账户名称或账户ID。

3.get请求授权页面地址将数据上传权限赋予投放账户 此时code和state会通过redirecturl保存到广告主数据库

4、应用程序调用接口用授权码(Authorization Code)获得 access_token,同时获得一个用于刷新 access_token 的 refresh_token;详情参考获取Access Token;
获取Access Token
请求地址
https://marketing-api.vivo.com.cn/openapi/v1/oauth2/token
请求方法
Get

public String getToken(String clientId,String secret,String code)  {
    OkHttpClient client = new OkHttpClient().newBuilder().build();
    Request request = new Request.Builder().url("https://marketing-api.vivo.com.cn/openapi/v1/oauth2/token?client_id="+clientId+"&client_secret="+secret+"&grant_type=code&code="+code)
    .method("GET", null)
    .build();
    Response response = client.newCall(request).execute();
    return response.body().string();
}


参数解释:
  client_id       应用 id,在开发者官网创建应用后获得,可通过应用列表 查看
  client_secret   应用秘钥    开发者创建的App应用获取
  grant_type      获取token方式,目前固定值为code,表示根据authorization_code获得
  code            绑定应用的时候获取到的authorization_code值  保存到数据库的code值
  
5.用户行为数据上传
请求地址
https://marketing-api.vivo.com.cn/openapi/v1/advertiser/behavior/upload

public String send() {
    String url = "https://marketing-api.vivo.com.cn/openapi/v1/advertiser/behavior/upload";
    String advertiserId = "X";
    String nonce = "XX";
    String accessToken = "XXX";
    String timestamp = "XXXX";
    OkHttpClient client = new OkHttpClient().newBuilder().build();
    MediaType mediaType = MediaType.parse("application/json");
    String jsonStr = "XX"; //使用请求参数的json串替换,格式如下方示例
    RequestBody body = RequestBody.create(mediaType, jsonStr);
    Request request = new Request.Builder()
            .url(url + "?access_token=" + accessToken + "&timestamp=" + timestamp + "&nonce=" + nonce + "&advertiser_id=" + advertiserId)
            .method("POST", body)
            .addHeader("Content-Type", "application/json")
            .build();
    Response response = client.newCall(request).execute();
    return response.body().string();
}
{
    "dataList": [{
        "creativeId": "CreativeId_0000000000000",
        "cvParam": "param1:value1,param2:value2",
        "cvTime": 1568617282000,
        "cvType": "ACTIVATION",
        "userId":"oaidKSByShAaVlpqwWbECdNVqKVJAcTtCOrKGXisGyJQXqcQgIwNoGpZwAjpDUWt",
        "dlrSrc": "DlrSrc0",
        "userIdType": "oaid",
        "requestId": "RequestId_111111111111122",
        "CvCustom": "ddddddddd"
        }
    ],
    "pageUrl": "abc",
    "pkgName": "com.vivo.sen2",
    "srcId": "ds-201909120272",
    "srcType": "app"
}

注意
post请求url路径上面需要带上几个参数
userId 为oaid时候只能为vivo的设备的oaid  否则会提示oaid错误\

access_token 授权令牌,完成 OAuth 2.0 授权后获得,参考Oauth2.0授权-授权流程章节。
以Query Parameter方式在请求路径中传递。 
nonce
随机字串标识,不超过32个字符,由调用方自行生成,需保证全局唯一性。
以Query Parameter方式在请求路径中传递。(每个字符串只能用一次)

timestamp  当前的时间戳,单位为毫秒,允许客户端请求最大时间误差为600秒。MarketingAPI                                     所使用的时间戳,若无特殊说明,均为毫秒级时间戳。MarketingAPI             所使用的时区为GMT+8,例如当时间戳为1598451101338时,表示 2020-08-26 22:11:41
        以Query Parameter方式在请求路径中传递。 
advertiser_id   账户ID。
如果授权帐号是二代账户,需要填写要操作的对应投放账户id(可通过查询二代下属广告主接口获取,取UUID字段);
如果授权账户是广告主投放账户则可以不填;
以Query Parameter方式在请求路径中传递。

请求成功之后  可在投放账户数据源查看App的对应事件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值