// Copyright 2017 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.api.ads.adwords.jaxws.v201702.o;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
/**
*
* Use this service to request traffic estimates for proposed or existing campaigns, ad
* groups, and keywords.
*
* <p>
* To simply retrieve estimates for a list of proposed keywords, create a
* {@linkplain CampaignEstimateRequest campaign estimate request} and a child
* {@linkplain AdGroupEstimateRequest ad group estimate request} with {@code null} IDs,
* and then set the
* {@link AdGroupEstimateRequest#keywordEstimateRequests keywordEstimateRequests}
* to contain the keywords.</p>
*
* <p>You can refine the traffic estimates by setting
* {@linkplain CampaignEstimateRequest#targets campaign targeting options} in the request.
* If an ad group ID is provided, all creatives from that ad group will be loaded and used
* to improve estimates.</p>
*
* <p>The maximum number of {@linkplain KeywordEstimateRequest keyword estimate
* requests} across all campaign estimate requests and
* ad group estimate requests is 2500.</p>
*
* <p>The maximum number of {@linkplain AdGroupEstimateRequest adgroup estimate
* requests} across all campaign estimate requests is 50.</p>
*
* <p>Note that the API returns intervals whereas the Traffic Estimator UI displays averages.
* Estimates are account specific since they are based on creatives already in the account.
* When comparing numbers, use the same account for the API and UI.</p>
* <span class="constraint AdxEnabled">This is disabled for AdX.</span>
*
*
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2.9-b130926.1035
* Generated source version: 2.1
*
*/
@WebService(name = "TrafficEstimatorServiceInterface", targetNamespace = "https://adwords.google.com/api/adwords/o/v201702")
@XmlSeeAlso({
com.google.api.ads.adwords.jaxws.v201702.cm.ObjectFactory.class,
com.google.api.ads.adwords.jaxws.v201702.o.ObjectFactory.class
})
public interface TrafficEstimatorServiceInterface {
/**
*
* Returns traffic estimates for specified criteria.
*
* @param selector Campaigns, ad groups and keywords for which traffic
* should be estimated.
* @return Traffic estimation results.
* @throws ApiException if problems occurred while retrieving estimates
*
*
* @param selector
* @return
* returns com.google.api.ads.adwords.jaxws.v201702.o.TrafficEstimatorResult
* @throws ApiException
*/
@WebMethod
@WebResult(name = "rval", targetNamespace = "https://adwords.google.com/api/adwords/o/v201702")
@RequestWrapper(localName = "get", targetNamespace = "https://adwords.google.com/api/adwords/o/v201702", className = "com.google.api.ads.adwords.jaxws.v201702.o.TrafficEstimatorServiceInterfaceget")
@ResponseWrapper(localName = "getResponse", targetNamespace = "https://adwords.google.com/api/adwords/o/v201702", className = "com.google.api.ads.adwords.jaxws.v201702.o.TrafficEstimatorServiceInterfacegetResponse")
public TrafficEstimatorResult get(
@WebParam(name = "selector", targetNamespace = "https://adwords.google.com/api/adwords/o/v201702")
TrafficEstimatorSelector selector)
throws ApiException
;
}