Hello,

I have empty AdGroup and following code:
        ProductPartitionTree partitionTree =
                ProductPartitionTree.createAdGroupTree(adWordsServices, 
session, data.getAdGroupId());

        ProductPartitionNode partitionNode = partitionTree.getRoot();
        ProductOfferId emptyDimensionType = new ProductOfferId();
        ProductOfferId dimensionType = ProductDimensions.createOfferId(data.
getProductId());

        partitionNode
           .asSubdivision()
           .addChild(emptyDimensionType);

        partitionNode
           .asSubdivision()
           .addChild(dimensionType)
           .setBid(partition.getBid());

        AdGroupCriterionServiceInterface adGroupCriterionService =
                adWordsServices.get(session, 
AdGroupCriterionServiceInterface.class);
        List<AdGroupCriterionOperation> operations = partitionTree.
getMutateOperations();

        if (operations.isEmpty()) {
            log.info("Skipping the mutate call because the original tree 
and the current tree "
                    + "are logically identical.");
        } else {
            adGroupCriterionService.mutate(
                    operations.toArray(new AdGroupCriterionOperation[
operations.size()]));
        }

It generates this request
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
    <soapenv:Header>
        <ns1:RequestHeader 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201802"; 
soapenv:mustUnderstand="0">
            <ns1:clientCustomerId>295-001-9695</ns1:clientCustomerId>
            <ns1:developerToken>REDACTED</ns1:developerToken>
            <ns1:userAgent>backend (AwApi-Java, AdWords-Axis/3.15.0, 
Common-Java/3.15.0, Axis/1.4, Java/1.8.0_171, maven, 
ProductPartitionTree)</ns1:userAgent>
            <ns1:validateOnly>false</ns1:validateOnly>
            <ns1:partialFailure>false</ns1:partialFailure>
        </ns1:RequestHeader>
    </soapenv:Header>
    <soapenv:Body>
        <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201802";>
            <operations>
                <operator>ADD</operator>
                <operand 
xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201802"; 
xsi:type="ns2:BiddableAdGroupCriterion">
                    <ns2:adGroupId>12345</ns2:adGroupId>
                    <ns2:criterion xsi:type="ns2:ProductPartition">
                        <ns2:id>-1</ns2:id>
                        <ns2:partitionType>SUBDIVISION</ns2:partitionType>
                    </ns2:criterion>
                </operand>
            </operations>
            <operations>
                <operator>ADD</operator>
                <operand 
xmlns:ns3="https://adwords.google.com/api/adwords/cm/v201802"; 
xsi:type="ns3:BiddableAdGroupCriterion">
                    <ns3:adGroupId>12345</ns3:adGroupId>
                    <ns3:criterion xsi:type="ns3:ProductPartition">
                        <ns3:id>-2</ns3:id>
                        <ns3:partitionType>UNIT</ns3:partitionType>
                        <ns3:parentCriterionId>-1</ns3:parentCriterionId>
                        <ns3:caseValue xsi:type="ns3:ProductOfferId">
                            <ns3:value>testAd2</ns3:value>
                        </ns3:caseValue>
                    </ns3:criterion>
                    <ns3:biddingStrategyConfiguration>
                        <ns3:bids xsi:type="ns3:CpcBid">
                            <ns3:bid>
                                <ns3:microAmount>30000</ns3:microAmount>
                            </ns3:bid>
                            <ns3:cpcBidSource>CRITERION</ns3:cpcBidSource>
                        </ns3:bids>
                    </ns3:biddingStrategyConfiguration>
                    <ns3:urlCustomParameters>
                        <ns3:doReplace>true</ns3:doReplace>
                    </ns3:urlCustomParameters>
                </operand>
            </operations>
            <operations>
                <operator>ADD</operator>
                <operand 
xmlns:ns4="https://adwords.google.com/api/adwords/cm/v201802"; 
xsi:type="ns4:BiddableAdGroupCriterion">
                    <ns4:adGroupId>12345</ns4:adGroupId>
                    <ns4:criterion xsi:type="ns4:ProductPartition">
                        <ns4:id>-3</ns4:id>
                        <ns4:partitionType>UNIT</ns4:partitionType>
                        <ns4:parentCriterionId>-1</ns4:parentCriterionId>
                        <ns4:caseValue xsi:type="ns4:ProductOfferId"/>
                    </ns4:criterion>
                    <ns4:urlCustomParameters>
                        <ns4:doReplace>true</ns4:doReplace>
                    </ns4:urlCustomParameters>
                </operand>
            </operations>
        </mutate>
    </soapenv:Body>
</soapenv:Envelope>

And this responce error:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
    <soap:Header>
        <ResponseHeader 
xmlns="https://adwords.google.com/api/adwords/cm/v201802";>
            <requestId>00056e3107c457110a371215e70a3b8b</requestId>
            <serviceName>AdGroupCriterionService</serviceName>
            <methodName>mutate</methodName>
            <operations>3</operations>
            <responseTime>188</responseTime>
        </ResponseHeader>
    </soap:Header>
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Client</faultcode>
            <faultstring>[RequiredError.REQUIRED @ 
operations[2].operand.biddingStrategyConfiguration, 
AdGroupCriterionError.PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE @ 
operations; trigger:'ProductPartition{id=TempCriterionId{id=1}, 
bidSimulatorStatus=null, partitionType=SUBDIVISION, parentCriterionId=null, 
productGroup=null, productGroupObsoleteStatus=null, caseValue=null, 
decisionPath=[], salesCountry=null, merchantId=null, 
hasPromotedSuggestion=null}']</faultstring>
            <detail>
                <ApiExceptionFault 
xmlns="https://adwords.google.com/api/adwords/cm/v201802";>
                    <message>[RequiredError.REQUIRED @ 
operations[2].operand.biddingStrategyConfiguration, 
AdGroupCriterionError.PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE @ 
operations; trigger:'ProductPartition{id=TempCriterionId{id=1}, 
bidSimulatorStatus=null, partitionType=SUBDIVISION, parentCriterionId=null, 
productGroup=null, productGroupObsoleteStatus=null, caseValue=null, 
decisionPath=[], salesCountry=null, merchantId=null, 
hasPromotedSuggestion=null}']</message>
                    
<ApplicationException.Type>ApiException</ApplicationException.Type>
                    <errors 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="RequiredError">
                        
<fieldPath>operations[2].operand.biddingStrategyConfiguration</fieldPath>
                        <fieldPathElements>
                            <field>operations</field>
                            <index>2</index>
                        </fieldPathElements>
                        <fieldPathElements>
                            <field>operand</field>
                        </fieldPathElements>
                        <fieldPathElements>
                            <field>biddingStrategyConfiguration</field>
                        </fieldPathElements>
                        <trigger/>
                        <errorString>RequiredError.REQUIRED</errorString>
                        <ApiError.Type>RequiredError</ApiError.Type>
                        <reason>REQUIRED</reason>
                    </errors>
                    <errors 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="AdGroupCriterionError">
                        <fieldPath>operations</fieldPath>
                        <fieldPathElements>
                            <field>operations</field>
                        </fieldPathElements>
                        <trigger>ProductPartition{id=TempCriterionId{id=1}, 
bidSimulatorStatus=null, partitionType=SUBDIVISION, parentCriterionId=null, 
productGroup=null, productGroupObsoleteStatus=null, caseValue=null, 
decisionPath=[], salesCountry=null, merchantId=null, 
hasPromotedSuggestion=null}</trigger>
                        
<errorString>AdGroupCriterionError.PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE</errorString>
                        <ApiError.Type>AdGroupCriterionError</ApiError.Type>
                        
<reason>PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE</reason>
                    </errors>
                </ApiExceptionFault>
            </detail>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>


Tell me please how can I create "Others case" and exclude it?

Best regards.


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads 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 and Google Ads 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/6176f618-3e84-4fb6-913d-acc1a07b2297%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • ... Константин Латыпов
    • ... 'Bharani Cherukuri (AdWords API Team)' via AdWords API and Google Ads API Forum
      • ... Константин Латыпов
    • ... 'Bharani Cherukuri (AdWords API Team)' via AdWords API and Google Ads API Forum

Reply via email to