/*
 * Oceanengine Open Api
 * 巨量引擎开放平台 Open Api
 *
 * The version of the OpenAPI document: 1.1.19
 * 
 *
 * 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.bytedance.ads.api;

import com.bytedance.ads.ApiCallback;
import com.bytedance.ads.ApiClient;
import com.bytedance.ads.ApiException;
import com.bytedance.ads.ApiResponse;
import com.bytedance.ads.Configuration;
import com.bytedance.ads.Pair;

import com.google.gson.reflect.TypeToken;



import com.bytedance.ads.model.ToolsBidSuggestV2Ac;
import com.bytedance.ads.model.ToolsBidSuggestV2ActionDays;
import com.bytedance.ads.model.ToolsBidSuggestV2ActionScene;
import com.bytedance.ads.model.ToolsBidSuggestV2ActivateType;
import com.bytedance.ads.model.ToolsBidSuggestV2Age;
import com.bytedance.ads.model.ToolsBidSuggestV2AndroidOsv;
import com.bytedance.ads.model.ToolsBidSuggestV2AppBehaviorTarget;
import com.bytedance.ads.model.ToolsBidSuggestV2ArticleCategory;
import com.bytedance.ads.model.ToolsBidSuggestV2AutoExtendTargets;
import com.bytedance.ads.model.ToolsBidSuggestV2AwemeFanBehaviors;
import com.bytedance.ads.model.ToolsBidSuggestV2AwemeFanTimeScope;
import com.bytedance.ads.model.ToolsBidSuggestV2BidMode;
import com.bytedance.ads.model.ToolsBidSuggestV2BudgetMode;
import com.bytedance.ads.model.ToolsBidSuggestV2Career;
import com.bytedance.ads.model.ToolsBidSuggestV2Carrier;
import com.bytedance.ads.model.ToolsBidSuggestV2ConvertedTimeDuration;
import com.bytedance.ads.model.ToolsBidSuggestV2DeviceBrand;
import com.bytedance.ads.model.ToolsBidSuggestV2DeviceType;
import com.bytedance.ads.model.ToolsBidSuggestV2District;
import com.bytedance.ads.model.ToolsBidSuggestV2DpaLocalAudience;
import com.bytedance.ads.model.ToolsBidSuggestV2DpaRtaRecommendType;
import com.bytedance.ads.model.ToolsBidSuggestV2DpaRtaSwitch;
import com.bytedance.ads.model.ToolsBidSuggestV2ExcludeCustomActionsInner;
import com.bytedance.ads.model.ToolsBidSuggestV2FilterAwemeAbnormalActive;
import com.bytedance.ads.model.ToolsBidSuggestV2FilterOwnAwemeFans;
import com.bytedance.ads.model.ToolsBidSuggestV2FlowControlMode;
import com.bytedance.ads.model.ToolsBidSuggestV2Gender;
import com.bytedance.ads.model.ToolsBidSuggestV2GeolocationInner;
import com.bytedance.ads.model.ToolsBidSuggestV2HideIfConverted;
import com.bytedance.ads.model.ToolsBidSuggestV2HideIfExists;
import com.bytedance.ads.model.ToolsBidSuggestV2IncludeCustomActionsInner;
import com.bytedance.ads.model.ToolsBidSuggestV2InterestActionMode;
import com.bytedance.ads.model.ToolsBidSuggestV2IosOsv;
import com.bytedance.ads.model.ToolsBidSuggestV2LocationType;
import com.bytedance.ads.model.ToolsBidSuggestV2Platform;
import com.bytedance.ads.model.ToolsBidSuggestV2Pricing;
import com.bytedance.ads.model.ToolsBidSuggestV2Response;
import com.bytedance.ads.model.ToolsBidSuggestV2RetargetingType;
import com.bytedance.ads.model.ToolsBidSuggestV2ScheduleType;
import com.bytedance.ads.model.ToolsBidSuggestV2SuperiorPopularityType;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ToolsBidSuggestV2Api {
    private ApiClient localVarApiClient;
    private int localHostIndex;
    private String localCustomBaseUrl;

    public ToolsBidSuggestV2Api() {
        this(Configuration.getDefaultApiClient());
    }

    public ToolsBidSuggestV2Api(ApiClient apiClient) {
        this.localVarApiClient = apiClient;
    }

    public ApiClient getApiClient() {
        return localVarApiClient;
    }

    public void setApiClient(ApiClient apiClient) {
        this.localVarApiClient = apiClient;
    }

    public int getHostIndex() {
        return localHostIndex;
    }

    public void setHostIndex(int hostIndex) {
        this.localHostIndex = hostIndex;
    }

    public String getCustomBaseUrl() {
        return localCustomBaseUrl;
    }

    public void setCustomBaseUrl(String customBaseUrl) {
        this.localCustomBaseUrl = customBaseUrl;
    }

    /**
     * Build call for openApi2ToolsBidSuggestGet
     * @param ac  (optional)
     * @param actionCategories  (optional)
     * @param actionDays  (optional)
     * @param actionScene  (optional)
     * @param actionWords  (optional)
     * @param activateType  (optional)
     * @param adId  (optional)
     * @param adTag  (optional)
     * @param advertiserId  (optional)
     * @param age  (optional)
     * @param androidOsv  (optional)
     * @param appBehaviorTarget  (optional)
     * @param appCategory  (optional)
     * @param appIds  (optional)
     * @param articleCategory  (optional)
     * @param audiencePackageId  (optional)
     * @param autoExtendTargets  (optional)
     * @param awemeFanAccounts  (optional)
     * @param awemeFanBehaviors  (optional)
     * @param awemeFanCategories  (optional)
     * @param awemeFanTimeScope  (optional)
     * @param awemeFansNumbers  (optional)
     * @param bidMode  (optional)
     * @param budget  (optional)
     * @param budgetMode  (optional)
     * @param businessIds  (optional)
     * @param campaignId  (optional)
     * @param career  (optional)
     * @param carrier  (optional)
     * @param city  (optional)
     * @param convertId  (optional)
     * @param convertedTimeDuration  (optional)
     * @param deviceBrand  (optional)
     * @param deviceType  (optional)
     * @param district  (optional)
     * @param dpaLocalAudience  (optional)
     * @param dpaRtaRecommendType  (optional)
     * @param dpaRtaSwitch  (optional)
     * @param excludeCustomActions  (optional)
     * @param excludeFlowPackage  (optional)
     * @param filterAwemeAbnormalActive  (optional)
     * @param filterAwemeFansCount  (optional)
     * @param filterOwnAwemeFans  (optional)
     * @param flowControlMode  (optional)
     * @param flowPackage  (optional)
     * @param gender  (optional)
     * @param geolocation  (optional)
     * @param hideIfConverted  (optional)
     * @param hideIfExists  (optional)
     * @param includeCustomActions  (optional)
     * @param interestActionMode  (optional)
     * @param interestCategories  (optional)
     * @param interestTags  (optional)
     * @param interestWords  (optional)
     * @param iosOsv  (optional)
     * @param launchPrice  (optional)
     * @param locationType  (optional)
     * @param platform  (optional)
     * @param pricing  (optional)
     * @param regionVersion  (optional)
     * @param retargetingTags  (optional)
     * @param retargetingTagsExclude  (optional)
     * @param retargetingTagsInclude  (optional)
     * @param retargetingType  (optional)
     * @param scheduleType  (optional)
     * @param superiorPopularityType  (optional)
     * @param userType  (optional)
     * @param _callback Callback for upload/download progress
     * @return Call to execute
     * @throws ApiException If fail to serialize the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call openApi2ToolsBidSuggestGetCall(List<ToolsBidSuggestV2Ac> ac, List<Long> actionCategories, ToolsBidSuggestV2ActionDays actionDays, List<ToolsBidSuggestV2ActionScene> actionScene, List<Long> actionWords, List<ToolsBidSuggestV2ActivateType> activateType, Long adId, List<Long> adTag, Long advertiserId, List<ToolsBidSuggestV2Age> age, ToolsBidSuggestV2AndroidOsv androidOsv, ToolsBidSuggestV2AppBehaviorTarget appBehaviorTarget, List<Long> appCategory, List<Long> appIds, List<ToolsBidSuggestV2ArticleCategory> articleCategory, Long audiencePackageId, List<ToolsBidSuggestV2AutoExtendTargets> autoExtendTargets, List<Long> awemeFanAccounts, List<ToolsBidSuggestV2AwemeFanBehaviors> awemeFanBehaviors, List<Long> awemeFanCategories, ToolsBidSuggestV2AwemeFanTimeScope awemeFanTimeScope, List<Long> awemeFansNumbers, ToolsBidSuggestV2BidMode bidMode, Long budget, ToolsBidSuggestV2BudgetMode budgetMode, List<Long> businessIds, Long campaignId, List<ToolsBidSuggestV2Career> career, List<ToolsBidSuggestV2Carrier> carrier, List<Long> city, Long convertId, ToolsBidSuggestV2ConvertedTimeDuration convertedTimeDuration, List<ToolsBidSuggestV2DeviceBrand> deviceBrand, List<ToolsBidSuggestV2DeviceType> deviceType, ToolsBidSuggestV2District district, ToolsBidSuggestV2DpaLocalAudience dpaLocalAudience, ToolsBidSuggestV2DpaRtaRecommendType dpaRtaRecommendType, ToolsBidSuggestV2DpaRtaSwitch dpaRtaSwitch, List<ToolsBidSuggestV2ExcludeCustomActionsInner> excludeCustomActions, List<Long> excludeFlowPackage, ToolsBidSuggestV2FilterAwemeAbnormalActive filterAwemeAbnormalActive, Long filterAwemeFansCount, ToolsBidSuggestV2FilterOwnAwemeFans filterOwnAwemeFans, ToolsBidSuggestV2FlowControlMode flowControlMode, List<Long> flowPackage, ToolsBidSuggestV2Gender gender, List<ToolsBidSuggestV2GeolocationInner> geolocation, ToolsBidSuggestV2HideIfConverted hideIfConverted, ToolsBidSuggestV2HideIfExists hideIfExists, List<ToolsBidSuggestV2IncludeCustomActionsInner> includeCustomActions, ToolsBidSuggestV2InterestActionMode interestActionMode, List<Long> interestCategories, List<Long> interestTags, List<Long> interestWords, ToolsBidSuggestV2IosOsv iosOsv, List<Long> launchPrice, ToolsBidSuggestV2LocationType locationType, List<ToolsBidSuggestV2Platform> platform, ToolsBidSuggestV2Pricing pricing, String regionVersion, List<Long> retargetingTags, List<Long> retargetingTagsExclude, List<Long> retargetingTagsInclude, ToolsBidSuggestV2RetargetingType retargetingType, ToolsBidSuggestV2ScheduleType scheduleType, ToolsBidSuggestV2SuperiorPopularityType superiorPopularityType, List<Long> userType, final ApiCallback _callback) throws ApiException {
        String basePath = null;
        // Operation Servers
        String[] localBasePaths = new String[] {  };

        // Determine Base Path to Use
        if (localCustomBaseUrl != null){
            basePath = localCustomBaseUrl;
        } else if ( localBasePaths.length > 0 ) {
            basePath = localBasePaths[localHostIndex];
        } else {
            basePath = null;
        }

        Object localVarPostBody = null;

        // create path and map variables
        String localVarPath = "/open_api/2/tools/bid/suggest/";

        List<Pair> localVarQueryParams = new ArrayList<Pair>();
        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
        Map<String, String> localVarCookieParams = new HashMap<String, String>();
        Map<String, Object> localVarFormParams = new HashMap<String, Object>();

        if (ac != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "ac", ac));
        }

        if (actionCategories != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "action_categories", actionCategories));
        }

        if (actionDays != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("action_days", actionDays));
        }

        if (actionScene != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "action_scene", actionScene));
        }

        if (actionWords != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "action_words", actionWords));
        }

        if (activateType != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "activate_type", activateType));
        }

        if (adId != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("ad_id", adId));
        }

        if (adTag != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "ad_tag", adTag));
        }

        if (advertiserId != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("advertiser_id", advertiserId));
        }

        if (age != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "age", age));
        }

        if (androidOsv != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("android_osv", androidOsv));
        }

        if (appBehaviorTarget != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("app_behavior_target", appBehaviorTarget));
        }

        if (appCategory != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "app_category", appCategory));
        }

        if (appIds != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "app_ids", appIds));
        }

        if (articleCategory != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "article_category", articleCategory));
        }

        if (audiencePackageId != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("audience_package_id", audiencePackageId));
        }

        if (autoExtendTargets != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "auto_extend_targets", autoExtendTargets));
        }

        if (awemeFanAccounts != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "aweme_fan_accounts", awemeFanAccounts));
        }

        if (awemeFanBehaviors != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "aweme_fan_behaviors", awemeFanBehaviors));
        }

        if (awemeFanCategories != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "aweme_fan_categories", awemeFanCategories));
        }

        if (awemeFanTimeScope != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("aweme_fan_time_scope", awemeFanTimeScope));
        }

        if (awemeFansNumbers != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "aweme_fans_numbers", awemeFansNumbers));
        }

        if (bidMode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("bid_mode", bidMode));
        }

        if (budget != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("budget", budget));
        }

        if (budgetMode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("budget_mode", budgetMode));
        }

        if (businessIds != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "business_ids", businessIds));
        }

        if (campaignId != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaign_id", campaignId));
        }

        if (career != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "career", career));
        }

        if (carrier != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "carrier", carrier));
        }

        if (city != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "city", city));
        }

        if (convertId != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("convert_id", convertId));
        }

        if (convertedTimeDuration != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("converted_time_duration", convertedTimeDuration));
        }

        if (deviceBrand != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "device_brand", deviceBrand));
        }

        if (deviceType != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "device_type", deviceType));
        }

        if (district != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("district", district));
        }

        if (dpaLocalAudience != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("dpa_local_audience", dpaLocalAudience));
        }

        if (dpaRtaRecommendType != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("dpa_rta_recommend_type", dpaRtaRecommendType));
        }

        if (dpaRtaSwitch != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("dpa_rta_switch", dpaRtaSwitch));
        }

        if (excludeCustomActions != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "exclude_custom_actions", excludeCustomActions));
        }

        if (excludeFlowPackage != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "exclude_flow_package", excludeFlowPackage));
        }

        if (filterAwemeAbnormalActive != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter_aweme_abnormal_active", filterAwemeAbnormalActive));
        }

        if (filterAwemeFansCount != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter_aweme_fans_count", filterAwemeFansCount));
        }

        if (filterOwnAwemeFans != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter_own_aweme_fans", filterOwnAwemeFans));
        }

        if (flowControlMode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("flow_control_mode", flowControlMode));
        }

        if (flowPackage != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "flow_package", flowPackage));
        }

        if (gender != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("gender", gender));
        }

        if (geolocation != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "geolocation", geolocation));
        }

        if (hideIfConverted != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("hide_if_converted", hideIfConverted));
        }

        if (hideIfExists != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("hide_if_exists", hideIfExists));
        }

        if (includeCustomActions != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "include_custom_actions", includeCustomActions));
        }

        if (interestActionMode != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("interest_action_mode", interestActionMode));
        }

        if (interestCategories != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "interest_categories", interestCategories));
        }

        if (interestTags != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "interest_tags", interestTags));
        }

        if (interestWords != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "interest_words", interestWords));
        }

        if (iosOsv != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("ios_osv", iosOsv));
        }

        if (launchPrice != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "launch_price", launchPrice));
        }

        if (locationType != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("location_type", locationType));
        }

        if (platform != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "platform", platform));
        }

        if (pricing != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("pricing", pricing));
        }

        if (regionVersion != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("region_version", regionVersion));
        }

        if (retargetingTags != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "retargeting_tags", retargetingTags));
        }

        if (retargetingTagsExclude != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "retargeting_tags_exclude", retargetingTagsExclude));
        }

        if (retargetingTagsInclude != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "retargeting_tags_include", retargetingTagsInclude));
        }

        if (retargetingType != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("retargeting_type", retargetingType));
        }

        if (scheduleType != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("schedule_type", scheduleType));
        }

        if (superiorPopularityType != null) {
            localVarQueryParams.addAll(localVarApiClient.parameterToPair("superior_popularity_type", superiorPopularityType));
        }

        if (userType != null) {
            localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "user_type", userType));
        }

        final String[] localVarAccepts = {
            "application/json"
        };
        final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
        if (localVarAccept != null) {
            localVarHeaderParams.put("Accept", localVarAccept);
        }

        final String[] localVarContentTypes = {
        };
        final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
        if (localVarContentType != null) {
            localVarHeaderParams.put("Content-Type", localVarContentType);
        }

        String[] localVarAuthNames = new String[] { "ApiKeyAuth" };
        return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
    }

    @SuppressWarnings("rawtypes")
    private okhttp3.Call openApi2ToolsBidSuggestGetValidateBeforeCall(List<ToolsBidSuggestV2Ac> ac, List<Long> actionCategories, ToolsBidSuggestV2ActionDays actionDays, List<ToolsBidSuggestV2ActionScene> actionScene, List<Long> actionWords, List<ToolsBidSuggestV2ActivateType> activateType, Long adId, List<Long> adTag, Long advertiserId, List<ToolsBidSuggestV2Age> age, ToolsBidSuggestV2AndroidOsv androidOsv, ToolsBidSuggestV2AppBehaviorTarget appBehaviorTarget, List<Long> appCategory, List<Long> appIds, List<ToolsBidSuggestV2ArticleCategory> articleCategory, Long audiencePackageId, List<ToolsBidSuggestV2AutoExtendTargets> autoExtendTargets, List<Long> awemeFanAccounts, List<ToolsBidSuggestV2AwemeFanBehaviors> awemeFanBehaviors, List<Long> awemeFanCategories, ToolsBidSuggestV2AwemeFanTimeScope awemeFanTimeScope, List<Long> awemeFansNumbers, ToolsBidSuggestV2BidMode bidMode, Long budget, ToolsBidSuggestV2BudgetMode budgetMode, List<Long> businessIds, Long campaignId, List<ToolsBidSuggestV2Career> career, List<ToolsBidSuggestV2Carrier> carrier, List<Long> city, Long convertId, ToolsBidSuggestV2ConvertedTimeDuration convertedTimeDuration, List<ToolsBidSuggestV2DeviceBrand> deviceBrand, List<ToolsBidSuggestV2DeviceType> deviceType, ToolsBidSuggestV2District district, ToolsBidSuggestV2DpaLocalAudience dpaLocalAudience, ToolsBidSuggestV2DpaRtaRecommendType dpaRtaRecommendType, ToolsBidSuggestV2DpaRtaSwitch dpaRtaSwitch, List<ToolsBidSuggestV2ExcludeCustomActionsInner> excludeCustomActions, List<Long> excludeFlowPackage, ToolsBidSuggestV2FilterAwemeAbnormalActive filterAwemeAbnormalActive, Long filterAwemeFansCount, ToolsBidSuggestV2FilterOwnAwemeFans filterOwnAwemeFans, ToolsBidSuggestV2FlowControlMode flowControlMode, List<Long> flowPackage, ToolsBidSuggestV2Gender gender, List<ToolsBidSuggestV2GeolocationInner> geolocation, ToolsBidSuggestV2HideIfConverted hideIfConverted, ToolsBidSuggestV2HideIfExists hideIfExists, List<ToolsBidSuggestV2IncludeCustomActionsInner> includeCustomActions, ToolsBidSuggestV2InterestActionMode interestActionMode, List<Long> interestCategories, List<Long> interestTags, List<Long> interestWords, ToolsBidSuggestV2IosOsv iosOsv, List<Long> launchPrice, ToolsBidSuggestV2LocationType locationType, List<ToolsBidSuggestV2Platform> platform, ToolsBidSuggestV2Pricing pricing, String regionVersion, List<Long> retargetingTags, List<Long> retargetingTagsExclude, List<Long> retargetingTagsInclude, ToolsBidSuggestV2RetargetingType retargetingType, ToolsBidSuggestV2ScheduleType scheduleType, ToolsBidSuggestV2SuperiorPopularityType superiorPopularityType, List<Long> userType, final ApiCallback _callback) throws ApiException {
        return openApi2ToolsBidSuggestGetCall(ac, actionCategories, actionDays, actionScene, actionWords, activateType, adId, adTag, advertiserId, age, androidOsv, appBehaviorTarget, appCategory, appIds, articleCategory, audiencePackageId, autoExtendTargets, awemeFanAccounts, awemeFanBehaviors, awemeFanCategories, awemeFanTimeScope, awemeFansNumbers, bidMode, budget, budgetMode, businessIds, campaignId, career, carrier, city, convertId, convertedTimeDuration, deviceBrand, deviceType, district, dpaLocalAudience, dpaRtaRecommendType, dpaRtaSwitch, excludeCustomActions, excludeFlowPackage, filterAwemeAbnormalActive, filterAwemeFansCount, filterOwnAwemeFans, flowControlMode, flowPackage, gender, geolocation, hideIfConverted, hideIfExists, includeCustomActions, interestActionMode, interestCategories, interestTags, interestWords, iosOsv, launchPrice, locationType, platform, pricing, regionVersion, retargetingTags, retargetingTagsExclude, retargetingTagsInclude, retargetingType, scheduleType, superiorPopularityType, userType, _callback);

    }

    /**
     * 
     * 
     * @param ac  (optional)
     * @param actionCategories  (optional)
     * @param actionDays  (optional)
     * @param actionScene  (optional)
     * @param actionWords  (optional)
     * @param activateType  (optional)
     * @param adId  (optional)
     * @param adTag  (optional)
     * @param advertiserId  (optional)
     * @param age  (optional)
     * @param androidOsv  (optional)
     * @param appBehaviorTarget  (optional)
     * @param appCategory  (optional)
     * @param appIds  (optional)
     * @param articleCategory  (optional)
     * @param audiencePackageId  (optional)
     * @param autoExtendTargets  (optional)
     * @param awemeFanAccounts  (optional)
     * @param awemeFanBehaviors  (optional)
     * @param awemeFanCategories  (optional)
     * @param awemeFanTimeScope  (optional)
     * @param awemeFansNumbers  (optional)
     * @param bidMode  (optional)
     * @param budget  (optional)
     * @param budgetMode  (optional)
     * @param businessIds  (optional)
     * @param campaignId  (optional)
     * @param career  (optional)
     * @param carrier  (optional)
     * @param city  (optional)
     * @param convertId  (optional)
     * @param convertedTimeDuration  (optional)
     * @param deviceBrand  (optional)
     * @param deviceType  (optional)
     * @param district  (optional)
     * @param dpaLocalAudience  (optional)
     * @param dpaRtaRecommendType  (optional)
     * @param dpaRtaSwitch  (optional)
     * @param excludeCustomActions  (optional)
     * @param excludeFlowPackage  (optional)
     * @param filterAwemeAbnormalActive  (optional)
     * @param filterAwemeFansCount  (optional)
     * @param filterOwnAwemeFans  (optional)
     * @param flowControlMode  (optional)
     * @param flowPackage  (optional)
     * @param gender  (optional)
     * @param geolocation  (optional)
     * @param hideIfConverted  (optional)
     * @param hideIfExists  (optional)
     * @param includeCustomActions  (optional)
     * @param interestActionMode  (optional)
     * @param interestCategories  (optional)
     * @param interestTags  (optional)
     * @param interestWords  (optional)
     * @param iosOsv  (optional)
     * @param launchPrice  (optional)
     * @param locationType  (optional)
     * @param platform  (optional)
     * @param pricing  (optional)
     * @param regionVersion  (optional)
     * @param retargetingTags  (optional)
     * @param retargetingTagsExclude  (optional)
     * @param retargetingTagsInclude  (optional)
     * @param retargetingType  (optional)
     * @param scheduleType  (optional)
     * @param superiorPopularityType  (optional)
     * @param userType  (optional)
     * @return ToolsBidSuggestV2Response
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
     </table>
     */
    public ToolsBidSuggestV2Response openApi2ToolsBidSuggestGet(List<ToolsBidSuggestV2Ac> ac, List<Long> actionCategories, ToolsBidSuggestV2ActionDays actionDays, List<ToolsBidSuggestV2ActionScene> actionScene, List<Long> actionWords, List<ToolsBidSuggestV2ActivateType> activateType, Long adId, List<Long> adTag, Long advertiserId, List<ToolsBidSuggestV2Age> age, ToolsBidSuggestV2AndroidOsv androidOsv, ToolsBidSuggestV2AppBehaviorTarget appBehaviorTarget, List<Long> appCategory, List<Long> appIds, List<ToolsBidSuggestV2ArticleCategory> articleCategory, Long audiencePackageId, List<ToolsBidSuggestV2AutoExtendTargets> autoExtendTargets, List<Long> awemeFanAccounts, List<ToolsBidSuggestV2AwemeFanBehaviors> awemeFanBehaviors, List<Long> awemeFanCategories, ToolsBidSuggestV2AwemeFanTimeScope awemeFanTimeScope, List<Long> awemeFansNumbers, ToolsBidSuggestV2BidMode bidMode, Long budget, ToolsBidSuggestV2BudgetMode budgetMode, List<Long> businessIds, Long campaignId, List<ToolsBidSuggestV2Career> career, List<ToolsBidSuggestV2Carrier> carrier, List<Long> city, Long convertId, ToolsBidSuggestV2ConvertedTimeDuration convertedTimeDuration, List<ToolsBidSuggestV2DeviceBrand> deviceBrand, List<ToolsBidSuggestV2DeviceType> deviceType, ToolsBidSuggestV2District district, ToolsBidSuggestV2DpaLocalAudience dpaLocalAudience, ToolsBidSuggestV2DpaRtaRecommendType dpaRtaRecommendType, ToolsBidSuggestV2DpaRtaSwitch dpaRtaSwitch, List<ToolsBidSuggestV2ExcludeCustomActionsInner> excludeCustomActions, List<Long> excludeFlowPackage, ToolsBidSuggestV2FilterAwemeAbnormalActive filterAwemeAbnormalActive, Long filterAwemeFansCount, ToolsBidSuggestV2FilterOwnAwemeFans filterOwnAwemeFans, ToolsBidSuggestV2FlowControlMode flowControlMode, List<Long> flowPackage, ToolsBidSuggestV2Gender gender, List<ToolsBidSuggestV2GeolocationInner> geolocation, ToolsBidSuggestV2HideIfConverted hideIfConverted, ToolsBidSuggestV2HideIfExists hideIfExists, List<ToolsBidSuggestV2IncludeCustomActionsInner> includeCustomActions, ToolsBidSuggestV2InterestActionMode interestActionMode, List<Long> interestCategories, List<Long> interestTags, List<Long> interestWords, ToolsBidSuggestV2IosOsv iosOsv, List<Long> launchPrice, ToolsBidSuggestV2LocationType locationType, List<ToolsBidSuggestV2Platform> platform, ToolsBidSuggestV2Pricing pricing, String regionVersion, List<Long> retargetingTags, List<Long> retargetingTagsExclude, List<Long> retargetingTagsInclude, ToolsBidSuggestV2RetargetingType retargetingType, ToolsBidSuggestV2ScheduleType scheduleType, ToolsBidSuggestV2SuperiorPopularityType superiorPopularityType, List<Long> userType) throws ApiException {
        ApiResponse<ToolsBidSuggestV2Response> localVarResp = openApi2ToolsBidSuggestGetWithHttpInfo(ac, actionCategories, actionDays, actionScene, actionWords, activateType, adId, adTag, advertiserId, age, androidOsv, appBehaviorTarget, appCategory, appIds, articleCategory, audiencePackageId, autoExtendTargets, awemeFanAccounts, awemeFanBehaviors, awemeFanCategories, awemeFanTimeScope, awemeFansNumbers, bidMode, budget, budgetMode, businessIds, campaignId, career, carrier, city, convertId, convertedTimeDuration, deviceBrand, deviceType, district, dpaLocalAudience, dpaRtaRecommendType, dpaRtaSwitch, excludeCustomActions, excludeFlowPackage, filterAwemeAbnormalActive, filterAwemeFansCount, filterOwnAwemeFans, flowControlMode, flowPackage, gender, geolocation, hideIfConverted, hideIfExists, includeCustomActions, interestActionMode, interestCategories, interestTags, interestWords, iosOsv, launchPrice, locationType, platform, pricing, regionVersion, retargetingTags, retargetingTagsExclude, retargetingTagsInclude, retargetingType, scheduleType, superiorPopularityType, userType);
        return localVarResp.getData();
    }

    /**
     * 
     * 
     * @param ac  (optional)
     * @param actionCategories  (optional)
     * @param actionDays  (optional)
     * @param actionScene  (optional)
     * @param actionWords  (optional)
     * @param activateType  (optional)
     * @param adId  (optional)
     * @param adTag  (optional)
     * @param advertiserId  (optional)
     * @param age  (optional)
     * @param androidOsv  (optional)
     * @param appBehaviorTarget  (optional)
     * @param appCategory  (optional)
     * @param appIds  (optional)
     * @param articleCategory  (optional)
     * @param audiencePackageId  (optional)
     * @param autoExtendTargets  (optional)
     * @param awemeFanAccounts  (optional)
     * @param awemeFanBehaviors  (optional)
     * @param awemeFanCategories  (optional)
     * @param awemeFanTimeScope  (optional)
     * @param awemeFansNumbers  (optional)
     * @param bidMode  (optional)
     * @param budget  (optional)
     * @param budgetMode  (optional)
     * @param businessIds  (optional)
     * @param campaignId  (optional)
     * @param career  (optional)
     * @param carrier  (optional)
     * @param city  (optional)
     * @param convertId  (optional)
     * @param convertedTimeDuration  (optional)
     * @param deviceBrand  (optional)
     * @param deviceType  (optional)
     * @param district  (optional)
     * @param dpaLocalAudience  (optional)
     * @param dpaRtaRecommendType  (optional)
     * @param dpaRtaSwitch  (optional)
     * @param excludeCustomActions  (optional)
     * @param excludeFlowPackage  (optional)
     * @param filterAwemeAbnormalActive  (optional)
     * @param filterAwemeFansCount  (optional)
     * @param filterOwnAwemeFans  (optional)
     * @param flowControlMode  (optional)
     * @param flowPackage  (optional)
     * @param gender  (optional)
     * @param geolocation  (optional)
     * @param hideIfConverted  (optional)
     * @param hideIfExists  (optional)
     * @param includeCustomActions  (optional)
     * @param interestActionMode  (optional)
     * @param interestCategories  (optional)
     * @param interestTags  (optional)
     * @param interestWords  (optional)
     * @param iosOsv  (optional)
     * @param launchPrice  (optional)
     * @param locationType  (optional)
     * @param platform  (optional)
     * @param pricing  (optional)
     * @param regionVersion  (optional)
     * @param retargetingTags  (optional)
     * @param retargetingTagsExclude  (optional)
     * @param retargetingTagsInclude  (optional)
     * @param retargetingType  (optional)
     * @param scheduleType  (optional)
     * @param superiorPopularityType  (optional)
     * @param userType  (optional)
     * @return ApiResponse&lt;ToolsBidSuggestV2Response&gt;
     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
     </table>
     */
    public ApiResponse<ToolsBidSuggestV2Response> openApi2ToolsBidSuggestGetWithHttpInfo(List<ToolsBidSuggestV2Ac> ac, List<Long> actionCategories, ToolsBidSuggestV2ActionDays actionDays, List<ToolsBidSuggestV2ActionScene> actionScene, List<Long> actionWords, List<ToolsBidSuggestV2ActivateType> activateType, Long adId, List<Long> adTag, Long advertiserId, List<ToolsBidSuggestV2Age> age, ToolsBidSuggestV2AndroidOsv androidOsv, ToolsBidSuggestV2AppBehaviorTarget appBehaviorTarget, List<Long> appCategory, List<Long> appIds, List<ToolsBidSuggestV2ArticleCategory> articleCategory, Long audiencePackageId, List<ToolsBidSuggestV2AutoExtendTargets> autoExtendTargets, List<Long> awemeFanAccounts, List<ToolsBidSuggestV2AwemeFanBehaviors> awemeFanBehaviors, List<Long> awemeFanCategories, ToolsBidSuggestV2AwemeFanTimeScope awemeFanTimeScope, List<Long> awemeFansNumbers, ToolsBidSuggestV2BidMode bidMode, Long budget, ToolsBidSuggestV2BudgetMode budgetMode, List<Long> businessIds, Long campaignId, List<ToolsBidSuggestV2Career> career, List<ToolsBidSuggestV2Carrier> carrier, List<Long> city, Long convertId, ToolsBidSuggestV2ConvertedTimeDuration convertedTimeDuration, List<ToolsBidSuggestV2DeviceBrand> deviceBrand, List<ToolsBidSuggestV2DeviceType> deviceType, ToolsBidSuggestV2District district, ToolsBidSuggestV2DpaLocalAudience dpaLocalAudience, ToolsBidSuggestV2DpaRtaRecommendType dpaRtaRecommendType, ToolsBidSuggestV2DpaRtaSwitch dpaRtaSwitch, List<ToolsBidSuggestV2ExcludeCustomActionsInner> excludeCustomActions, List<Long> excludeFlowPackage, ToolsBidSuggestV2FilterAwemeAbnormalActive filterAwemeAbnormalActive, Long filterAwemeFansCount, ToolsBidSuggestV2FilterOwnAwemeFans filterOwnAwemeFans, ToolsBidSuggestV2FlowControlMode flowControlMode, List<Long> flowPackage, ToolsBidSuggestV2Gender gender, List<ToolsBidSuggestV2GeolocationInner> geolocation, ToolsBidSuggestV2HideIfConverted hideIfConverted, ToolsBidSuggestV2HideIfExists hideIfExists, List<ToolsBidSuggestV2IncludeCustomActionsInner> includeCustomActions, ToolsBidSuggestV2InterestActionMode interestActionMode, List<Long> interestCategories, List<Long> interestTags, List<Long> interestWords, ToolsBidSuggestV2IosOsv iosOsv, List<Long> launchPrice, ToolsBidSuggestV2LocationType locationType, List<ToolsBidSuggestV2Platform> platform, ToolsBidSuggestV2Pricing pricing, String regionVersion, List<Long> retargetingTags, List<Long> retargetingTagsExclude, List<Long> retargetingTagsInclude, ToolsBidSuggestV2RetargetingType retargetingType, ToolsBidSuggestV2ScheduleType scheduleType, ToolsBidSuggestV2SuperiorPopularityType superiorPopularityType, List<Long> userType) throws ApiException {
        okhttp3.Call localVarCall = openApi2ToolsBidSuggestGetValidateBeforeCall(ac, actionCategories, actionDays, actionScene, actionWords, activateType, adId, adTag, advertiserId, age, androidOsv, appBehaviorTarget, appCategory, appIds, articleCategory, audiencePackageId, autoExtendTargets, awemeFanAccounts, awemeFanBehaviors, awemeFanCategories, awemeFanTimeScope, awemeFansNumbers, bidMode, budget, budgetMode, businessIds, campaignId, career, carrier, city, convertId, convertedTimeDuration, deviceBrand, deviceType, district, dpaLocalAudience, dpaRtaRecommendType, dpaRtaSwitch, excludeCustomActions, excludeFlowPackage, filterAwemeAbnormalActive, filterAwemeFansCount, filterOwnAwemeFans, flowControlMode, flowPackage, gender, geolocation, hideIfConverted, hideIfExists, includeCustomActions, interestActionMode, interestCategories, interestTags, interestWords, iosOsv, launchPrice, locationType, platform, pricing, regionVersion, retargetingTags, retargetingTagsExclude, retargetingTagsInclude, retargetingType, scheduleType, superiorPopularityType, userType, null);
        Type localVarReturnType = new TypeToken<ToolsBidSuggestV2Response>(){}.getType();
        return localVarApiClient.execute(localVarCall, localVarReturnType);
    }

    /**
     *  (asynchronously)
     * 
     * @param ac  (optional)
     * @param actionCategories  (optional)
     * @param actionDays  (optional)
     * @param actionScene  (optional)
     * @param actionWords  (optional)
     * @param activateType  (optional)
     * @param adId  (optional)
     * @param adTag  (optional)
     * @param advertiserId  (optional)
     * @param age  (optional)
     * @param androidOsv  (optional)
     * @param appBehaviorTarget  (optional)
     * @param appCategory  (optional)
     * @param appIds  (optional)
     * @param articleCategory  (optional)
     * @param audiencePackageId  (optional)
     * @param autoExtendTargets  (optional)
     * @param awemeFanAccounts  (optional)
     * @param awemeFanBehaviors  (optional)
     * @param awemeFanCategories  (optional)
     * @param awemeFanTimeScope  (optional)
     * @param awemeFansNumbers  (optional)
     * @param bidMode  (optional)
     * @param budget  (optional)
     * @param budgetMode  (optional)
     * @param businessIds  (optional)
     * @param campaignId  (optional)
     * @param career  (optional)
     * @param carrier  (optional)
     * @param city  (optional)
     * @param convertId  (optional)
     * @param convertedTimeDuration  (optional)
     * @param deviceBrand  (optional)
     * @param deviceType  (optional)
     * @param district  (optional)
     * @param dpaLocalAudience  (optional)
     * @param dpaRtaRecommendType  (optional)
     * @param dpaRtaSwitch  (optional)
     * @param excludeCustomActions  (optional)
     * @param excludeFlowPackage  (optional)
     * @param filterAwemeAbnormalActive  (optional)
     * @param filterAwemeFansCount  (optional)
     * @param filterOwnAwemeFans  (optional)
     * @param flowControlMode  (optional)
     * @param flowPackage  (optional)
     * @param gender  (optional)
     * @param geolocation  (optional)
     * @param hideIfConverted  (optional)
     * @param hideIfExists  (optional)
     * @param includeCustomActions  (optional)
     * @param interestActionMode  (optional)
     * @param interestCategories  (optional)
     * @param interestTags  (optional)
     * @param interestWords  (optional)
     * @param iosOsv  (optional)
     * @param launchPrice  (optional)
     * @param locationType  (optional)
     * @param platform  (optional)
     * @param pricing  (optional)
     * @param regionVersion  (optional)
     * @param retargetingTags  (optional)
     * @param retargetingTagsExclude  (optional)
     * @param retargetingTagsInclude  (optional)
     * @param retargetingType  (optional)
     * @param scheduleType  (optional)
     * @param superiorPopularityType  (optional)
     * @param userType  (optional)
     * @param _callback The callback to be executed when the API call finishes
     * @return The request call
     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
     * @http.response.details
     <table summary="Response Details" border="1">
        <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
        <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
     </table>
     */
    public okhttp3.Call openApi2ToolsBidSuggestGetAsync(List<ToolsBidSuggestV2Ac> ac, List<Long> actionCategories, ToolsBidSuggestV2ActionDays actionDays, List<ToolsBidSuggestV2ActionScene> actionScene, List<Long> actionWords, List<ToolsBidSuggestV2ActivateType> activateType, Long adId, List<Long> adTag, Long advertiserId, List<ToolsBidSuggestV2Age> age, ToolsBidSuggestV2AndroidOsv androidOsv, ToolsBidSuggestV2AppBehaviorTarget appBehaviorTarget, List<Long> appCategory, List<Long> appIds, List<ToolsBidSuggestV2ArticleCategory> articleCategory, Long audiencePackageId, List<ToolsBidSuggestV2AutoExtendTargets> autoExtendTargets, List<Long> awemeFanAccounts, List<ToolsBidSuggestV2AwemeFanBehaviors> awemeFanBehaviors, List<Long> awemeFanCategories, ToolsBidSuggestV2AwemeFanTimeScope awemeFanTimeScope, List<Long> awemeFansNumbers, ToolsBidSuggestV2BidMode bidMode, Long budget, ToolsBidSuggestV2BudgetMode budgetMode, List<Long> businessIds, Long campaignId, List<ToolsBidSuggestV2Career> career, List<ToolsBidSuggestV2Carrier> carrier, List<Long> city, Long convertId, ToolsBidSuggestV2ConvertedTimeDuration convertedTimeDuration, List<ToolsBidSuggestV2DeviceBrand> deviceBrand, List<ToolsBidSuggestV2DeviceType> deviceType, ToolsBidSuggestV2District district, ToolsBidSuggestV2DpaLocalAudience dpaLocalAudience, ToolsBidSuggestV2DpaRtaRecommendType dpaRtaRecommendType, ToolsBidSuggestV2DpaRtaSwitch dpaRtaSwitch, List<ToolsBidSuggestV2ExcludeCustomActionsInner> excludeCustomActions, List<Long> excludeFlowPackage, ToolsBidSuggestV2FilterAwemeAbnormalActive filterAwemeAbnormalActive, Long filterAwemeFansCount, ToolsBidSuggestV2FilterOwnAwemeFans filterOwnAwemeFans, ToolsBidSuggestV2FlowControlMode flowControlMode, List<Long> flowPackage, ToolsBidSuggestV2Gender gender, List<ToolsBidSuggestV2GeolocationInner> geolocation, ToolsBidSuggestV2HideIfConverted hideIfConverted, ToolsBidSuggestV2HideIfExists hideIfExists, List<ToolsBidSuggestV2IncludeCustomActionsInner> includeCustomActions, ToolsBidSuggestV2InterestActionMode interestActionMode, List<Long> interestCategories, List<Long> interestTags, List<Long> interestWords, ToolsBidSuggestV2IosOsv iosOsv, List<Long> launchPrice, ToolsBidSuggestV2LocationType locationType, List<ToolsBidSuggestV2Platform> platform, ToolsBidSuggestV2Pricing pricing, String regionVersion, List<Long> retargetingTags, List<Long> retargetingTagsExclude, List<Long> retargetingTagsInclude, ToolsBidSuggestV2RetargetingType retargetingType, ToolsBidSuggestV2ScheduleType scheduleType, ToolsBidSuggestV2SuperiorPopularityType superiorPopularityType, List<Long> userType, final ApiCallback<ToolsBidSuggestV2Response> _callback) throws ApiException {

        okhttp3.Call localVarCall = openApi2ToolsBidSuggestGetValidateBeforeCall(ac, actionCategories, actionDays, actionScene, actionWords, activateType, adId, adTag, advertiserId, age, androidOsv, appBehaviorTarget, appCategory, appIds, articleCategory, audiencePackageId, autoExtendTargets, awemeFanAccounts, awemeFanBehaviors, awemeFanCategories, awemeFanTimeScope, awemeFansNumbers, bidMode, budget, budgetMode, businessIds, campaignId, career, carrier, city, convertId, convertedTimeDuration, deviceBrand, deviceType, district, dpaLocalAudience, dpaRtaRecommendType, dpaRtaSwitch, excludeCustomActions, excludeFlowPackage, filterAwemeAbnormalActive, filterAwemeFansCount, filterOwnAwemeFans, flowControlMode, flowPackage, gender, geolocation, hideIfConverted, hideIfExists, includeCustomActions, interestActionMode, interestCategories, interestTags, interestWords, iosOsv, launchPrice, locationType, platform, pricing, regionVersion, retargetingTags, retargetingTagsExclude, retargetingTagsInclude, retargetingType, scheduleType, superiorPopularityType, userType, _callback);
        Type localVarReturnType = new TypeToken<ToolsBidSuggestV2Response>(){}.getType();
        localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
        return localVarCall;
    }
}
