Wednesday, 27 January 2016

Re: BatchJob result contains less operations that it was in request

Hi Ilya,

We have identified the issue at our end, but a fix is still in progress.

Cheers,
Anash

On Monday, January 25, 2016 at 3:00:48 PM UTC-5, Ilya Isakov wrote:
Hi Anash,

Thanks for reply,

Any news about this issue?

I'm still catching same situations.

Best,
Ilya

пятница, 22 января 2016 г., 6:34:27 UTC+3 пользователь Anash P. Oommen (AdWords API Team) написал:
Hi Ilya,

Apologies for the delay, I'll ask the team to take a look.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, January 21, 2016 at 1:28:57 AM UTC-5, Ilya Isakov wrote:
Up. The problem exists and I believe solution will be helpful for others who use BatchJobService for managing huge campaigns. Dear colleagues from  

AdWords API Team please take a look at this.


среда, 20 января 2016 г., 8:37:30 UTC+3 пользователь Ilya Isakov написал:
Hello,

There is discrepancy in operations between request and response in BatchJob 1142912.

BatchJob should contain 25000 operations but there are only 24000 in downloaded response.

Also meta information returned by get method contains information only about 24000 processed operations and empty processingErrors:

<?xml version="1.0" encoding="UTF-8"?>
  <SOAP-ENV:Header>
    <ns1:RequestHeader>
      <ns1:clientCustomerId>...</ns1:clientCustomerId>
       ...
    </ns1:RequestHeader>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <ns1:get>
      <ns1:selector>
        <ns1:fields>Id</ns1:fields>
        <ns1:fields>Status</ns1:fields>
        <ns1:fields>DownloadUrl</ns1:fields>
        <ns1:fields>ProcessingErrors</ns1:fields>
        <ns1:fields>ProgressStats</ns1:fields>
        <ns1:predicates>
          <ns1:field>Id</ns1:field>
          <ns1:operator>EQUALS</ns1:operator>
          <ns1:values>1142912</ns1:values>
        </ns1:predicates>
      </ns1:selector>
    </ns1:get>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

HTTP/1.1 200 OK
Content-Type: text/xml; charset=UTF-8
Content-Encoding: gzip
Date: Tue, 19 Jan 2016 10:32:43 GMT
Expires: Tue, 19 Jan 2016 10:32:43 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 910
Server: GSE

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
      <requestId>000529ad63c5b6810a0deb0133093fd7</requestId>
      <serviceName>BatchJobService</serviceName>
      <methodName>get</methodName>
      <operations>1</operations>
      <responseTime>74</responseTime>
    </ResponseHeader>
  </soap:Header>
  <soap:Body>
      <rval>
        <totalNumEntries>1</totalNumEntries>
        <Page.Type>BatchJobPage</Page.Type>
        <entries>
          <id>1142912</id>
          <status>DONE</status>
          <progressStats>
            <numOperationsExecuted>24000</numOperationsExecuted>
            <numOperationsSucceeded>24000</numOperationsSucceeded>
            <estimatedPercentExecuted>100</estimatedPercentExecuted>
            <numResultsWritten>24000</numResultsWritten>
          </progressStats>
          <downloadUrl>
            <url>...</url>
            <expiration>20160217 111202 America/New_York</expiration>
          </downloadUrl>
        </entries>
      </rval>
    </getResponse>
  </soap:Body>
</soap:Envelope>

The problem here is that it's impossible to link correctly Adword's objects to object local database because indexes of operations are wrong in response.

Let's say that batch job was submitted with 25000 operations, but response contains only 24000 results. Problem is that response will contain indexes from 0 to 23999 even if chunk from the middle wasn't processed (for example operations 5000-5999 from 25000 were skipped by batch job processing on adwords side). So it's impossible to understand by response what operations were processed correctly and which are not. According to documentation response should contain same number of results as number of submitted operations in batch job. But in my case it's not the same.

1. How correctly process such situations?

2. Is there any other instruments (may be Lables could help) which can help to synchronise local database of campaigns with Adwords more accurately?

Thanks!

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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+unsubscribe@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+unsubscribe@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/640cb79f-c2e5-4f5e-b151-c39670718961%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment