AdwordsUserListService : CONCRETE_TYPE_REQUIRED

86 views
Skip to first unread message

Debashis Pradhan

unread,
Jan 2, 2020, 2:35:34 AM1/2/20
to AdWords API and Google Ads API Forum

I am facing an issue while creating a customer audience list using Adwords API. I get the response error as CONCRETE_TYPE_REQUIRED.
According to the documentation, Concrete type of user list (logical v.s. remarketing) is required for ADD and SET operations, but its not clear where I have missed this.

Any resolution or pointers on this error is appreciated.

Below is Request and Response :

SOAP Request:


   <soapenv:Header>
      <v20:RequestHeader>
         <!--Optional:-->
         <v201:clientCustomerId>xxx</v201:clientCustomerId>
         <!--Optional:-->
         <v201:developerToken>xxx</v201:developerToken>
         <!--Optional:-->
         <v201:userAgent>test:xxx:xxx</v201:userAgent>
         <!--Optional:-->
         <v201:validateOnly>false</v201:validateOnly>
         <!--Optional:-->
         <v201:partialFailure>false</v201:partialFailure>
      </v20:RequestHeader>
   </soapenv:Header>
   <soapenv:Body>
      <v20:mutate>
         <!--Zero or more repetitions:-->
         <v20:operations>
            <!--Optional:-->
            <v201:operator>ADD</v201:operator>
            <!--Optional:-->
            <v20:operand>
               <!--Optional:-->
               <v20:isReadOnly>false</v20:isReadOnly>
               <!--Optional:-->
               <v20:name>soap customers</v20:name>
               <!--Optional:-->
               <v20:description>uploaded using SOAP API</v20:description>
               <!--Optional:-->
               <v20:status>OPEN</v20:status>
               <!--Optional:-->
               <v20:integrationCode>1</v20:integrationCode>
               <!--Optional:-->
               <v20:accessReason>OWNED</v20:accessReason>
               <!--Optional:-->
               <v20:accountUserListStatus>ACTIVE</v20:accountUserListStatus>
               <!--Optional:-->
               <v20:membershipLifeSpan>10000</v20:membershipLifeSpan>
               <!--Optional:-->
               <v20:listType>CRM_BASED</v20:listType>
               <!--Optional:-->
               <v20:isEligibleForSearch>true</v20:isEligibleForSearch>
            </v20:operand>
         </v20:operations>
      </v20:mutate>
   </soapenv:Body>
</soapenv:Envelope>

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header>
         <requestId>00059b233907e5740a7f1698b600713d</requestId>
         <serviceName>AdwordsUserListService</serviceName>
         <methodName>mutate</methodName>
         <operations>1</operations>
         <responseTime>184</responseTime>
      </ns2:ResponseHeader>
   </soap:Header>
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Client</faultcode>
         <faultstring>[UserListError.CONCRETE_TYPE_REQUIRED @ operations[0].operand]</faultstring>
         <detail>
               <message>[UserListError.CONCRETE_TYPE_REQUIRED @ operations[0].operand]</message>
               <ApplicationException.Type>ApiException</ApplicationException.Type>
               <errors xsi:type="ns2:UserListError" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                  <fieldPath>operations[0].operand</fieldPath>
                  <fieldPathElements>
                     <field>operations</field>
                     <index>0</index>
                  </fieldPathElements>
                  <fieldPathElements>
                     <field>operand</field>
                  </fieldPathElements>
                  <trigger/>
                  <errorString>UserListError.CONCRETE_TYPE_REQUIRED</errorString>
                  <ApiError.Type>UserListError</ApiError.Type>
                  <ns2:reason>CONCRETE_TYPE_REQUIRED</ns2:reason>
               </errors>
            </ns2:ApiExceptionFault>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Debashis Pradhan

unread,
Jan 2, 2020, 5:04:15 AM1/2/20
to AdWords API and Google Ads API Forum
Fixed by adding the type in operand.

<v20:operand xsi:type="v20:BasicUserList" >

For others reference.
Reply all
Reply to author
Forward
0 new messages