Salesforce Apex and Google AdWords API SOAP Request

123 views
Skip to first unread message

Sean Cuvanov

unread,
Jun 22, 2016, 11:41:15 AM6/22/16
to AdWords API Forum
I am attempting to send ConversionTracking data from Salesforce to AdWords. I am using Apex (Language used in Salesforce) to create a SOAP request, and transmit the data using Google AdWords API.

Issue: How can I use the generated classes (listed below) to facilitate a valid SOAP Request? Is there a need for a seperate .XML File?

I generated these classes from the WSDL file for ConversionTracking, but I am not sure if I still need to define an .xml file for the SOAP request, or if I just build the objects in these classes, and pass them to the methods.


This is the class where I am attempting to use the class generated from the WSDL.

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).



        //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
    }
}



This is the main class generated from WSDL, there is also an ASYNC Version.

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 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;
        }
    }
}


Shwetha Vastrad (AdWords API Team)

unread,
Jun 22, 2016, 5:42:51 PM6/22/16
to AdWords API Forum
Hi Sean,

This doesn't look like it's related to AdWords API. If there are issues while making requests to the API, I could help you with that. But I'm afraid queries related to Salesforce or Apex are not in our area of expertise. I would suggest that you post your query in the Salesforce forum as they are better equipped to help you out. 

Regards,
Shwetha, AdWords API Team.
Reply all
Reply to author
Forward
0 new messages