Okay, I didn't realize you were using ColdFusion (you mentioned PHP in another post, and it's getting a little confusing with the conversation spread out over separate threads).
I don't have any experience with ColdFusion myself, but I know that there is a third-party AdWords API client library that you could try using and might simplify things: http://www.cfsolutions.de/coldfusion_adwords_api/docs/index.cfm The sequence of steps you propose sounds correct. The absolute best way to debug AdWords API issues is to turn on SOAP logging in your SOAP/client library and take a look at the XML of the request that you're sending. Does the XML being generated by the ColdFusion SOAP library for your addAdGroup() request look functionally similar to the sample XML provided in the docs? If not, you should be able to modify your ColdFusion code and immediately see what effect each change has on the XML produced until you can get something that matches what's expected. If you're sending XML that looks exactly like what's shown in the examples but your requests are still failing then that's another matter entirely, and providing the log of the SOAP response message you're receiving would be helpful for us to debug possible causes. Cheers, -Jeff Posnick, AdWords API Team On Jan 7, 1:08 pm, purdue512 <a...@hubshout.com> wrote: > Thanks Jeff. That helps. Two follow-up questions: > > 1) Are there any dependencies for building an AdGroup? My sequence is > this: > a) pulled back mock user accounts (clientemail), b) build a campaign > for one of the emails. c) pulled back the campaignid that i just built > in b and d) attempted to build an AdGroup. > > Any problems with this sequence? > > 2) Can you expand a little more on the AdGroup object part? I think > that's what I'm missing then. I am submitting the following nested > structure (in ColdFusion langauge) as a complex data type in the soap > request: > > AdGroup = StructNew(); > AdGroup.campaignId = '3943'; > AdGroup.newData = StructNew(); > AdGroup.newData.keywordMaxCpc = '100000'; > AdGroup.newData.name = 'New Ad Group Name'; > > data = myvar.addAdGroup(AdGroup); > > As you can see, there is really no treatment of AdGroup as an object. > Is this required? > > Thanks again Jeff. > > On Jan 7, 12:16 pm, AdWords API Advisor <adwordsapiadvi...@google.com> > wrote: > > > Hello, > > > The examples provided and the parameter descriptions in the > > developer's guide should be correct. > > > Neither campaignId nor id are required to be set for the newData > > parameter (despite not being explicitly marked as nillable or with a > > minOccurs in the WSDL definition of the AdGroup complexType). For any > > true AdGroup object that corresponds to an existing ad group in > > AdWords, both of those fields will always be set, but not when the ad > > group is first being created. > > > Cheers, > > -Jeff Posnick, AdWords API Team > > > On Jan 7, 10:01 am, purdue512 <a...@hubshout.com> wrote: > > > > Hi there. > > > > Your XML example for the addAdGroup method in the AdGroup service > > > shows: > > > > <!-- Creates a new ad group given an existing campaign. --> > > > <addAdGroup> > > > <campaignID>INSERT_CAMPAIGN_ID_HERE</campaignID> > > > <newData> > > > <keywordMaxCpc>100000</keywordMaxCpc> > > > <name>Sample Ad Group</name> > > > <status>Enabled</status> > > > </newData> > > > </addAdGroup> > > > > However, the v13 WSDL shows: > > > > <element name="addAdGroup"> > > > <complexType> > > > <sequence> > > > <element name="campaignID" type="xsd:int"/> > > > <element name="newData" type="impl:AdGroup"/> > > > </sequence> > > > </complexType> > > > </element> > > > > and then for AdGroup: > > > > <complexType name="AdGroup"> > > > <sequence> > > > <element name="campaignId" type="xsd:int"/> > > > <element name="id" type="xsd:long"/> > > > <element name="keywordContentMaxCpc" nillable="true" minOccurs="0" > > > type="xsd:long"/> > > > <element name="keywordMaxCpc" nillable="true" minOccurs="0" > > > type="xsd:long"/> > > > <element name="maxCpa" minOccurs="0" type="xsd:long"/> > > > <element name="name" nillable="true" type="xsd:string"/> > > > <element name="proxyKeywordMaxCpc" nillable="true" minOccurs="0" > > > type="xsd:long"/> > > > <element name="siteMaxCpc" nillable="true" minOccurs="0" > > > type="xsd:long"/> > > > <element name="siteMaxCpm" nillable="true" minOccurs="0" > > > type="xsd:long"/> > > > <element name="status" nillable="true" minOccurs="0" > > > type="impl:AdGroupStatus"/> > > > </sequence> > > > </complexType> > > > > So it would seem to me that campaignId and id are required in newdata. > > > However, your example for PHP and XML don't show that. They show > > > campaignId outside newdata and no mention of id at all. Can you > > > please clarify for me? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en -~----------~----~----~----~------~----~------~--~---