Hi Steve,

Based on your SOAP request, it seems that there is something wrong on how 
you construct the UploadMetadata 
<https://developers.google.com/adwords/api/docs/reference/v201710/OfflineDataUploadService.UploadMetadata>
 object. 
Below is the correct SOAP request snippet with this object:

<operations>
     <ns7:operator xmlns:ns7=
"https://adwords.google.com/api/adwords/cm/v201710";>ADD</ns7:operator>
     <operand>
         <externalUploadId>XXXX</externalUploadId>
         <uploadType>STORE_SALES_UPLOAD_FIRST_PARTY</uploadType>
         *<uploadMetadata>*
             <*StoreSalesUploadCommonMetadata* xmlns:ns8=
"https://adwords.google.com/api/adwords/rm/v201710"; xsi:type="ns8:
*ThirdPartyUploadMetadata*">
                 <ns8:loyaltyRate>0.0</ns8:loyaltyRate>
                 <ns8:transactionUploadRate>0.0</ns8:transactionUploadRate>
             </StoreSalesUploadCommonMetadata>
         *</uploadMetadata>*

Basically, the ThirdPartyUploadMetadata 
<https://developers.google.com/adwords/api/docs/reference/v201710/OfflineDataUploadService.ThirdPartyUploadMetadata>
 is 
a type of StoreSalesUploadCommonMetadata 
<https://developers.google.com/adwords/api/docs/reference/v201710/OfflineDataUploadService.StoreSalesUploadCommonMetadata>,
 
so you need to create an object of type StoreSalesUploadCommonMetadata with 
an instance of ThirdPartyUploadMetadata. Apologies as I am not an expert in 
Python so I'll just provide a sample code snippet in Java so you can check 
how the object should be constructed:

  OfflineDataUpload offlineDataUpload = new OfflineDataUpload();
  offlineDataUpload.setExternalUploadId(externalUploadId);
  offlineDataUpload.setOfflineDataList(
  offlineDataList.toArray(new OfflineData[offlineDataList.size()]));

  offlineDataUpload.setUploadType(OfflineDataUploadType.
STORE_SALES_UPLOAD_FIRST_PARTY);
  
*UploadMetadata uploadMetadata = new UploadMetadata();  
StoreSalesUploadCommonMetadata store = new ThirdPartyUploadMetadata();*
  
  store.setLoyaltyRate(0.0);
  store.setTransactionUploadRate(0.0);
   
  uploadMetadata.setStoreSalesUploadCommonMetadata(store);
   
  offlineDataUpload.setUploadMetadata(uploadMetadata);

Kindly do the suggestion first and let me know if the issue persists. If it 
persists, then kindly provide your SOAP request and response logs via *Reply 
privately to author* option.

Thanks,
Vincent
AdWords API Team

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
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/8563da14-9867-4c30-99bb-8de01aa9f95a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • Having difficult... Steve Wilhelm
    • Re: Having ... 'Vincent Racaza (AdWords API Team)' via AdWords API Forum

Reply via email to