com.alipay.v3.model.ConversionData Maven / Gradle / Ivy
The newest version!
/*
* 支付宝开放平台API
* 支付宝开放平台v3协议文档
*
* The version of the OpenAPI document: 2024-08-30
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.alipay.v3.model;
import java.util.Objects;
import java.util.Arrays;
import com.alipay.v3.model.ConversionProperty;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.alipay.v3.JSON;
/**
* ConversionData
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class ConversionData {
public static final String SERIALIZED_NAME_AD_ID = "ad_id";
@SerializedName(SERIALIZED_NAME_AD_ID)
private String adId;
public static final String SERIALIZED_NAME_ATTRIBUTE_LIST = "attribute_list";
@SerializedName(SERIALIZED_NAME_ATTRIBUTE_LIST)
private List attributeList = null;
public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes";
@SerializedName(SERIALIZED_NAME_ATTRIBUTES)
private ConversionProperty attributes;
public static final String SERIALIZED_NAME_BIZ_NO = "biz_no";
@SerializedName(SERIALIZED_NAME_BIZ_NO)
private String bizNo;
public static final String SERIALIZED_NAME_CALLBACK_EXT_INFO = "callback_ext_info";
@SerializedName(SERIALIZED_NAME_CALLBACK_EXT_INFO)
private String callbackExtInfo;
public static final String SERIALIZED_NAME_CID = "cid";
@SerializedName(SERIALIZED_NAME_CID)
private String cid;
public static final String SERIALIZED_NAME_CONVERSION_AMOUNT = "conversion_amount";
@SerializedName(SERIALIZED_NAME_CONVERSION_AMOUNT)
private String conversionAmount;
public static final String SERIALIZED_NAME_CONVERSION_ID = "conversion_id";
@SerializedName(SERIALIZED_NAME_CONVERSION_ID)
private String conversionId;
public static final String SERIALIZED_NAME_CONVERSION_TIME = "conversion_time";
@SerializedName(SERIALIZED_NAME_CONVERSION_TIME)
private Integer conversionTime;
public static final String SERIALIZED_NAME_CONVERSION_TYPE = "conversion_type";
@SerializedName(SERIALIZED_NAME_CONVERSION_TYPE)
private String conversionType;
public static final String SERIALIZED_NAME_CREATIVE_ID = "creative_id";
@SerializedName(SERIALIZED_NAME_CREATIVE_ID)
private String creativeId;
public static final String SERIALIZED_NAME_DATA_ID = "data_id";
@SerializedName(SERIALIZED_NAME_DATA_ID)
private String dataId;
public static final String SERIALIZED_NAME_DATA_SRC_TYPE = "data_src_type";
@SerializedName(SERIALIZED_NAME_DATA_SRC_TYPE)
private String dataSrcType;
public static final String SERIALIZED_NAME_GROUP_ID = "group_id";
@SerializedName(SERIALIZED_NAME_GROUP_ID)
private String groupId;
public static final String SERIALIZED_NAME_JOIN_CHANNEL = "join_channel";
@SerializedName(SERIALIZED_NAME_JOIN_CHANNEL)
private String joinChannel;
public static final String SERIALIZED_NAME_PLAN_ID = "plan_id";
@SerializedName(SERIALIZED_NAME_PLAN_ID)
private String planId;
public static final String SERIALIZED_NAME_PRINCIPAL_ID = "principal_id";
@SerializedName(SERIALIZED_NAME_PRINCIPAL_ID)
private String principalId;
public static final String SERIALIZED_NAME_PRINCIPAL_TAG = "principal_tag";
@SerializedName(SERIALIZED_NAME_PRINCIPAL_TAG)
private String principalTag;
public static final String SERIALIZED_NAME_PROPERTY_LIST = "property_list";
@SerializedName(SERIALIZED_NAME_PROPERTY_LIST)
private List propertyList = null;
public static final String SERIALIZED_NAME_SOURCE = "source";
@SerializedName(SERIALIZED_NAME_SOURCE)
private String source;
public static final String SERIALIZED_NAME_TARGET_ID = "target_id";
@SerializedName(SERIALIZED_NAME_TARGET_ID)
private String targetId;
public static final String SERIALIZED_NAME_TARGET_TYPE = "target_type";
@SerializedName(SERIALIZED_NAME_TARGET_TYPE)
private String targetType;
public static final String SERIALIZED_NAME_UUID = "uuid";
@SerializedName(SERIALIZED_NAME_UUID)
private String uuid;
public static final String SERIALIZED_NAME_UUID_OPEN_ID = "uuid_open_id";
@SerializedName(SERIALIZED_NAME_UUID_OPEN_ID)
private String uuidOpenId;
public static final String SERIALIZED_NAME_UUID_TYPE = "uuid_type";
@SerializedName(SERIALIZED_NAME_UUID_TYPE)
private String uuidType;
public ConversionData() {
}
public ConversionData adId(String adId) {
this.adId = adId;
return this;
}
/**
* 广告创意id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__AD_ID__宏参发生用户点击替换后的值
* @return adId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "123", value = "广告创意id,来自:监测上报或落地页宏替换配置的__AD_ID__宏参发生用户点击替换后的值")
public String getAdId() {
return adId;
}
public void setAdId(String adId) {
this.adId = adId;
}
public ConversionData attributeList(List attributeList) {
this.attributeList = attributeList;
return this;
}
public ConversionData addAttributeListItem(ConversionProperty attributeListItem) {
if (this.attributeList == null) {
this.attributeList = new ArrayList<>();
}
this.attributeList.add(attributeListItem);
return this;
}
/**
* 转化事件属性信息,用于转化事件类型相关属性规则上传。 可支持上传属性的转化事件类型及属性规则请参考该文档:<a href='https://adpub.alipay.com/adrlark/ivdktpyh511x9r6i'>转化事件类型属性规则</a>
* @return attributeList
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "转化事件属性信息,用于转化事件类型相关属性规则上传。 可支持上传属性的转化事件类型及属性规则请参考该文档:转化事件类型属性规则")
public List getAttributeList() {
return attributeList;
}
public void setAttributeList(List attributeList) {
this.attributeList = attributeList;
}
public ConversionData attributes(ConversionProperty attributes) {
this.attributes = attributes;
return this;
}
/**
* Get attributes
* @return attributes
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "")
public ConversionProperty getAttributes() {
return attributes;
}
public void setAttributes(ConversionProperty attributes) {
this.attributes = attributes;
}
public ConversionData bizNo(String bizNo) {
this.bizNo = bizNo;
return this;
}
/**
* 转化流水号:由用户自定义,用于幂等
* @return bizNo
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "Zybnom890437Mvcu", value = "转化流水号:由用户自定义,用于幂等")
public String getBizNo() {
return bizNo;
}
public void setBizNo(String bizNo) {
this.bizNo = bizNo;
}
public ConversionData callbackExtInfo(String callbackExtInfo) {
this.callbackExtInfo = callbackExtInfo;
return this;
}
/**
* 来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__CALLBACK_EXT_INFO__宏参发生用户点击替换后的值,需url decode后传回。
* @return callbackExtInfo
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "hAXLRVRoQHTgh2CQLhjfkX_0HR80F7ktEabHmKgD_XSSXPF2Pwv-a_pEAQVW2FS-6FCLShsXMMU4Ctx0X61swqcK4Qme3YdxzrjynZ_gYjQ8Iv4MNcM0d8oHKFiDWyOx", value = "来自:监测上报或落地页宏替换配置的__CALLBACK_EXT_INFO__宏参发生用户点击替换后的值,需url decode后传回。")
public String getCallbackExtInfo() {
return callbackExtInfo;
}
public void setCallbackExtInfo(String callbackExtInfo) {
this.callbackExtInfo = callbackExtInfo;
}
public ConversionData cid(String cid) {
this.cid = cid;
return this;
}
/**
* 用于精准归因,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__CID__宏参发生用户点击替换后的值。<br> 支持cid上报的转化事件类型请参见:<br> <a href='https://adpub.alipay.com/lark/adrlark/pg4vb1c0g0u6fx7b'>app推广类转化事件类型</a><br> <a href='https://adpub.alipay.com/lark/adrlark/rvzylhryxh37yplt'>通用类转化事件类型</a>
* @return cid
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "8e91eca2-930d-4b4e-bb38-1ba74146cd06", value = "用于精准归因,来自:监测上报或落地页宏替换配置的__CID__宏参发生用户点击替换后的值。
支持cid上报的转化事件类型请参见:
app推广类转化事件类型
通用类转化事件类型")
public String getCid() {
return cid;
}
public void setCid(String cid) {
this.cid = cid;
}
public ConversionData conversionAmount(String conversionAmount) {
this.conversionAmount = conversionAmount;
return this;
}
/**
* 转化金额,单位分。 金额类转化事件必传
* @return conversionAmount
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "20", value = "转化金额,单位分。 金额类转化事件必传")
public String getConversionAmount() {
return conversionAmount;
}
public void setConversionAmount(String conversionAmount) {
this.conversionAmount = conversionAmount;
}
public ConversionData conversionId(String conversionId) {
this.conversionId = conversionId;
return this;
}
/**
* 转化事件id,当source=COMMON_CONVERSION_ID需上传该字段,其他情况无需上传。
* @return conversionId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "167390987332", value = "转化事件id,当source=COMMON_CONVERSION_ID需上传该字段,其他情况无需上传。")
public String getConversionId() {
return conversionId;
}
public void setConversionId(String conversionId) {
this.conversionId = conversionId;
}
public ConversionData conversionTime(Integer conversionTime) {
this.conversionTime = conversionTime;
return this;
}
/**
* 转化时间,UTC 时间戳,单位:秒
* @return conversionTime
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "12389637", value = "转化时间,UTC 时间戳,单位:秒")
public Integer getConversionTime() {
return conversionTime;
}
public void setConversionTime(Integer conversionTime) {
this.conversionTime = conversionTime;
}
public ConversionData conversionType(String conversionType) {
this.conversionType = conversionType;
return this;
}
/**
* 转化事件类型数字
* @return conversionType
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "225", value = "转化事件类型数字")
public String getConversionType() {
return conversionType;
}
public void setConversionType(String conversionType) {
this.conversionType = conversionType;
}
public ConversionData creativeId(String creativeId) {
this.creativeId = creativeId;
return this;
}
/**
* 广告创意id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__AD_ID__宏参发生用户点击替换后的值
* @return creativeId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "6785", value = "广告创意id,来自:监测上报或落地页宏替换配置的__AD_ID__宏参发生用户点击替换后的值")
public String getCreativeId() {
return creativeId;
}
public void setCreativeId(String creativeId) {
this.creativeId = creativeId;
}
public ConversionData dataId(String dataId) {
this.dataId = dataId;
return this;
}
/**
* 当source=XLIGHT或者DATASET时使用: 数据集id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)
* @return dataId
* @deprecated
**/
@Deprecated
@javax.annotation.Nullable
@ApiModelProperty(example = "20391", value = "当source=XLIGHT或者DATASET时使用: 数据集id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)")
public String getDataId() {
return dataId;
}
public void setDataId(String dataId) {
this.dataId = dataId;
}
public ConversionData dataSrcType(String dataSrcType) {
this.dataSrcType = dataSrcType;
return this;
}
/**
* 当source=OTHER时使用: 数据类型: KR_MEMBER - 客如云入会 KR_TRADE - 客如云交易 TB_LIVE - 淘宝直播(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)
* @return dataSrcType
* @deprecated
**/
@Deprecated
@javax.annotation.Nullable
@ApiModelProperty(example = "KR_MEMBER", value = "当source=OTHER时使用: 数据类型: KR_MEMBER - 客如云入会 KR_TRADE - 客如云交易 TB_LIVE - 淘宝直播(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)")
public String getDataSrcType() {
return dataSrcType;
}
public void setDataSrcType(String dataSrcType) {
this.dataSrcType = dataSrcType;
}
public ConversionData groupId(String groupId) {
this.groupId = groupId;
return this;
}
/**
* 广告单元id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__GROUP_ID__宏参发生用户点击替换后的值
* @return groupId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "7896", value = "广告单元id,来自:监测上报或落地页宏替换配置的__GROUP_ID__宏参发生用户点击替换后的值")
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public ConversionData joinChannel(String joinChannel) {
this.joinChannel = joinChannel;
return this;
}
/**
* XLIGHT - 灯火归因 MERCHANT -商家自主归因 该字段若为空则默认为XLIGHT
* @return joinChannel
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "XLIGHT", value = "XLIGHT - 灯火归因 MERCHANT -商家自主归因 该字段若为空则默认为XLIGHT")
public String getJoinChannel() {
return joinChannel;
}
public void setJoinChannel(String joinChannel) {
this.joinChannel = joinChannel;
}
public ConversionData planId(String planId) {
this.planId = planId;
return this;
}
/**
* 广告计划id,来自:<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的__PLAN_ID__宏参发生用户点击替换后的值
* @return planId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "1789", value = "广告计划id,来自:监测上报或落地页宏替换配置的__PLAN_ID__宏参发生用户点击替换后的值")
public String getPlanId() {
return planId;
}
public void setPlanId(String planId) {
this.planId = planId;
}
public ConversionData principalId(String principalId) {
this.principalId = principalId;
return this;
}
/**
* 商户在灯火pb端的id, 可代替principal_tag。
* @return principalId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "1", value = "商户在灯火pb端的id, 可代替principal_tag。")
public String getPrincipalId() {
return principalId;
}
public void setPrincipalId(String principalId) {
this.principalId = principalId;
}
public ConversionData principalTag(String principalTag) {
this.principalTag = principalTag;
return this;
}
/**
* 商家标志,可代替principal_id。获取方法: <a href='https://adpub.alipay.com/lark/adrlark/sbk3vetg6ki5m4r8'>principal_tag获取sop</a><br>
* @return principalTag
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "HYjofejnnlp89730202bcklHH", value = "商家标志,可代替principal_id。获取方法: principal_tag获取sop
")
public String getPrincipalTag() {
return principalTag;
}
public void setPrincipalTag(String principalTag) {
this.principalTag = principalTag;
}
public ConversionData propertyList(List propertyList) {
this.propertyList = propertyList;
return this;
}
public ConversionData addPropertyListItem(ConversionProperty propertyListItem) {
if (this.propertyList == null) {
this.propertyList = new ArrayList<>();
}
this.propertyList.add(propertyListItem);
return this;
}
/**
* 转化归因字段列表。不同转化事件类型回传property_list不同。请参见回传示例:<br> <a href=\"https://adpub.alipay.com/lark/adrlark/pvbgwf72ea090877\">通用类转化事件回传示例</a><br> <a href=\"https://adpub.alipay.com/lark/adrlark/kgnnk94p0p1mwbgp\">APP推广类转化事件回传示例</a><br>
* @return propertyList
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "转化归因字段列表。不同转化事件类型回传property_list不同。请参见回传示例:
通用类转化事件回传示例
APP推广类转化事件回传示例
")
public List getPropertyList() {
return propertyList;
}
public void setPropertyList(List propertyList) {
this.propertyList = propertyList;
}
public ConversionData source(String source) {
this.source = source;
return this;
}
/**
* <br> COMMON_TARGET:<a href='https://adpub.alipay.com/lark/adrlark/rvzylhryxh37yplt'>通用类转化事件类型</a>适用<br> CALLBACK:<a href='https://adpub.alipay.com/lark/adrlark/pg4vb1c0g0u6fx7b'>APP推广类转化事件类型</a>适用<br> 不同source的参数回传规则请参考: COMMON_TARGET:<a href='https://adpub.alipay.com/lark/adrlark/dxw7fkkdnhm45spm'>通用转化回传参数说明</a><br> CALLBACK: <a href='https://adpub.alipay.com/lark/adrlark/wxou6agg3z1o6wyn'>APP推广类转化回传参数说明</a>
* @return source
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "COMMON_TARGET", value = "
COMMON_TARGET:通用类转化事件类型适用
CALLBACK:APP推广类转化事件类型适用
不同source的参数回传规则请参考: COMMON_TARGET:通用转化回传参数说明
CALLBACK: APP推广类转化回传参数说明")
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public ConversionData targetId(String targetId) {
this.targetId = targetId;
return this;
}
/**
* 当source=OTHER时使用: 主体id,例如品牌id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)
* @return targetId
* @deprecated
**/
@Deprecated
@javax.annotation.Nullable
@ApiModelProperty(example = "123", value = "当source=OTHER时使用: 主体id,例如品牌id(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)")
public String getTargetId() {
return targetId;
}
public void setTargetId(String targetId) {
this.targetId = targetId;
}
public ConversionData targetType(String targetType) {
this.targetType = targetType;
return this;
}
/**
* 当source=OTHER时使用: 主体类型: BRAND - 品牌 STORE - 店铺 LIVE - 直播 等等(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)
* @return targetType
* @deprecated
**/
@Deprecated
@javax.annotation.Nullable
@ApiModelProperty(example = "STORE", value = "当source=OTHER时使用: 主体类型: BRAND - 品牌 STORE - 店铺 LIVE - 直播 等等(接口升级,该参数已不再使用,故废弃该参数,但不影响历史数据使用。)")
public String getTargetType() {
return targetType;
}
public void setTargetType(String targetType) {
this.targetType = targetType;
}
public ConversionData uuid(String uuid) {
this.uuid = uuid;
return this;
}
/**
* 发生转化用户的唯一标识。 uuid_type不同,uuid传值不同:<br> 1. 若uuid_type=【PID】:uuid为发生转化用户的2088id。若获取不到,可固定一个值后,上传callback_ext_info参数。<br> 2. 若uuid_type=【OAID_MD5】【IDFA_MD5】【IP_UA】【CAID】【MEI】: uuid传的值为<a href='https://adpub.alipay.com/lark/adrlark/qm1v2gtpvcftele4'>监测上报</a>或<a href='https://adpub.alipay.com/lark/adrlark/gw3740rggm4n5gar'>落地页宏替换</a>配置的对应宏参下发的值<br> 其中当uuid_type=IP_UA时:__IP__、__UA__宏参需用\"_\"拼接上传<br>
* @return uuid
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "7893ybc7032173", value = "发生转化用户的唯一标识。 uuid_type不同,uuid传值不同:
1. 若uuid_type=【PID】:uuid为发生转化用户的2088id。若获取不到,可固定一个值后,上传callback_ext_info参数。
2. 若uuid_type=【OAID_MD5】【IDFA_MD5】【IP_UA】【CAID】【MEI】: uuid传的值为监测上报或落地页宏替换配置的对应宏参下发的值
其中当uuid_type=IP_UA时:__IP__、__UA__宏参需用\"_\"拼接上传
")
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public ConversionData uuidOpenId(String uuidOpenId) {
this.uuidOpenId = uuidOpenId;
return this;
}
/**
* 支付宝用户在应用维度下的唯一标识
* @return uuidOpenId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "oPXyY4O0ZTmUqSX4MRxYDDCccT6Kc9EXX", value = "支付宝用户在应用维度下的唯一标识")
public String getUuidOpenId() {
return uuidOpenId;
}
public void setUuidOpenId(String uuidOpenId) {
this.uuidOpenId = uuidOpenId;
}
public ConversionData uuidType(String uuidType) {
this.uuidType = uuidType;
return this;
}
/**
* <a href='https://adpub.alipay.com/lark/adrlark/rvzylhryxh37yplt'>通用类转化事件类型:</a><br> uuid_type固定为PID:表示转化用户唯一标识<br> <a href='https://adpub.alipay.com/lark/adrlark/pg4vb1c0g0u6fx7b'>APP推广类转化事件类型:</a><br> OAID_MD5:表示OAID原值MD5加密后的值<br> IDFA_MD5:表示IDFA原值MD5加密后的值<br> IP_UA:表示IP_UA拼接值,以下划线拼接<br> CAID:表示CAID原值<br> IMEI:表示IMEI原值<br>
* @return uuidType
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "PID", value = "通用类转化事件类型:
uuid_type固定为PID:表示转化用户唯一标识
APP推广类转化事件类型:
OAID_MD5:表示OAID原值MD5加密后的值
IDFA_MD5:表示IDFA原值MD5加密后的值
IP_UA:表示IP_UA拼接值,以下划线拼接
CAID:表示CAID原值
IMEI:表示IMEI原值
")
public String getUuidType() {
return uuidType;
}
public void setUuidType(String uuidType) {
this.uuidType = uuidType;
}
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
* the 'additionalProperties' keyword in the OAS document.
*/
private Map additionalProperties;
/**
* Set the additional (undeclared) property with the specified name and value.
* If the property does not already exist, create it otherwise replace it.
*
* @param key name of the property
* @param value value of the property
* @return the ConversionData instance itself
*/
public ConversionData putAdditionalProperty(String key, Object value) {
if (this.additionalProperties == null) {
this.additionalProperties = new HashMap();
}
this.additionalProperties.put(key, value);
return this;
}
/**
* Return the additional (undeclared) property.
*
* @return a map of objects
*/
public Map getAdditionalProperties() {
return additionalProperties;
}
/**
* Return the additional (undeclared) property with the specified name.
*
* @param key name of the property
* @return an object
*/
public Object getAdditionalProperty(String key) {
if (this.additionalProperties == null) {
return null;
}
return this.additionalProperties.get(key);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ConversionData conversionData = (ConversionData) o;
return Objects.equals(this.adId, conversionData.adId) &&
Objects.equals(this.attributeList, conversionData.attributeList) &&
Objects.equals(this.attributes, conversionData.attributes) &&
Objects.equals(this.bizNo, conversionData.bizNo) &&
Objects.equals(this.callbackExtInfo, conversionData.callbackExtInfo) &&
Objects.equals(this.cid, conversionData.cid) &&
Objects.equals(this.conversionAmount, conversionData.conversionAmount) &&
Objects.equals(this.conversionId, conversionData.conversionId) &&
Objects.equals(this.conversionTime, conversionData.conversionTime) &&
Objects.equals(this.conversionType, conversionData.conversionType) &&
Objects.equals(this.creativeId, conversionData.creativeId) &&
Objects.equals(this.dataId, conversionData.dataId) &&
Objects.equals(this.dataSrcType, conversionData.dataSrcType) &&
Objects.equals(this.groupId, conversionData.groupId) &&
Objects.equals(this.joinChannel, conversionData.joinChannel) &&
Objects.equals(this.planId, conversionData.planId) &&
Objects.equals(this.principalId, conversionData.principalId) &&
Objects.equals(this.principalTag, conversionData.principalTag) &&
Objects.equals(this.propertyList, conversionData.propertyList) &&
Objects.equals(this.source, conversionData.source) &&
Objects.equals(this.targetId, conversionData.targetId) &&
Objects.equals(this.targetType, conversionData.targetType) &&
Objects.equals(this.uuid, conversionData.uuid) &&
Objects.equals(this.uuidOpenId, conversionData.uuidOpenId) &&
Objects.equals(this.uuidType, conversionData.uuidType)&&
Objects.equals(this.additionalProperties, conversionData.additionalProperties);
}
@Override
public int hashCode() {
return Objects.hash(adId, attributeList, attributes, bizNo, callbackExtInfo, cid, conversionAmount, conversionId, conversionTime, conversionType, creativeId, dataId, dataSrcType, groupId, joinChannel, planId, principalId, principalTag, propertyList, source, targetId, targetType, uuid, uuidOpenId, uuidType, additionalProperties);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ConversionData {\n");
sb.append(" adId: ").append(toIndentedString(adId)).append("\n");
sb.append(" attributeList: ").append(toIndentedString(attributeList)).append("\n");
sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
sb.append(" bizNo: ").append(toIndentedString(bizNo)).append("\n");
sb.append(" callbackExtInfo: ").append(toIndentedString(callbackExtInfo)).append("\n");
sb.append(" cid: ").append(toIndentedString(cid)).append("\n");
sb.append(" conversionAmount: ").append(toIndentedString(conversionAmount)).append("\n");
sb.append(" conversionId: ").append(toIndentedString(conversionId)).append("\n");
sb.append(" conversionTime: ").append(toIndentedString(conversionTime)).append("\n");
sb.append(" conversionType: ").append(toIndentedString(conversionType)).append("\n");
sb.append(" creativeId: ").append(toIndentedString(creativeId)).append("\n");
sb.append(" dataId: ").append(toIndentedString(dataId)).append("\n");
sb.append(" dataSrcType: ").append(toIndentedString(dataSrcType)).append("\n");
sb.append(" groupId: ").append(toIndentedString(groupId)).append("\n");
sb.append(" joinChannel: ").append(toIndentedString(joinChannel)).append("\n");
sb.append(" planId: ").append(toIndentedString(planId)).append("\n");
sb.append(" principalId: ").append(toIndentedString(principalId)).append("\n");
sb.append(" principalTag: ").append(toIndentedString(principalTag)).append("\n");
sb.append(" propertyList: ").append(toIndentedString(propertyList)).append("\n");
sb.append(" source: ").append(toIndentedString(source)).append("\n");
sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n");
sb.append(" targetType: ").append(toIndentedString(targetType)).append("\n");
sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n");
sb.append(" uuidOpenId: ").append(toIndentedString(uuidOpenId)).append("\n");
sb.append(" uuidType: ").append(toIndentedString(uuidType)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
public static HashSet openapiFields;
public static HashSet openapiRequiredFields;
static {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet();
openapiFields.add("ad_id");
openapiFields.add("attribute_list");
openapiFields.add("attributes");
openapiFields.add("biz_no");
openapiFields.add("callback_ext_info");
openapiFields.add("cid");
openapiFields.add("conversion_amount");
openapiFields.add("conversion_id");
openapiFields.add("conversion_time");
openapiFields.add("conversion_type");
openapiFields.add("creative_id");
openapiFields.add("data_id");
openapiFields.add("data_src_type");
openapiFields.add("group_id");
openapiFields.add("join_channel");
openapiFields.add("plan_id");
openapiFields.add("principal_id");
openapiFields.add("principal_tag");
openapiFields.add("property_list");
openapiFields.add("source");
openapiFields.add("target_id");
openapiFields.add("target_type");
openapiFields.add("uuid");
openapiFields.add("uuid_open_id");
openapiFields.add("uuid_type");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
}
/**
* Validates the JSON Object and throws an exception if issues found
*
* @param jsonObj JSON Object
* @throws IOException if the JSON Object is invalid with respect to ConversionData
*/
public static void validateJsonObject(JsonObject jsonObj) throws IOException {
if (jsonObj == null) {
if (ConversionData.openapiRequiredFields.isEmpty()) {
return;
} else { // has required fields
throw new IllegalArgumentException(String.format("The required field(s) %s in ConversionData is not found in the empty JSON string", ConversionData.openapiRequiredFields.toString()));
}
}
if (jsonObj.get("ad_id") != null && !jsonObj.get("ad_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `ad_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("ad_id").toString()));
}
JsonArray jsonArrayattributeList = jsonObj.getAsJsonArray("attribute_list");
if (jsonArrayattributeList != null) {
// ensure the json data is an array
if (!jsonObj.get("attribute_list").isJsonArray()) {
throw new IllegalArgumentException(String.format("Expected the field `attribute_list` to be an array in the JSON string but got `%s`", jsonObj.get("attribute_list").toString()));
}
// validate the optional field `attribute_list` (array)
for (int i = 0; i < jsonArrayattributeList.size(); i++) {
ConversionProperty.validateJsonObject(jsonArrayattributeList.get(i).getAsJsonObject());
};
}
// validate the optional field `attributes`
if (jsonObj.getAsJsonObject("attributes") != null) {
ConversionProperty.validateJsonObject(jsonObj.getAsJsonObject("attributes"));
}
if (jsonObj.get("biz_no") != null && !jsonObj.get("biz_no").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `biz_no` to be a primitive type in the JSON string but got `%s`", jsonObj.get("biz_no").toString()));
}
if (jsonObj.get("callback_ext_info") != null && !jsonObj.get("callback_ext_info").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `callback_ext_info` to be a primitive type in the JSON string but got `%s`", jsonObj.get("callback_ext_info").toString()));
}
if (jsonObj.get("cid") != null && !jsonObj.get("cid").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `cid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cid").toString()));
}
if (jsonObj.get("conversion_amount") != null && !jsonObj.get("conversion_amount").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `conversion_amount` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conversion_amount").toString()));
}
if (jsonObj.get("conversion_id") != null && !jsonObj.get("conversion_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `conversion_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conversion_id").toString()));
}
if (jsonObj.get("conversion_type") != null && !jsonObj.get("conversion_type").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `conversion_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conversion_type").toString()));
}
if (jsonObj.get("creative_id") != null && !jsonObj.get("creative_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `creative_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("creative_id").toString()));
}
if (jsonObj.get("data_id") != null && !jsonObj.get("data_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `data_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("data_id").toString()));
}
if (jsonObj.get("data_src_type") != null && !jsonObj.get("data_src_type").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `data_src_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("data_src_type").toString()));
}
if (jsonObj.get("group_id") != null && !jsonObj.get("group_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_id").toString()));
}
if (jsonObj.get("join_channel") != null && !jsonObj.get("join_channel").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `join_channel` to be a primitive type in the JSON string but got `%s`", jsonObj.get("join_channel").toString()));
}
if (jsonObj.get("plan_id") != null && !jsonObj.get("plan_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `plan_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("plan_id").toString()));
}
if (jsonObj.get("principal_id") != null && !jsonObj.get("principal_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `principal_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("principal_id").toString()));
}
if (jsonObj.get("principal_tag") != null && !jsonObj.get("principal_tag").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `principal_tag` to be a primitive type in the JSON string but got `%s`", jsonObj.get("principal_tag").toString()));
}
JsonArray jsonArraypropertyList = jsonObj.getAsJsonArray("property_list");
if (jsonArraypropertyList != null) {
// ensure the json data is an array
if (!jsonObj.get("property_list").isJsonArray()) {
throw new IllegalArgumentException(String.format("Expected the field `property_list` to be an array in the JSON string but got `%s`", jsonObj.get("property_list").toString()));
}
// validate the optional field `property_list` (array)
for (int i = 0; i < jsonArraypropertyList.size(); i++) {
ConversionProperty.validateJsonObject(jsonArraypropertyList.get(i).getAsJsonObject());
};
}
if (jsonObj.get("source") != null && !jsonObj.get("source").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `source` to be a primitive type in the JSON string but got `%s`", jsonObj.get("source").toString()));
}
if (jsonObj.get("target_id") != null && !jsonObj.get("target_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `target_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_id").toString()));
}
if (jsonObj.get("target_type") != null && !jsonObj.get("target_type").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `target_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_type").toString()));
}
if (jsonObj.get("uuid") != null && !jsonObj.get("uuid").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `uuid` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid").toString()));
}
if (jsonObj.get("uuid_open_id") != null && !jsonObj.get("uuid_open_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `uuid_open_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid_open_id").toString()));
}
if (jsonObj.get("uuid_type") != null && !jsonObj.get("uuid_type").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `uuid_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("uuid_type").toString()));
}
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@SuppressWarnings("unchecked")
@Override
public TypeAdapter create(Gson gson, TypeToken type) {
if (!ConversionData.class.isAssignableFrom(type.getRawType())) {
return null; // this class only serializes 'ConversionData' and its subtypes
}
final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
final TypeAdapter thisAdapter
= gson.getDelegateAdapter(this, TypeToken.get(ConversionData.class));
return (TypeAdapter) new TypeAdapter() {
@Override
public void write(JsonWriter out, ConversionData value) throws IOException {
JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
obj.remove("additionalProperties");
// serialize additonal properties
if (value.getAdditionalProperties() != null) {
for (Map.Entry entry : value.getAdditionalProperties().entrySet()) {
if (entry.getValue() instanceof String)
obj.addProperty(entry.getKey(), (String) entry.getValue());
else if (entry.getValue() instanceof Number)
obj.addProperty(entry.getKey(), (Number) entry.getValue());
else if (entry.getValue() instanceof Boolean)
obj.addProperty(entry.getKey(), (Boolean) entry.getValue());
else if (entry.getValue() instanceof Character)
obj.addProperty(entry.getKey(), (Character) entry.getValue());
else {
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
}
}
}
elementAdapter.write(out, obj);
}
@Override
public ConversionData read(JsonReader in) throws IOException {
JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
validateJsonObject(jsonObj);
// store additional fields in the deserialized instance
ConversionData instance = thisAdapter.fromJsonTree(jsonObj);
for (Map.Entry entry : jsonObj.entrySet()) {
if (!openapiFields.contains(entry.getKey())) {
if (entry.getValue().isJsonPrimitive()) { // primitive type
if (entry.getValue().getAsJsonPrimitive().isString())
instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString());
else if (entry.getValue().getAsJsonPrimitive().isNumber())
instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber());
else if (entry.getValue().getAsJsonPrimitive().isBoolean())
instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean());
else
throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString()));
} else { // non-primitive type
instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class));
}
}
}
return instance;
}
}.nullSafe();
}
}
/**
* Create an instance of ConversionData given an JSON string
*
* @param jsonString JSON string
* @return An instance of ConversionData
* @throws IOException if the JSON string is invalid with respect to ConversionData
*/
public static ConversionData fromJson(String jsonString) throws IOException {
return JSON.getGson().fromJson(jsonString, ConversionData.class);
}
/**
* Convert an instance of ConversionData to an JSON string
*
* @return JSON string
*/
public String toJson() {
return JSON.getGson().toJson(this);
}
}