// Copyright 2016 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.v201607.cm;
import java.util.List;
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 set up campaign experiments which let you accurately test and measure changes
* to your keywords, bids, ad groups and placements. Creating and running a campaign experiment
* involves the following steps:
*
* <ol>
* <li>Creating an {@link Experiment} object that describes the experiment itself, including the
* experiment ID, date range, and the percentage of traffic that will be directed to the
* experiment.
* <li>Setting up control and experimental campaign entities by setting the {@code experimentData}
* field on {@link AdGroup} and {@link BiddableAdGroupCriterion} objects. Use the {@link
* AdGroup#experimentDataStatus experimentDataStatus} field to choose if the entity should be
* part of a control group, part of the experiment group, or if the entity should handle both
* control and experimental traffic.
* </ol>
*
* <p>If you want to run an experiment for your Search Network or Search Network with Display Select
* campaign, please use the DraftService and TrialService introduced in v201603. These services
* offer greater flexibility than the ExperimentService.
*
* <p>For more information on campaign experiments, including tracking the performance of an
* experiment, see the <a href= "//support.google.com/adwords/bin/topic.py?topic=1713979">AdWords
* Help Center</a>.
* <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 = "ExperimentServiceInterface", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607")
@XmlSeeAlso({
ObjectFactory.class
})
public interface ExperimentServiceInterface {
/**
*
* Returns a list of experiments specified by the experiment selector from
* the customer's account.
* @param serviceSelector The selector specifying the {@link Experiment}s to return.
* If selector is empty, all experiments are returned.
* @return List of experiments meeting all the criteria of each selector.
* @throws ApiException if problems occurred while fetching experiment information.
*
*
* @param serviceSelector
* @return
* returns com.google.api.ads.adwords.jaxws.v201607.cm.ExperimentPage
* @throws ApiException_Exception
*/
@WebMethod
@WebResult(name = "rval", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607")
@RequestWrapper(localName = "get", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607", className = "com.google.api.ads.adwords.jaxws.v201607.cm.ExperimentServiceInterfaceget")
@ResponseWrapper(localName = "getResponse", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607", className = "com.google.api.ads.adwords.jaxws.v201607.cm.ExperimentServiceInterfacegetResponse")
public ExperimentPage get(
@WebParam(name = "serviceSelector", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607")
Selector serviceSelector)
throws ApiException_Exception
;
/**
*
* Mutates (add, update or remove) experiments.
* <b>Note:</b> To REMOVE use SET and mark status to REMOVED.
* @param operations A list of unique operations.
* The same experiment cannot be specified in more than one operation.
* @return The updated experiments. The list of experiments is returned in
* the same order in which it came in as input.
* @throws ApiException if problems occurred while updating experiment information.
*
*
* @param operations
* @return
* returns com.google.api.ads.adwords.jaxws.v201607.cm.ExperimentReturnValue
* @throws ApiException_Exception
*/
@WebMethod
@WebResult(name = "rval", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607")
@RequestWrapper(localName = "mutate", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607", className = "com.google.api.ads.adwords.jaxws.v201607.cm.ExperimentServiceInterfacemutate")
@ResponseWrapper(localName = "mutateResponse", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607", className = "com.google.api.ads.adwords.jaxws.v201607.cm.ExperimentServiceInterfacemutateResponse")
public ExperimentReturnValue mutate(
@WebParam(name = "operations", targetNamespace = "https://adwords.google.com/api/adwords/cm/v201607")
List<ExperimentOperation> operations)
throws ApiException_Exception
;
}