Hi,

Following are the request to create a product partition with two level. 

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201809"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
    <SOAP-ENV:Header>
        <ns1:RequestHeader>
            <ns1:clientCustomerId></ns1:clientCustomerId>
            <ns1:developerToken>REDACTED</ns1:developerToken>
            <ns1:userAgent>unknown (AwApi-PHP, googleads-php-lib/37.1.0, 
PHP/5.6.40)</ns1:userAgent>
            <ns1:validateOnly>false</ns1:validateOnly>
            <ns1:partialFailure>false</ns1:partialFailure>
        </ns1:RequestHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:mutate>
            <ns1:operations>
                <ns1:operator>ADD</ns1:operator>
                <ns1:operand xsi:type="ns1:BiddableAdGroupCriterion">
                    <ns1:adGroupId></ns1:adGroupId>
                    <ns1:criterion xsi:type="ns1:ProductPartition">
                        <ns1:id>-1</ns1:id>
                        <ns1:partitionType>SUBDIVISION</ns1:partitionType>
                    </ns1:criterion>
                </ns1:operand>
            </ns1:operations>
            <ns1:operations>
                <ns1:operator>ADD</ns1:operator>
                <ns1:operand xsi:type="ns1:BiddableAdGroupCriterion">
                    <ns1:adGroupId></ns1:adGroupId>
                    <ns1:criterion xsi:type="ns1:ProductPartition">
                        <ns1:id>-2</ns1:id>
                        <ns1:partitionType>SUBDIVISION</ns1:partitionType>
                        <ns1:parentCriterionId>-1</ns1:parentCriterionId>
                        <ns1:caseValue xsi:type="ns1:ProductChannel">
                            
<ns1:ProductDimension.Type>CHANNEL</ns1:ProductDimension.Type>
                            <ns1:channel>online</ns1:channel>
                        </ns1:caseValue>
                    </ns1:criterion>
                </ns1:operand>
            </ns1:operations>
            <ns1:operations>
                <ns1:operator>ADD</ns1:operator>
                <ns1:operand xsi:type="ns1:BiddableAdGroupCriterion">
                    <ns1:adGroupId></ns1:adGroupId>
                    <ns1:criterion xsi:type="ns1:ProductPartition">
                        <ns1:partitionType>UNIT</ns1:partitionType>
                        <ns1:parentCriterionId>-1</ns1:parentCriterionId>
                        <ns1:caseValue xsi:type="ns1:ProductBrand">
                            <ns1:value>class</ns1:value>
                        </ns1:caseValue>
                    </ns1:criterion>
                    <ns1:biddingStrategyConfiguration>
                        <ns1:bids xsi:type="ns1:CpcBid">
                            <ns1:bid>
                                <ns1:microAmount>100000</ns1:microAmount>
                            </ns1:bid>
                        </ns1:bids>
                    </ns1:biddingStrategyConfiguration>
                </ns1:operand>
            </ns1:operations>
            <ns1:operations>
                <ns1:operator>ADD</ns1:operator>
                <ns1:operand xsi:type="ns1:BiddableAdGroupCriterion">
                    <ns1:adGroupId></ns1:adGroupId>
                    <ns1:criterion xsi:type="ns1:ProductPartition">
                        <ns1:partitionType>UNIT</ns1:partitionType>
                        <ns1:parentCriterionId>-1</ns1:parentCriterionId>
                        <ns1:caseValue xsi:type="ns1:ProductBrand"/>
                    </ns1:criterion>
                    <ns1:biddingStrategyConfiguration>
                        <ns1:bids xsi:type="ns1:CpcBid">
                            <ns1:bid>
                                <ns1:microAmount>100000</ns1:microAmount>
                            </ns1:bid>
                        </ns1:bids>
                    </ns1:biddingStrategyConfiguration>
                </ns1:operand>
            </ns1:operations>
            <ns1:operations>
                <ns1:operator>ADD</ns1:operator>
                <ns1:operand xsi:type="ns1:BiddableAdGroupCriterion">
                    <ns1:adGroupId></ns1:adGroupId>
                    <ns1:criterion xsi:type="ns1:ProductPartition">
                        <ns1:partitionType>UNIT</ns1:partitionType>
                        <ns1:parentCriterionId>-2</ns1:parentCriterionId>
                        <ns1:caseValue xsi:type="ns1:ProductChannel">
                            
<ns1:ProductDimension.Type>CHANNEL</ns1:ProductDimension.Type>
                            <ns1:channel>local</ns1:channel>
                        </ns1:caseValue>
                    </ns1:criterion>
                    <ns1:biddingStrategyConfiguration>
                        <ns1:bids xsi:type="ns1:CpcBid">
                            <ns1:bid>
                                <ns1:microAmount>100000</ns1:microAmount>
                            </ns1:bid>
                        </ns1:bids>
                    </ns1:biddingStrategyConfiguration>
                </ns1:operand>
            </ns1:operations>
            <ns1:operations>
                <ns1:operator>ADD</ns1:operator>
                <ns1:operand xsi:type="ns1:BiddableAdGroupCriterion">
                    <ns1:adGroupId></ns1:adGroupId>
                    <ns1:criterion xsi:type="ns1:ProductPartition">
                        <ns1:partitionType>UNIT</ns1:partitionType>
                        <ns1:parentCriterionId>-2</ns1:parentCriterionId>
                        <ns1:caseValue xsi:type="ns1:ProductChannel">
                            
<ns1:ProductDimension.Type>CHANNEL</ns1:ProductDimension.Type>
                        </ns1:caseValue>
                    </ns1:criterion>
                    <ns1:biddingStrategyConfiguration>
                        <ns1:bids xsi:type="ns1:CpcBid">
                            <ns1:bid>
                                <ns1:microAmount>100000</ns1:microAmount>
                            </ns1:bid>
                        </ns1:bids>
                    </ns1:biddingStrategyConfiguration>
                </ns1:operand>
            </ns1:operations>
        </ns1:mutate>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>



This is the error I'm getting.

Fatal error: Uncaught exception 
'Google\AdsApi\AdWords\v201809\cm\ApiException' with message 
'[DistinctError.DUPLICATE_TYPE @ operations[4].operand.criterion.caseValue; 
trigger:'ProductChannel{type=CHANNEL, value=null}', 
DistinctError.DUPLICATE_TYPE @ operations[5].operand.criterion.caseValue; 
trigger:'ProductChannel{type=CHANNEL, value=null}', 
AdGroupCriterionError.PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE @ 
operations; trigger:'ProductPartition{id=TempCriterionId{id=2}, 
bidSimulatorStatus=null, partitionType=SUBDIVISION, 
parentCriterionId=TempCriterionId{id=1}, productGroup=null, 
productGroupObsoleteStatus=null, caseValue=ProductChannel{type=CHANNEL, 
value=null}, decisionPath=[ProductChannel{type=CHANNEL, value=null}], 
salesCountry=null, merchantId=null, hasPromotedSuggestion=null}']' in 
C:\wamp64\www\peral\vendor\googleads\googleads-php-lib\src\Google\AdsApi\Common\Util\Reflection.php
 
on line *43*


*I'm stuck with this issue for a week. lot of trials and worked nothing. I 
just checked the smpale file from github and it's getting errors too.*

*I need this as early as possible. *

*Thanks in advance.*

*Sample code, in php, will be appreciated greatly.*

*NB: account id and adgroup id removed from the log.*

*/**Code*/*/*











































*$root = ProductPartitions::createSubdivision();        $criterion = 
ProductPartitions::asBiddableAdGroupCriterion($adGroupId, $root);        
$operation = ProductPartitions::createAddOperation($criterion);        
$operations[] = $operation;                                    
                $node = 
ProductPartitions::createSubdivision();                
$node->setParentCriterionId($root->getId());                
$node->setCaseValue(new 
ProductChannel(ProductDimensionType::CHANNEL,'online'));                
//                $node->setType('CUSTOM_ATTRIBUTE_0');        $criterion = 
ProductPartitions::asBiddableAdGroupCriterion($adGroupId, $node);        
$operation = ProductPartitions::createAddOperation($criterion);        
$operations[] = $operation;                                    //root begin 
                $cheapBrand = new ProductBrand();        
$cheapBrand->setValue('class');        $cheapBrandUnit = 
ProductPartitions::createUnit($root, $cheapBrand);        $criterion = 
ProductPartitions::asBiddableAdGroupCriterion($adGroupId,$cheapBrandUnit,100000);
    
    $operation = ProductPartitions::createAddOperation($criterion);        
$operations[] = $operation;                                $otherCondition 
= ProductPartitions::createUnit($root, new ProductBrand(null));        
$criterion = 
ProductPartitions::asBiddableAdGroupCriterion($adGroupId,$otherCondition, 
100000);        $operation = 
ProductPartitions::createAddOperation($criterion);        $operations[] = 
$operation;                                //root 
end                                                //node 
begin                                $cheapBrand = new ProductChannel();    
    $cheapBrand->setChannel('local');                
$cheapBrand->setProductDimensionType(ProductDimensionType::CHANNEL);        
$cheapBrandUnit = ProductPartitions::createUnit($node, $cheapBrand);        
$criterion = 
ProductPartitions::asBiddableAdGroupCriterion($adGroupId,$cheapBrandUnit,100000);
    
    $operation = ProductPartitions::createAddOperation($criterion);        
$operations[] = $operation;                                $otherCondition 
= ProductPartitions::createUnit($node, new 
ProductChannel(ProductDimensionType::CHANNEL,null));        $criterion = 
ProductPartitions::asBiddableAdGroupCriterion($adGroupId,$otherCondition, 
100000);        $operation = 
ProductPartitions::createAddOperation($criterion);        $operations[] = 
$operation;                                //node end                  *

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/7ce2a08c-0e74-48bc-a3b9-e7ce91cdb548%40googlegroups.com.

Reply via email to