OfflineDataUpload upload of STORE_SALES_UPLOAD_FIRST_PARTY returning IN_PROCESS uploadStatus

2018-01-09 Thread Steve Wilhelm
I am successfully making OfflineDataUpload using the v201710 version of the 
AdWords API via Python suds.

I am receiving the following response (see below). Note the 
externalUploadId is being set and the updateStatus is IN_PROCESS

I do not, however, see any evidence in the AdWords Dashboard that these 
uploads are being added to the name Conversion actions.

How can I determine if the uploads were successfully processed or if they 
are not processed what is causing them to fail.
 
- Steve W.

(OfflineDataUploadReturnValue){
   ListReturnValue.Type = "OfflineDataUploadReturnValue"
   value[] =
  (OfflineDataUpload){
 externalUploadId = 4685
 uploadType = "STORE_SALES_UPLOAD_FIRST_PARTY"
 uploadStatus = "IN_PROCESS"
  },
 }

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/b2487d98-2bba-442d-9847-84a7420a6229%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Attempts to Add OfflineDataUpload using STORE_SALES_UPLOAD_FIRST_PARTY return OfflineDataUploadError.INVALID_CONVERSION_TYPE

2017-12-07 Thread Steve Wilhelm
We are attempting to upload OfflineData as a First party using the 
following SOAP XML

   
  
 https://adwords.google.com/api/adwords/cm/v201708";>6
 https://adwords.google.com/api/adwords/cm/v201708";>f**
 https://adwords.google.com/api/adwords/cm/v201708";>Euclid 
AdAdmin (AwApi-Python, googleads/9.0.0, Python/2.7.10)
 https://adwords.google.com/api/adwords/cm/v201708";>false
 https://adwords.google.com/api/adwords/cm/v201708";>false
  
   
   
  
 
ADD

   456
  
 STORE_SALES_UPLOAD_FIRST_PARTY
   
   
  
 0.012345

 0.012345
  
   
   
  
 

EXTERNAL_USER_ID
id123
 
 20171205 175300 
America/Los_Angeles
 

   2

USD
 
 ConversionTest
  
   
   

 
  
   


Returns the following error

 ListReturnValue.Type = "OfflineDataUploadReturnValue"
   value[] =
  (OfflineDataUpload){
 uploadId = 11909
 externalUploadId = 456
 uploadType = "STORE_SALES_UPLOAD_FIRST_PARTY"
 uploadStatus = "UNKNOWN"
 partialDataErrors[] =
(OfflineDataUploadError){
   fieldPath = None
   trigger = None
   errorString = 
"OfflineDataUploadError.INVALID_CONVERSION_TYPE"
   ApiError.Type = "OfflineDataUploadError"
   reason = "INVALID_CONVERSION_TYPE"
},
  },
 }

The Conversion named ConversionTest was created in the Google Adwords 
console








-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/31438152-b0d2-4c9c-be85-be1ca811af21%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What are the correct values for bridgeMapVersionId and partnerId for OfflineDataUpload ThirdPartyUploadMetadata

2017-12-04 Thread Steve Wilhelm
Michael,

You state: "The third party options are for Google data provider partners 
who have the bridge map and partner values for their integrations.If you 
are a merchant who wants to upload your own offline data, then first party 
fields are the ones to use, which do not require these fields."

We are in fact a data provider but have not yet received the bridge map and 
partner values. Where can find these values? Would they be in the AdWords 
console?

Thanks in advance for your help.

- Steve W.



On Monday, December 4, 2017 at 5:42:12 AM UTC-8, Michael Cloonan (AdWords 
API Team) wrote:
>
> Hello,
>
> It sounds like you should probably be using FirstPartyUploadMetadata 
> <https://developers.google.com/adwords/api/docs/reference/v201710/OfflineDataUploadService.FirstPartyUploadMetadata>
>  
> instead, along with setting the uploadType 
> to STORE_SALES_UPLOAD_FIRST_PARTY.
>
> The third party options are for Google data provider partners who have the 
> bridge map and partner values for their integrations. If you are a merchant 
> who wants to upload your own offline data, then first party fields are the 
> ones to use, which do not require these fields.
>
> Regards,
> Mike, AdWords API Team
>
> On Friday, December 1, 2017 at 1:54:30 PM UTC-5, Michael Cloonan (AdWords 
> API Team) wrote:
>>
>> Hello,
>>
>> I apologize for the slow turnaround. I still haven't been able 
>> to determine exactly how these fields are meant to be used. I have 
>> escalated the priority internally in hopes of getting a response quickly. I 
>> will let you know as soon as I find out more myself.
>>
>> Regards,
>> Mike, AdWords API Team
>>
>> On Friday, December 1, 2017 at 1:20:57 PM UTC-5, Steve Wilhelm wrote:
>>>
>>> Michael,
>>>
>>> Any progress on getting details or examples of setting 
>>> bridgeMapVersionId and partnerId for OfflineDataUpload 
>>> ThirdPartyUploadMetadata?
>>>
>>> Thanks in advance for any help you can provide.
>>>
>>> - Steve W
>>>
>>>
>>> On Monday, November 13, 2017 at 11:22:58 AM UTC-8, Michael Cloonan 
>>> (AdWords API Team) wrote:
>>>>
>>>> Hello,
>>>>
>>>> As this is a new feature, I am still trying to track down someone who 
>>>> knows it well so that we can provide you more information and hopefully 
>>>> improve the documentation as well. I apologize for the delay.
>>>>
>>>> Regards,
>>>> Mike, AdWords API Team
>>>>
>>>> On Monday, November 13, 2017 at 2:14:48 PM UTC-5, Steve Wilhelm wrote:
>>>>>
>>>>> Any progress on the valid values for bridgeMapVersionId and partnerId 
>>>>> and if they are not correct would they be the cause of the 
>>>>> OfflineDataUploadError?
>>>>>
>>>>> - Steve W.
>>>>>
>>>>> On Thursday, November 9, 2017 at 5:51:57 AM UTC-8, Michael Cloonan 
>>>>> (AdWords API Team) wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I am looking into the intended usage for these fields and I will 
>>>>>> respond here again once I have more information to share.
>>>>>>
>>>>>> Regards,
>>>>>> Mike, AdWords API Team
>>>>>>
>>>>>> On Wednesday, November 8, 2017 at 8:49:44 PM UTC-5, Steve Wilhelm 
>>>>>> wrote:
>>>>>>>
>>>>>>> Getting the following error 
>>>>>>>
>>>>>>> ERROR:suds.client:>>>>>> 0x106a06c68>
>>>>>>>
>>>>>>> WARNING:googleads.common:Response summary - {'operations': 1, 
>>>>>>> 'methodName': mutate, 'faultMessage': 
>>>>>>> u'[OfflineDataUploadError.INVALID_UPLOAD_METADATA 
>>>>>>> @ operations[0].operand.uploadMetadata]', 'isFault': True, 
>>>>>>> 'requestId': 00055d82c532ba680a24d50658049b8a, 'responseTime': 160, 
>>>>>>> 'serviceName': OfflineDataUploadService}
>>>>>>>
>>>>>>> with the following XML
>>>>>>>
>>>>>>> 
>>>>>>>
>>>>>>>   >>>>>> "ns2:ThirdPartyUploadMetadata">
>>>>>>>
>>>>>>>  0.0
>>>>&

Re: What are the correct values for bridgeMapVersionId and partnerId for OfflineDataUpload ThirdPartyUploadMetadata

2017-12-01 Thread Steve Wilhelm
Michael,

Any progress on getting details or examples of setting bridgeMapVersionId 
and partnerId for OfflineDataUpload ThirdPartyUploadMetadata?

Thanks in advance for any help you can provide.

- Steve W


On Monday, November 13, 2017 at 11:22:58 AM UTC-8, Michael Cloonan (AdWords 
API Team) wrote:
>
> Hello,
>
> As this is a new feature, I am still trying to track down someone who 
> knows it well so that we can provide you more information and hopefully 
> improve the documentation as well. I apologize for the delay.
>
> Regards,
> Mike, AdWords API Team
>
> On Monday, November 13, 2017 at 2:14:48 PM UTC-5, Steve Wilhelm wrote:
>>
>> Any progress on the valid values for bridgeMapVersionId and partnerId 
>> and if they are not correct would they be the cause of the 
>> OfflineDataUploadError?
>>
>> - Steve W.
>>
>> On Thursday, November 9, 2017 at 5:51:57 AM UTC-8, Michael Cloonan 
>> (AdWords API Team) wrote:
>>>
>>> Hello,
>>>
>>> I am looking into the intended usage for these fields and I will respond 
>>> here again once I have more information to share.
>>>
>>> Regards,
>>> Mike, AdWords API Team
>>>
>>> On Wednesday, November 8, 2017 at 8:49:44 PM UTC-5, Steve Wilhelm wrote:
>>>>
>>>> Getting the following error 
>>>>
>>>> ERROR:suds.client:
>>>>
>>>> WARNING:googleads.common:Response summary - {'operations': 1, 
>>>> 'methodName': mutate, 'faultMessage': 
>>>> u'[OfflineDataUploadError.INVALID_UPLOAD_METADATA 
>>>> @ operations[0].operand.uploadMetadata]', 'isFault': True, 'requestId': 
>>>> 00055d82c532ba680a24d50658049b8a, 'responseTime': 160, 'serviceName': 
>>>> OfflineDataUploadService}
>>>>
>>>> with the following XML
>>>>
>>>> 
>>>>
>>>>   >>> "ns2:ThirdPartyUploadMetadata">
>>>>
>>>>  0.0
>>>>
>>>>  0.0
>>>>
>>>>  20171101 010500 America/Los_Angeles
>>>> 
>>>>
>>>>  0.0
>>>>
>>>>  0.0
>>>>
>>>>  0.0
>>>>
>>>>  bridgeId123
>>>>
>>>>  partnerId123
>>>>
>>>>   
>>>>
>>>> 
>>>>
>>>> What are the valid values for bridgeMapVersionId and partnerId?
>>>>
>>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/cd2e6cb7-3aea-472b-a824-e05b87938808%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What are the correct values for bridgeMapVersionId and partnerId for OfflineDataUpload ThirdPartyUploadMetadata

2017-11-13 Thread Steve Wilhelm
Any progress on the valid values for bridgeMapVersionId and partnerId and 
if they are not correct would they be the cause of the 
OfflineDataUploadError?

- Steve W.

On Thursday, November 9, 2017 at 5:51:57 AM UTC-8, Michael Cloonan (AdWords 
API Team) wrote:
>
> Hello,
>
> I am looking into the intended usage for these fields and I will respond 
> here again once I have more information to share.
>
> Regards,
> Mike, AdWords API Team
>
> On Wednesday, November 8, 2017 at 8:49:44 PM UTC-5, Steve Wilhelm wrote:
>>
>> Getting the following error 
>>
>> ERROR:suds.client:
>>
>> WARNING:googleads.common:Response summary - {'operations': 1, 
>> 'methodName': mutate, 'faultMessage': 
>> u'[OfflineDataUploadError.INVALID_UPLOAD_METADATA 
>> @ operations[0].operand.uploadMetadata]', 'isFault': True, 'requestId': 
>> 00055d82c532ba680a24d50658049b8a, 'responseTime': 160, 'serviceName': 
>> OfflineDataUploadService}
>>
>> with the following XML
>>
>> 
>>
>>   > "ns2:ThirdPartyUploadMetadata">
>>
>>  0.0
>>
>>  0.0
>>
>>  20171101 010500 America/Los_Angeles
>> 
>>
>>  0.0
>>
>>  0.0
>>
>>  0.0
>>
>>  bridgeId123
>>
>>  partnerId123
>>
>>   
>>
>> 
>>
>> What are the valid values for bridgeMapVersionId and partnerId?
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/829b1528-5bd6-4d3a-bce0-f8f4968b1e74%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What are the correct values for bridgeMapVersionId and partnerId for OfflineDataUpload ThirdPartyUploadMetadata

2017-11-09 Thread Steve Wilhelm
Michael,

Thanks for your prompt response. Look forward to getting additional details 
from you.

- Steve W.

On Thursday, November 9, 2017 at 5:51:57 AM UTC-8, Michael Cloonan (AdWords 
API Team) wrote:
>
> Hello,
>
> I am looking into the intended usage for these fields and I will respond 
> here again once I have more information to share.
>
> Regards,
> Mike, AdWords API Team
>
> On Wednesday, November 8, 2017 at 8:49:44 PM UTC-5, Steve Wilhelm wrote:
>>
>> Getting the following error 
>>
>> ERROR:suds.client:
>>
>> WARNING:googleads.common:Response summary - {'operations': 1, 
>> 'methodName': mutate, 'faultMessage': 
>> u'[OfflineDataUploadError.INVALID_UPLOAD_METADATA 
>> @ operations[0].operand.uploadMetadata]', 'isFault': True, 'requestId': 
>> 00055d82c532ba680a24d50658049b8a, 'responseTime': 160, 'serviceName': 
>> OfflineDataUploadService}
>>
>> with the following XML
>>
>> 
>>
>>   > "ns2:ThirdPartyUploadMetadata">
>>
>>  0.0
>>
>>  0.0
>>
>>  20171101 010500 America/Los_Angeles
>> 
>>
>>  0.0
>>
>>  0.0
>>
>>  0.0
>>
>>  bridgeId123
>>
>>  partnerId123
>>
>>   
>>
>> 
>>
>> What are the valid values for bridgeMapVersionId and partnerId?
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/bb98a7fe-d367-4cd4-b1f1-7f91cc04a304%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


What are the correct values for bridgeMapVersionId and partnerId for OfflineDataUpload ThirdPartyUploadMetadata

2017-11-08 Thread Steve Wilhelm
Getting the following error 

ERROR:suds.client:

WARNING:googleads.common:Response summary - {'operations': 1, 'methodName': 
mutate, 'faultMessage': u'[OfflineDataUploadError.INVALID_UPLOAD_METADATA @ 
operations[0].operand.uploadMetadata]', 'isFault': True, 'requestId': 
00055d82c532ba680a24d50658049b8a, 'responseTime': 160, 'serviceName': 
OfflineDataUploadService}

with the following XML



  

 0.0

 0.0

 20171101 010500 America/Los_Angeles


 0.0

 0.0

 0.0

 bridgeId123

 partnerId123

  



What are the valid values for bridgeMapVersionId and partnerId?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/5d7e44c4-f77f-4ed6-8807-850674b15899%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Having difficulties with OfflineDataUpload Python Suds v201708

2017-11-07 Thread Steve Wilhelm
We are trying to add user transactions to our Adwords campaigns. 

We are using the Python Suds API version v201708

Here is the error we are receiving

suds.WebFault: Server raised fault: 'Cannot construct an instance of 
com.google.ads.api.services.datax.offlinedataupload.UploadMetadata because 
it is abstract.  You are probably missing an @Uses annotation while 
invoking public abstract 
com.google.ads.api.services.datax.offlinedataupload.OfflineDataUploadReturnValue
 
...'


Any advice or a working example would be appreciated.

- Steve W.

The XML that was created by the API is:


https://adwords.google.com/api/adwords/rm/v201708"; 
xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201708"; 
xmlns:ns2="https://adwords.google.com/api/adwords/rm/v201708"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
   
  
 https://adwords.google.com/api/adwords/cm/v201708";>***-***-
 https://adwords.google.com/api/adwords/cm/v201708";>*
 https://adwords.google.com/api/adwords/cm/v201708";>Euclid 
AdAdmin (AwApi-Python, googleads/8.0.0, Python/2.7.10)
 https://adwords.google.com/api/adwords/cm/v201708";>false
 https://adwords.google.com/api/adwords/cm/v201708";>false
  
   
   
  
 
ADD

   123
   456
  
 STORE_SALES_UPLOAD_THIRD_PARTY
   
   
  0.0
  0.0
  
01:05:00
  0.0
  0.0
  0.0
  
bridgeId123
  partnerId123
   
   
  

 EXTERNAL_USER_ID
 id123
  
  2017-10-31 
17:30:00-08:00
  0
  
   
   

 
  
   



and here is the code

import datetime
from googleads import adwords
from googleads import oauth2
from httplib2 import Http
from oauth2client import client
import logging
import constants

logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').setLevel(logging.DEBUG) # MUST BE THIS?
logging.getLogger('suds.xsd.schema').setLevel(logging.DEBUG)
logging.getLogger('suds.wsdl').setLevel(logging.DEBUG)
logging.getLogger('suds.resolver').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.query').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.basic').setLevel(logging.DEBUG)
logging.getLogger('suds.binding.marshaller').setLevel(logging.DEBUG)

scopes = ['https://www.googleapis.com/auth/adwords']


# Authorization

credentials = client.OAuth2Credentials(
None, constants.CLIENT_ID, constants.CLIENT_SECRET, 
constants.REFRESH_TOKEN,
datetime.datetime(2049, 1, 1, 12), constants.GOOGLE_OAUTH2_ENDPOINT,
constants.USER_AGENT)
logging.warning(credentials)

# Adword Client

adwords_client = 
adwords.AdWordsClient.LoadFromStorage(constants.GOOGLEADS_YAML)
# logging.warning(adwords_client)

adwords_client.SetClientCustomerId(constants.CLIENT_CUSTOMER_ID)
# 
adwords_client.SetClientCustomerId(constants.POST_VISITS_AS_ZERO_DOLLAR_TRANSACTIONS_ACCOUNT_ID)
# logging.warning(adwords_client)

# OfflineDataUpload Operations
offline_data_upload_service = 
adwords_client.GetService('OfflineDataUploadService', 
version=constants.VERSION)

# User suds to make OfflineDataUploadService calls
suds_client = offline_data_upload_service.suds_client


# create a user identifier
user_identifier = suds_client.factory.create('UserIdentifier')
user_identifier.userIdentifierType = 'EXTERNAL_USER_ID'
user_identifier.value = 'id123'

# create a store sales transaction
store_sales_transaction = 
suds_client.factory.create('StoreSalesTransaction')
store_sales_transaction.userIdentifiers = [user_identifier]
store_sales_transaction.transactionTime = '2017-10-31 17:30:00-08:00'
store_sales_transaction.transactionAmount = 0
store_sales_transaction.conversionName = ''


# create 3rd party upload metadata
third_party_upload_metadata = 
suds_client.factory.create('ThirdPartyUploadMetadata')
third_party_upload_metadata.loyaltyRate = 0.0
third_party_upload_metadata.transactionUploadRate = 0.0
third_party_upload_metadata.advertiserUploadTime = '01:05:00'
third_party_upload_metadata.validTransactionRate = '0.0'
third_party_upload_metadata.partnerMatchRate = '0.0'
third_party_upload_metadata.partnerUploadRate = '0.0'
third_party_upload_metadata.bridgeMapVersionId = 'bridgeId123'
third_party_upload_metadata.partnerId = 'partnerId123'


offline_data_upload = suds_client.factory.create('OfflineDataUpload')
offline_data_upload.uploadId = 123
offline_data_upload.externalUploadId = 456
offline_data_upload.uploadType = 'STORE_SALES_UPLOAD_THIRD_PARTY'
offline_data_upload.uploadMetadata = third_party_upload_metadata
o

Getting "Cannot construct an instance of com.google.ads.api.services.datax.offlinedataupload.UploadMetadata because it is abstract" error. Thoughts?

2017-11-07 Thread Steve Wilhelm
I am attempting to upload offline data using the Python suds based API  

OfflineDataUploadService (v201708)


We are getting the following error:


suds.WebFault: Server raised fault: 'Cannot construct an instance of 
com.google.ads.api.services.datax.offlinedataupload.UploadMetadata because 
it is abstract.  You are probably missing an @Uses annotation while 
invoking public abstract 
com.google.ads.api.services.datax.offlinedataupload.OfflineDataUploadReturnValue
 
com.google.ads.api.services.datax.offlinedataupload.OfflineDataUploadService.mutate(java.util.List)
 
throws com.google.ads.api.services.common.error.ApiException with params 
[[com.google.ads.api.services.datax.offlinedataupload.v201708.jaxbgen.OfflineDataUploadOperation@464070a1]].'


The Python suds code is attached. Below is the XML.


Any suggestions or examples of using the OfflineDataUploadService would be 
welcome.


- Steve W.




https://adwords.google.com/api/adwords/rm/v201708"; 
xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201708"; 
xmlns:ns2="https://adwords.google.com/api/adwords/rm/v201708"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
   
  
 https://adwords.google.com/api/adwords/cm/v201708";>***-***-
 https://adwords.google.com/api/adwords/cm/v201708";>*
 https://adwords.google.com/api/adwords/cm/v201708";>Euclid 
AdAdmin (AwApi-Python, googleads/8.0.0, Python/2.7.10)
 https://adwords.google.com/api/adwords/cm/v201708";>false
 https://adwords.google.com/api/adwords/cm/v201708";>false
  
   
   
  
 
ADD

   123
   456
  
 STORE_SALES_UPLOAD_THIRD_PARTY
   
   
  0.0
  0.0
  
01:05:00
  0.0
  0.0
  0.0
  
bridgeId123
  partnerId123
   
   
  

 EXTERNAL_USER_ID
 id123
  
  2017-10-31 
17:30:00-08:00
  0
  
   
   

 
  
   




-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/de451605-f7b4-40aa-ac26-16730c5f45ff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
#
# Example from: https://developers.google.com/api-client-library/python/auth/service-accounts
#
import datetime
from googleads import adwords
from googleads import oauth2
from httplib2 import Http
from oauth2client import client
import logging
import constants

logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').setLevel(logging.DEBUG) # MUST BE THIS?
logging.getLogger('suds.xsd.schema').setLevel(logging.DEBUG)
logging.getLogger('suds.wsdl').setLevel(logging.DEBUG)
logging.getLogger('suds.resolver').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.query').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.basic').setLevel(logging.DEBUG)
logging.getLogger('suds.binding.marshaller').setLevel(logging.DEBUG)

scopes = ['https://www.googleapis.com/auth/adwords']


# Authorization

credentials = client.OAuth2Credentials(
None, constants.CLIENT_ID, constants.CLIENT_SECRET, constants.REFRESH_TOKEN,
datetime.datetime(2049, 1, 1, 12), constants.GOOGLE_OAUTH2_ENDPOINT,
constants.USER_AGENT)
logging.warning(credentials)

# Adword Client

adwords_client = adwords.AdWordsClient.LoadFromStorage(constants.GOOGLEADS_YAML)
# logging.warning(adwords_client)

adwords_client.SetClientCustomerId(constants.CLIENT_CUSTOMER_ID)
# adwords_client.SetClientCustomerId(constants.POST_VISITS_AS_ZERO_DOLLAR_TRANSACTIONS_ACCOUNT_ID)
# logging.warning(adwords_client)

# OfflineDataUpload Operations
offline_data_upload_service = adwords_client.GetService('OfflineDataUploadService', version=constants.VERS