欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > 其他教程 >
其他教程

vivo市场API事件上报回调联调对接

(元素模板) / 2023-05-11 10:18

很多网站运营在是VIVO联调 回传API遇到困难,可以看下下面教程,也可以点击右侧客服收费添加联调,不光是VIVO,其他OPPO,百度,推啊等等都可以对接

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的对应事件

 
Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com