Hi Fred,

Thank you for the follow up information.  The API units reported in
the SOAP header are billed to your account, even if the request
resulted in an error.  In cases where the error was due to a problem
on Google's servers and not user input the units will not be charged
to your account.

Because of the cost associated with errors, we recommend using the new
validateOnly header to check your request for errors before you
actually run them.  A blog post on this header will be published later
this week.

Best,
- Eric

On Nov 30, 7:27 pm, fred <[email protected]> wrote:
> I assume you want the SOAP from the delete call which had the dodgy
> operations header. Unfortunately I did not save the XML last week, but
> was getting that behaviour consistently on Friday (Thursday evening in
> the US)
> This week I am unable to reproduce this issue. When deleting keywords
> with an invalid adgroup ID it still gives an INTERNAL ERROR but now
> returns a response with headers of 1 operation and one 1 unit. Most of
> the time. On one occasion I did get a very different operation/unit
> count (but still only 1 unit per operation). The SOAP is below.
>
> I will keep an eye on it, and will save the XML if I do get the issue
> again. If you wanted other SOAP (e.g. the 15 quota per invalid keyword
> in an Add operation) then I can still reproduce that.
>
> Do we actually get charged the quota reported in the headers of SOAP
> Faults?
>
> 1201-112153 W P4PGoogle.pm/2241 ERROR REQUEST:
> POSThttps://adwords.google.com/api/adwords/cm/v200909/AdGroupCriterionSer...
> HTTP/1.1
> Accept: text/xml
> Accept: multipart/*
> Content-Length: 2032
> Content-Type: text/xml; charset=utf-8
> SOAPAction: "https://adwords.google.com/api/adwords/cm/v200909#mutate";
>
> <?xml version="1.0" encoding="UTF-8"?>
> <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
> instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; SOAP-
> ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
> <SOAP-ENV:Header>
> <RequestHeader xmlns="https://adwords.google.com/api/adwords/cm/
> v200909" SOAP-ENC:arrayType="xsd:string[4]">
> <authToken xsi:type="xsd:string">something1</authToken>
> <useragent xsi:type="xsd:string">something2</useragent>
> <developerToken xsi:type="xsd:string">something3</developerToken>
> <applicationToken xsi:type="xsd:string">something4</applicationToken>
> </RequestHeader>
> </SOAP-ENV:Header>
> <SOAP-ENV:Body>
> <mutate xmlns="https://adwords.google.com/api/adwords/cm/v200909";>
> <operations>
> <operator>REMOVE</operator>
> <operand xsi:type="BiddableAdGroupCriterion">
> <bids xsi:type="ManualCPCAdGroupCriterionBids" SOAP-
> ENC:arrayType="xsd:anyType[1]">
> <maxCpc>
> <amount>
> <microAmount xsi:nil="true"/>
> </amount>
> </maxCpc>
> </bids>
> <adGroupId>36907795200000</adGroupId>
> <userStatus xsi:nil="true"/>
> <criterion xsi:type="Keyword">
> <text xsi:nil="true"/>
> <id>14899356282</id>
> <matchType>BROAD</matchType>
> </criterion>
> <destinationUrl xsi:nil="true"/>
> </operand>
> </operations>
> <operations>
> <operator>REMOVE</operator>
> <operand xsi:type="BiddableAdGroupCriterion">
> <bids xsi:type="ManualCPCAdGroupCriterionBids" SOAP-
> ENC:arrayType="xsd:anyType[1]">
> <maxCpc>
> <amount>
> <microAmount xsi:nil="true"/>
> </amount>
> </maxCpc>
> </bids>
> <adGroupId>36907795200000</adGroupId>
> <userStatus xsi:nil="true"/>
> <criterion xsi:type="Keyword">
> <text xsi:nil="true"/>
> <id>14899572282</id>
> <matchType>BROAD</matchType>
> </criterion>
> <destinationUrl xsi:nil="true"/>
> </operand>
> </operations>
> </mutate>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> 1201-112153 W P4PGoogle.pm/2243 ERROR RESPONSE:
> HTTP/1.1 200 OK
> Cache-Control: private, max-age=0
> Connection: close
> Date: Tue, 01 Dec 2009 00:21:53 GMT
> Server: GFE/2.0
> Content-Type: text/xml; charset=UTF-8
> Expires: Tue, 01 Dec 2009 00:21:53 GMT
> Client-Date: Tue, 01 Dec 2009 00:21:53 GMT
> Client-Response-Num: 1
> Client-SSL-Cert-Issuer: /C=US/O=Equifax/OU=Equifax Secure Certificate
> Authority
> Client-SSL-Cert-Subject: /C=US/ST=California/L=Mountain View/O=Google
> Inc./CN=adwords.google.com
> Client-SSL-Cipher: AES256-SHA
> Client-SSL-Warning: Peer certificate not verified
> Client-Transfer-Encoding: chunked
> X-Content-Type-Options: nosniff
> X-Frame-Options: SAMEORIGIN
> X-XSS-Protection: 0
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
> <soap:Header>
> <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/
> v200909">
> <requestId>5e72e19c21b7d51ee7e7304b27770e16</requestId>
> <operations>787</operations>
> <responseTime>172</responseTime>
> <units>787</units>
> </ResponseHeader>
> </soap:Header>
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Server</faultcode>
> <faultstring>InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ </
> faultstring>
> <detail>
> <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/
> v200909">
> <message>InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ </message>
> <ApplicationException.Type>ApiException</ApplicationException.Type>
> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:type="InternalApiError">
> <fieldPath>
> </fieldPath>
> <trigger>
> </trigger>
> <ApiError.Type>InternalApiError</ApiError.Type>
> <reason>UNEXPECTED_INTERNAL_API_ERROR</reason>
> </errors>
> </ApiExceptionFault>
> </detail>
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
>
> On Dec 1, 5:43 am, AdWords API Advisor <[email protected]>
> wrote:
>
>
>
> > Hi Fred,
>
> > Do you have the SOAP XML request and response that shows this
> > behavior?  The request ID would also suffice.
>
> > Best,
> > - Eric Koleda, AdWords API Team
>
> > On Nov 27, 12:45 am, fred <[email protected]> wrote:
>
> > > Hello,
> > > While developing our client for the v2009 API I have been doing some
> > > error condition tests.
> > > I have noticed that the 'operations' and 'units' headers come back
> > > even when requests fail.
>
> > > Some times this looks like its properly calculated. e.g. If the error
> > > is in a mutate call which adds keywords then the 'operations' matches
> > > the number of keyword objects which had the error, and the units is 15
> > > per operation. So when I submit a mutate to add 5 keywords but 2 are
> > > missing match types, then it says that 30 units were used.
>
> > > But some times it looks completely random. e.g. I submit a mutate call
> > > which deletes 3 keywords each with the same invalid adgroup id, then
> > > the error is INTERNAL ERROR and I get different values for
> > > 'operations' and 'units'. Once was 22/330, another was 14/210. So 15
> > > units per operataion, but operation count is just crud.
>
> > > So my main question is:
> > > - Are the quota 'units' reported in the header of a SOAP::Fault
> > > actually charged to our account?
>
> > > And if so, what about the buggy looking situations as shown in my
> > > second example?- Hide quoted text -
>
> > - Show quoted text -

--

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.


Reply via email to