global class GoogleAdWordsLeadReportBatch implements Database.Batchable<sObject> { private String searchQuery; global GoogleAdWordsLeadReportBatch(String searchQuery){ this.searchQuery = searchQuery; } global Database.QueryLocator start(Database.BatchableContext BC){ return Database.getQueryLocator(searchQuery); } global void execute(Database.BatchableContext BC, List<Lead> leadList){ //Make a callout to retrieve Authorization Token (OAuth), put this in this class, or make another class to handle this specifically (returning the token). String accessTokenUrl = 'https://accounts.google.com/o/oauth2/auth?client_id=your-client-id&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fadwords&redirect_uri=urn:ietf:wg:oauth:2.0:oob&access_type=offline&approval_prompt=auto';
//Object to be used to make callout GoogleAdwordsConversionTracker.ConversionTrackerServiceInterfacePort conversionTrackerServiceInterfacePort = new GoogleAdwordsConversionTracker.ConversionTrackerServiceInterfacePort();
//HEADERS conversionTrackerServiceInterfacePort.inputHttpHeaders_x = new Map<String, String>(); conversionTrackerServiceInterfacePort.inputHttpHeaders_x.put('Authorization', ''); conversionTrackerServiceInterfacePort.inputHttpHeaders_x.put('developerToken', ''); conversionTrackerServiceInterfacePort.inputHttpHeaders_x.put('userAgent', ''); conversionTrackerServiceInterfacePort.inputHttpHeaders_x.put('clientCustomerId', '');
List<GoogleAdWordsConversionTracker.ConversionTrackerOperation> operationList = new List<GoogleAdWordsConversionTracker.ConversionTrackerOperation>();
for(Lead lead : leadList){ GoogleAdwordsConversionTracker.ConversionTracker conversionTracker = new GoogleAdwordsConversionTracker.ConversionTracker(); conversionTracker.name = 'AdWords Name'; //Anymore fields GoogleAdwordsConversionTracker.ConversionTrackerOperation operation = new GoogleAdwordsConversionTracker.ConversionTrackerOperation(); operation.operand = conversionTracker; //Anymore fields
operationList.add(operation); }
conversionTrackerServiceInterfacePort.mutate(operationList);
} global void finish(Database.BatchableContext BC){ //Code to run after all batches finish }}public class GoogleAdWordsConversionTracker { public class queryResponse_element { public GoogleAdWordsConversionTracker.ConversionTrackerPage rval; private String[] rval_type_info = new String[]{'rval','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'rval'}; } public class NoStatsPage { private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{}; } public class Page_x { public Integer totalNumEntries; public String Page_Type; private String[] totalNumEntries_type_info = new String[]{'totalNumEntries','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] Page_Type_type_info = new String[]{'Page.Type','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'totalNumEntries','Page_Type'}; } public class ClientTermsError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class Predicate { public String field; public String operator; public String[] values; private String[] field_type_info = new String[]{'field','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] operator_type_info = new String[]{'operator','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] values_type_info = new String[]{'values','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'field','operator','values'}; } public class UploadConversion { private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{}; } public class StringLengthError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class NotEmptyError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class QueryError { public String reason; public String message; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] message_type_info = new String[]{'message','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason','message'}; } public class SoapResponseHeader { public String requestId; public String serviceName; public String methodName; public Long operations; public Long responseTime; private String[] requestId_type_info = new String[]{'requestId','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] serviceName_type_info = new String[]{'serviceName','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] methodName_type_info = new String[]{'methodName','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] operations_type_info = new String[]{'operations','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] responseTime_type_info = new String[]{'responseTime','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'requestId','serviceName','methodName','operations','responseTime'}; } public class Selector { public String[] fields; public GoogleAdWordsConversionTracker.Predicate[] predicates; public GoogleAdWordsConversionTracker.DateRange dateRange; public GoogleAdWordsConversionTracker.OrderBy[] ordering; public GoogleAdWordsConversionTracker.Paging paging; private String[] fields_type_info = new String[]{'fields','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] predicates_type_info = new String[]{'predicates','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] dateRange_type_info = new String[]{'dateRange','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] ordering_type_info = new String[]{'ordering','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] paging_type_info = new String[]{'paging','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'fields','predicates','dateRange','ordering','paging'}; } public class AuthenticationError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class ConversionTrackingError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class AdWordsConversionTracker { public String snippet; public String textFormat; public String conversionPageLanguage; public String backgroundColor; public String trackingCodeType; private String[] snippet_type_info = new String[]{'snippet','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] textFormat_type_info = new String[]{'textFormat','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] conversionPageLanguage_type_info = new String[]{'conversionPageLanguage','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] backgroundColor_type_info = new String[]{'backgroundColor','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] trackingCodeType_type_info = new String[]{'trackingCodeType','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'snippet','textFormat','conversionPageLanguage','backgroundColor','trackingCodeType'}; } public class SizeLimitError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class Paging { public Integer startIndex; public Integer numberResults; private String[] startIndex_type_info = new String[]{'startIndex','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] numberResults_type_info = new String[]{'numberResults','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'startIndex','numberResults'}; } public class SelectorError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class AuthorizationError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class DistinctError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class InternalApiError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class mutate_element { public GoogleAdWordsConversionTracker.ConversionTrackerOperation[] operations; private String[] operations_type_info = new String[]{'operations','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'operations'}; } public class mutateResponse_element { public GoogleAdWordsConversionTracker.ConversionTrackerReturnValue rval; private String[] rval_type_info = new String[]{'rval','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'rval'}; } public class SoapHeader { public String clientCustomerId; public String developerToken; public String userAgent; public Boolean validateOnly; public Boolean partialFailure; private String[] clientCustomerId_type_info = new String[]{'clientCustomerId','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] developerToken_type_info = new String[]{'developerToken','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] userAgent_type_info = new String[]{'userAgent','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] validateOnly_type_info = new String[]{'validateOnly','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] partialFailure_type_info = new String[]{'partialFailure','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'clientCustomerId','developerToken','userAgent','validateOnly','partialFailure'}; } public class ApiError { public String fieldPath; public String trigger_x; public String errorString; public String ApiError_Type; private String[] fieldPath_type_info = new String[]{'fieldPath','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] trigger_x_type_info = new String[]{'trigger','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] errorString_type_info = new String[]{'errorString','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] ApiError_Type_type_info = new String[]{'ApiError.Type','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'fieldPath','trigger_x','errorString','ApiError_Type'}; } public class RejectedError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class AdCallMetricsConversion { public Long phoneCallDuration; private String[] phoneCallDuration_type_info = new String[]{'phoneCallDuration','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'phoneCallDuration'}; } public class AppPostbackUrlError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class IdError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class ConversionTrackerPage { public GoogleAdWordsConversionTracker.ConversionTracker[] entries; private String[] entries_type_info = new String[]{'entries','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'entries'}; } public class ListReturnValue { public String ListReturnValue_Type; private String[] ListReturnValue_Type_type_info = new String[]{'ListReturnValue.Type','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'ListReturnValue_Type'}; } public class ConversionTracker { public Long id; public Long originalConversionTypeId; public String name; public String status; public String category; public Long conversionTypeOwnerCustomerId; public Integer viewthroughLookbackWindow; public Integer ctcLookbackWindow; public String countingType; public Double defaultRevenueValue; public String defaultRevenueCurrencyCode; public Boolean alwaysUseDefaultRevenueValue; public Boolean excludeFromBidding; public String mostRecentConversionDate; public String lastReceivedRequestTime; public String ConversionTracker_Type; private String[] id_type_info = new String[]{'id','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] originalConversionTypeId_type_info = new String[]{'originalConversionTypeId','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] name_type_info = new String[]{'name','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] status_type_info = new String[]{'status','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] category_type_info = new String[]{'category','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] conversionTypeOwnerCustomerId_type_info = new String[]{'conversionTypeOwnerCustomerId','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] viewthroughLookbackWindow_type_info = new String[]{'viewthroughLookbackWindow','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] ctcLookbackWindow_type_info = new String[]{'ctcLookbackWindow','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] countingType_type_info = new String[]{'countingType','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] defaultRevenueValue_type_info = new String[]{'defaultRevenueValue','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] defaultRevenueCurrencyCode_type_info = new String[]{'defaultRevenueCurrencyCode','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] alwaysUseDefaultRevenueValue_type_info = new String[]{'alwaysUseDefaultRevenueValue','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] excludeFromBidding_type_info = new String[]{'excludeFromBidding','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] mostRecentConversionDate_type_info = new String[]{'mostRecentConversionDate','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] lastReceivedRequestTime_type_info = new String[]{'lastReceivedRequestTime','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] ConversionTracker_Type_type_info = new String[]{'ConversionTracker.Type','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'id','originalConversionTypeId','name','status','category','conversionTypeOwnerCustomerId','viewthroughLookbackWindow','ctcLookbackWindow','countingType','defaultRevenueValue','defaultRevenueCurrencyCode','alwaysUseDefaultRevenueValue','excludeFromBidding','mostRecentConversionDate','lastReceivedRequestTime','ConversionTracker_Type'}; } public class ReadOnlyError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class query_element { public String query; private String[] query_type_info = new String[]{'query','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'query'}; } public class Operation { public String operator; public String Operation_Type; private String[] operator_type_info = new String[]{'operator','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] Operation_Type_type_info = new String[]{'Operation.Type','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'operator','Operation_Type'}; } public class ConversionTrackerReturnValue { public GoogleAdWordsConversionTracker.ConversionTracker[] value; private String[] value_type_info = new String[]{'value','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'value'}; } public class OperatorError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class AppConversion { public String appId; public String appPlatform; public String snippet; public String appConversionType; public String appPostbackUrl; private String[] appId_type_info = new String[]{'appId','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] appPlatform_type_info = new String[]{'appPlatform','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] snippet_type_info = new String[]{'snippet','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] appConversionType_type_info = new String[]{'appConversionType','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] appPostbackUrl_type_info = new String[]{'appPostbackUrl','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'appId','appPlatform','snippet','appConversionType','appPostbackUrl'}; } public class DateRange { public String min; public String max; private String[] min_type_info = new String[]{'min','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] max_type_info = new String[]{'max','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'min','max'}; } public class RequestError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class RateExceededError { public String reason; public String rateName; public String rateScope; public Integer retryAfterSeconds; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] rateName_type_info = new String[]{'rateName','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] rateScope_type_info = new String[]{'rateScope','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] retryAfterSeconds_type_info = new String[]{'retryAfterSeconds','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason','rateName','rateScope','retryAfterSeconds'}; } public class RangeError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class OrderBy { public String field; public String sortOrder; private String[] field_type_info = new String[]{'field','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] sortOrder_type_info = new String[]{'sortOrder','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'field','sortOrder'}; } public class get_element { public GoogleAdWordsConversionTracker.Selector serviceSelector; private String[] serviceSelector_type_info = new String[]{'serviceSelector','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'serviceSelector'}; } public class QuotaCheckError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class OperationAccessDenied { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class StringFormatError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class RequiredError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class WebsiteCallMetricsConversion { public Long phoneCallDuration; public String snippet; private String[] phoneCallDuration_type_info = new String[]{'phoneCallDuration','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] snippet_type_info = new String[]{'snippet','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'phoneCallDuration','snippet'}; } public class DatabaseError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class ApplicationException extends Exception{ public String message; public String ApplicationException_Type; private String[] message_type_info = new String[]{'message','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] ApplicationException_Type_type_info = new String[]{'ApplicationException.Type','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'message','ApplicationException_Type'}; } public class ConversionTrackerOperation { public GoogleAdWordsConversionTracker.ConversionTracker operand; private String[] operand_type_info = new String[]{'operand','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'operand'}; } public class DateError { public String reason; private String[] reason_type_info = new String[]{'reason','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'reason'}; } public class getResponse_element { public GoogleAdWordsConversionTracker.ConversionTrackerPage rval; private String[] rval_type_info = new String[]{'rval','https://adwords.google.com/api/adwords/cm/v201605',null,'0','1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'rval'}; } public class ApiException extends Exception{ public GoogleAdWordsConversionTracker.ApiError[] errors; private String[] errors_type_info = new String[]{'errors','https://adwords.google.com/api/adwords/cm/v201605',null,'0','-1','false'}; private String[] apex_schema_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605','true','false'}; private String[] field_order_type_info = new String[]{'errors'}; } public class ConversionTrackerServiceInterfacePort { public String endpoint_x = 'https://adwords.google.com/api/adwords/cm/v201605/ConversionTrackerService'; public Map<String,String> inputHttpHeaders_x; public Map<String,String> outputHttpHeaders_x; public String clientCertName_x; public String clientCert_x; public String clientCertPasswd_x; public Integer timeout_x; public GoogleAdWordsConversionTracker.SoapHeader RequestHeader; public GoogleAdWordsConversionTracker.SoapResponseHeader ResponseHeader; private String RequestHeader_hns = 'RequestHeader=https://adwords.google.com/api/adwords/cm/v201605'; private String ResponseHeader_hns = 'ResponseHeader=https://adwords.google.com/api/adwords/cm/v201605'; private String[] ns_map_type_info = new String[]{'https://adwords.google.com/api/adwords/cm/v201605', 'GoogleAdWordsConversionTracker'}; public GoogleAdWordsConversionTracker.ConversionTrackerReturnValue mutate(GoogleAdWordsConversionTracker.ConversionTrackerOperation[] operations) { GoogleAdWordsConversionTracker.mutate_element request_x = new GoogleAdWordsConversionTracker.mutate_element(); request_x.operations = operations; GoogleAdWordsConversionTracker.mutateResponse_element response_x; Map<String, GoogleAdWordsConversionTracker.mutateResponse_element> response_map_x = new Map<String, GoogleAdWordsConversionTracker.mutateResponse_element>(); response_map_x.put('response_x', response_x); WebServiceCallout.invoke( this, request_x, response_map_x, new String[]{endpoint_x, '', 'mutate', 'mutateResponse', 'GoogleAdWordsConversionTracker.mutateResponse_element'} ); response_x = response_map_x.get('response_x'); return response_x.rval; } public GoogleAdWordsConversionTracker.ConversionTrackerPage get(GoogleAdWordsConversionTracker.Selector serviceSelector) { GoogleAdWordsConversionTracker.get_element request_x = new GoogleAdWordsConversionTracker.get_element(); request_x.serviceSelector = serviceSelector; GoogleAdWordsConversionTracker.getResponse_element response_x; Map<String, GoogleAdWordsConversionTracker.getResponse_element> response_map_x = new Map<String, GoogleAdWordsConversionTracker.getResponse_element>(); response_map_x.put('response_x', response_x); WebServiceCallout.invoke( this, request_x, response_map_x, new String[]{endpoint_x, '', 'get', 'getResponse', 'GoogleAdWordsConversionTracker.getResponse_element'} ); response_x = response_map_x.get('response_x'); return response_x.rval; } public GoogleAdWordsConversionTracker.ConversionTrackerPage query(String query) { GoogleAdWordsConversionTracker.query_element request_x = new GoogleAdWordsConversionTracker.query_element(); request_x.query = query; GoogleAdWordsConversionTracker.queryResponse_element response_x; Map<String, GoogleAdWordsConversionTracker.queryResponse_element> response_map_x = new Map<String, GoogleAdWordsConversionTracker.queryResponse_element>(); response_map_x.put('response_x', response_x); WebServiceCallout.invoke( this, request_x, response_map_x, new String[]{endpoint_x, '', 'query', 'queryResponse', 'GoogleAdWordsConversionTracker.queryResponse_element'} ); response_x = response_map_x.get('response_x'); return response_x.rval; } }}