Hi Ben,
The cause of this error is that you are not specifying a type for the
CampaignCriterion (the operand element in this case).
CampaignCriterion is like an abstract type (although it can be used
when deleting criteria), and you need to specify a concrete type when
adding your criteria. The only subtype is currently
NegativeCampaignCriterion, which is what you want. The request would
look like:
<soap:Body>
<mutate xmlns="https://adwords.google.com/api/adwords/cm/
v200906">
<operations>
<operator>ADD</operator>
<operand xsi:type="NegativeCampaignCriterion">
<campaignId>XXXXX</campaignId>
<criterion xsi:type="Keyword">
<text>career</text>
<matchType>BROAD</matchType>
</criterion>
</operand>
</operations>
...
</mutate>
</soap:Body>
Best,
- Eric Koleda, AdWords API Team
On Sep 21, 6:37 pm, "Ben Brooks" <[email protected]> wrote:
> I am having trouble adding negative keywords to a campaign in the new 2009
> API. If I specify the type it doesn't affect anything.
>
> Any help is appreciated.
>
> Ben.
>
> Here is my request:
>
> <soap:Body>
>
> <mutate xmlns="https://adwords.google.com/api/adwords/cm/v200906">
>
> <operations>
>
> <operator>ADD</operator>
>
> <operand>
>
> <campaignId>XXXXX</campaignId>
>
> <criterion xsi:type="Keyword">
>
> <text>career</text>
>
> <matchType>BROAD</matchType>
>
> </criterion>
>
> </operand>
>
> </operations>
>
> <operations>
>
> <operator>ADD</operator>
>
> <operand>
>
> <campaignId>XXXXXX</campaignId>
>
> <criterion xsi:type="Keyword">
>
> <text>hiring</text>
>
> <matchType>BROAD</matchType>
>
> </criterion>
>
> <CampaignCriterion.Type>Keyword</CampaignCriterion.Type>
>
> </operand>
>
> </operations>
>
> <operations>
>
> <operator>ADD</operator>
>
> <operand>
>
> <campaignId>49430996</campaignId>
>
> <criterion xsi:type="Keyword">
>
> <text>interns</text>
>
> <matchType>BROAD</matchType>
>
> </criterion>
>
> <CampaignCriterion.Type>Keyword</CampaignCriterion.Type>
>
> </operand>
>
> </operations>
>
> <operations>
>
> <operator>ADD</operator>
>
> <operand>
>
> <campaignId>49430996</campaignId>
>
> <criterion xsi:type="Keyword">
>
> <text>job</text>
>
> <matchType>BROAD</matchType>
>
> </criterion>
>
> </operand>
>
> </operations>
>
> </mutate>
>
> </soap:Body>
>
> </soap:Envelope>
>
> Here is my response:
>
> <ApiExceptionFault
> xmlns="https://adwords.google.com/api/adwords/cm/v200906">
>
> <message>[CampaignCriterionError.CONCRETE_TYPE_REQUIRED @
> operations[3].operand, CampaignCriterionError.CONCRETE_TYPE_REQUIRED @
> operations[1].operand, CampaignCriterionError.CONCRETE_TYPE_REQUIRED @
> operations[4].operand, CampaignCriterionError.CONCRETE_TYPE_REQUIRED @
> operations[5].operand, CampaignCriterionError.CONCRETE_TYPE_REQUIRED @
> operations[2].operand, CampaignCriterionError.CONCRETE_TYPE_REQUIRED @
> operations[0].operand]</message>
>
> <ApplicationException.Type>ApiException</ApplicationException.Type>
>
> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:type="CampaignCriterionError">
>
> <fieldPath>operations[3].operand</fieldPath>
>
> <trigger>
>
> </trigger>
>
> <ApiError.Type>CampaignCriterionError</ApiError.Type>
>
> <reason>CONCRETE_TYPE_REQUIRED</reason>
>
> </errors>
>
> Ben Brooks
> .Net Developer
>
> e: <mailto:[email protected]> [email protected]
> t: 801.610.2500 x.4317
> f: 801.610.2501
>
> image001.jpg
> 1KViewDownload
>
> image002.jpg
> 6KViewDownload
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---