<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://adcentercommunity.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>adCenter API</title><link>http://adcentercommunity.com/blogs/api/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Debug Build: 20917.1142)</generator><item><title>Scheduled Maintenance on June 23 and June 28</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/20/scheduled-maintenance-on-june-23-and-june-28.aspx</link><pubDate>Fri, 20 Jun 2008 22:45:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1664</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1664</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/20/scheduled-maintenance-on-june-23-and-june-28.aspx#comments</comments><description>&lt;p&gt;Upgrades on Sandbox and Production services next week might result in some impacts to API customers.&lt;/p&gt; &lt;p&gt;On Monday, June 23rd, an upgrade on the adCenter API Sandbox service is scheduled from 1 p.m. to 2 p.m. PST. &lt;/p&gt; &lt;p&gt;On Saturday, June 28th, an upgrade on the production service is scheduled from 7 p.m. to 8 p.m. PST.&lt;/p&gt; &lt;p&gt;The upgrades might impact signups, updates to accounts, and self-serve billing. Threshold or anniversary billing won&amp;#39;t occur during this time.&lt;/p&gt; &lt;p&gt;If you have questions about the work, post them here or in the &lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=901&amp;amp;SiteID=1"&gt;adCenter API forums&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thank you for using adCenter.&lt;/p&gt; &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1664" width="1" height="1"&gt;</description></item><item><title>PDC Announcements of Interest for Developers Working on adCenter API</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/19/pdc-announcements-of-interest-for-developers-working-on-adcenter-api.aspx</link><pubDate>Fri, 20 Jun 2008 02:50:53 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1624</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1624</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/19/pdc-announcements-of-interest-for-developers-working-on-adcenter-api.aspx#comments</comments><description>&lt;p&gt;I just got some info about the Microsoft PDC this fall. adCenter API Developers might be interested.  &lt;p&gt;&lt;a href="http://www.microsoftpdc.com/"&gt;http://www.microsoftpdc.com/&lt;/a&gt;  &lt;p&gt;PDC is about the future and is the event to attend. Just read what &lt;a href="http://blogs.msdn.com/jonbox/archive/2008/06/13/pdc-2008-the-event-to-attend-in-2008.aspx"&gt;Jon Box&lt;/a&gt; says, &amp;quot;In my opinion, if I was going to choose one technical event to attend in any year, my first choice will always be the PDC. That&amp;#39;s where I became aware of DCOM and ASP, before they came out. That was the year when I first saw Don Box. [&lt;a href="http://www.microsoftpdc.com/View.aspx?post=91d46819-8472-40ad-a661-2c78acb4018c:8622882"&gt;more...&lt;/a&gt;] Others agree. Follow &lt;a href="http://andrewconnell.com/blog/archive/2005/06/12/1408.aspx"&gt;Andrew Connell&lt;/a&gt; as he blogs his way to the PDC. Technical Fellow &lt;a href="http://blogs.msdn.com/bharry/archive/2008/06/16/pdc-2008-precons.aspx"&gt;Brian Harry&lt;/a&gt; has announced that the VSTS product team will be talking about what is coming in the Team System release code named &amp;quot;Rosario&amp;quot; and evangelists have flooded the net with posts about Rosario and Brian Randell&amp;#39;s pre-con. &lt;a href="http://blogs.msdn.com/wsalazar/archive/2008/06/14/vsts-2008-pre-con-at-pdc2008.aspx"&gt;William H. Salazar&lt;/a&gt; posted similar news and joined &lt;a href="http://blogs.msdn.com/briankel/archive/2008/06/13/register-to-attend-the-visual-studio-team-system-pre-con-at-pdc2008.aspx"&gt;Brian Keller&lt;/a&gt; as they pointed out Brian Randell&amp;#39;s . [&lt;a href="http://www.microsoftpdc.com/View.aspx?post=91d46819-8472-40ad-a661-2c78acb4018c:8622882"&gt;more...&lt;/a&gt;] The news is out. PDC2008 is happening. The buzz can be found on blogs by &lt;a href="http://www.managed-world.com/2008/06/10/OpenSpaceAtPDC2008.aspx"&gt;Jason Olson&lt;/a&gt; and &lt;a href="http://softwareblogs.intel.com/2008/06/05/microsoft-velocity-distributed-cache/"&gt;Doug Holland&lt;/a&gt;. Jason Olson&amp;#39;s announcement about Open Space drew the attention of Open Space originator Harrison Owen and &lt;a href="http://www.jackmartinleith.com/?p=231"&gt;Jack Martin Leith&lt;/a&gt; commented, &amp;quot;For those who want evidence that Open Space has moved from the fringes to the mainstream, this must surely be it.&amp;quot;. [&lt;a href="http://www.microsoftpdc.com/View.aspx?post=91d46819-8472-40ad-a661-2c78acb4018c:8622882"&gt;more...&lt;/a&gt;] And, two more shameless self-promotion plugs for the &lt;a href="http://microsoftpdc.com/Social/Contest/ShowOff.aspx"&gt;Show Off contest&lt;/a&gt; came from &lt;a href="http://blogs.msdn.com/briankel/archive/2008/06/12/come-show-off-at-pdc2008.aspx"&gt;Brian Keller&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/shows/This+Week+On+Channel+9/This-Week-on-Channel-9-Clint-Rutkas-stops-by-Project-Velocity-Live-Writer-SDK-C9-bytes-on-IIS-70-and/"&gt;Dan Fernandez&lt;/a&gt;. Rumor has it they have some great posters and blog bling coming out soon.  &lt;p&gt;&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1624" width="1" height="1"&gt;</description></item><item><title>How To Set No End Date for an Ad Group in adCenter API version 5.1</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/19/how-to-set-no-end-date-for-an-ad-group.aspx</link><pubDate>Thu, 19 Jun 2008 16:39:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1584</guid><dc:creator>Strohm Armstrong - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1584</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/19/how-to-set-no-end-date-for-an-ad-group.aspx#comments</comments><description>&lt;p&gt;-&lt;/p&gt;
&lt;p&gt;When creating an ad group with version 5.1 of the adCenter API, you can specify that the ad group has no end date by passing null for the EndDate element, but if you pass null for the EndDate element when calling the &lt;a href="http://msdn.microsoft.com/en-us/library/bb671535.aspx" target="_blank"&gt;UpdateAdGroups&lt;/a&gt; service operation, the existing EndDate value is not modified. So how do you modify an existing ad group to have no end date? &lt;/p&gt;
&lt;p&gt;A change was recently made to adCenter API version 5.1 to support updating an ad group to have no end date. When calling the &lt;a href="http://msdn.microsoft.com/en-us/library/bb671535.aspx" target="_blank"&gt;UpdateAdGroups&lt;/a&gt; service operation, simply set the EndDate element to a date that is equal to or later than January 2nd, 2050. adCenter will interpret this as specifying no end date for the ad group and take the appropriate action.&lt;/p&gt;
&lt;p&gt;Strohm Armstrong&lt;br /&gt;Programming Writer&lt;br /&gt;adCenter API&lt;/p&gt;
&lt;p&gt;P.S. Don&amp;#39;t forget that adCenter API version 4 will no longer be available after August 14th, 2008. You should be migrating your adCenter code to version 5.1 to avoid any interruptions of service.&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1584" width="1" height="1"&gt;</description><category domain="http://adcentercommunity.com/blogs/api/archive/tags/Tips/default.aspx">Tips</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/API/default.aspx">API</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/adCenter+API/default.aspx">adCenter API</category></item><item><title>A request for the community: adCenter API code in Python?</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/17/a-request-for-the-community-adcenter-api-code-in-python.aspx</link><pubDate>Tue, 17 Jun 2008 21:06:48 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1546</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1546</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/17/a-request-for-the-community-adcenter-api-code-in-python.aspx#comments</comments><description>&lt;p&gt;One of the adCenter API developers, JohnJ, recently posted a request in the API forums for advice on using a python module to use the adCenter API.&lt;/p&gt; &lt;p&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3486981&amp;amp;SiteID=1"&gt;API access using python &lt;/a&gt;&lt;/p&gt; &lt;p&gt;The API documentation does not discuss the use of the Python Programming Language. I checked with our documentation lead who said the team is not currently working on Python documentation. Also, I haven&amp;#39;t seen any posts or heard of other customers who are using the API with Python. Therefore, I thought I would highlight JohnJ&amp;#39;s request on the blog in case any of the readers in the API dev community happen to have tried Python and have advice to share.&lt;/p&gt; &lt;p&gt;Thank you,&lt;/p&gt; &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1546" width="1" height="1"&gt;</description></item><item><title>adCenter API Documentation for Offline Use</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/17/adcenter-api-documentation-for-offline-use.aspx</link><pubDate>Tue, 17 Jun 2008 18:29:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1535</guid><dc:creator>Walter Poupore - MSFT</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1535</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/17/adcenter-api-documentation-for-offline-use.aspx#comments</comments><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/aa983013.aspx"&gt;&lt;font color="#0000ff"&gt;Microsoft adCenter API&lt;/font&gt;&lt;/a&gt; documentation on MSDN is the latest documentation for the API.&lt;/p&gt;
&lt;p&gt;We&amp;#39;re also providing you with the attached Help file, that would allow you to view Help offline. In addition to allowing you to view Help offline, the attached Help file allows you to print topics (including topic nodes), and includes Help search functionality. &lt;/p&gt;
&lt;p&gt;Note that the attached Help file requires Windows. Also, the Help file is provided As Is. We won&amp;#39;t be able to troubleshoot issues (if any) you have installing and using the Help file. If the Help file doesn&amp;#39;t work for your environment, you can always use the adCenter API Help on MSDN.&lt;/p&gt;
&lt;p&gt;If you use this attached Help file, it is your responsibility to ensure that you update your copy of the attached Help file&amp;nbsp; when the adCenter API documentation on MSDN is updated. When adCenter API doc updates occur on MSDN, the attachment available here will also be updated (but you&amp;#39;ll need to copy it to your computer manually). &lt;/p&gt;
&lt;p&gt;You can compare the &amp;quot;What&amp;#39;s New in the SDK for Microsoft adCenter API&amp;quot; topic in the attached Help file and &lt;a href="http://msdn.microsoft.com/en-us/library/bb671736.aspx"&gt;&lt;font color="#0000ff"&gt;What&amp;#39;s New in the SDK for Microsoft adCenter API&lt;/font&gt;&lt;/a&gt; on MSDN to determine if you are using the most current offline Help file.&lt;/p&gt;
&lt;p&gt;To download the CHM, scroll down in this page to right above the Comments section. &lt;/p&gt;
&lt;p&gt;There you will see &amp;quot;Attachment: adCenterAPI.zip&amp;quot;. Download adCenterAPI.zip, unzip it, and you will have the Help file, adCenterAPI.chm.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;p&gt;Walter Poupore&lt;br /&gt;Lead Programming Writer&lt;br /&gt;Microsoft adCenter API&lt;/p&gt;
&lt;p&gt;If you have questions or comments, you can discuss this article in the API forums: 
&lt;table class="" cellspacing="0" cellpadding="1"&gt;

&lt;tr&gt;
&lt;td class="txt3Bold" style="WIDTH:100%;" class="txt3Bold"&gt;&lt;a class="lnk3" title="" href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3499240&amp;amp;SiteID=1"&gt;Blog Post: Viewing adCenter API Help offline and printing Help to... &lt;/a&gt;&lt;/td&gt;
&lt;td class="" align="right"&gt;&lt;img alt="" src="http://forums.microsoft.com/msdn/emoticons/PostAttributeIMG/Spacer.gif" /&gt;&lt;img alt="" src="http://forums.microsoft.com/msdn/emoticons/PostAttributeIMG/Spacer.gif" /&gt;&lt;/td&gt;
&lt;td class="txt4r" class="txt4r"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="txt5l" class="txt5l"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1535" width="1" height="1"&gt;</description><enclosure url="http://adcentercommunity.com/blogs/api/attachment/1535.ashx" length="4109800" type="application/x-zip-compressed" /></item><item><title>adCenter API Live Meeting July 15th at 1 p.m. PST. </title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/16/new-time-adcenter-api-monthly-live-meeting-at-10-a-m-pst-tuesday.aspx</link><pubDate>Mon, 16 Jun 2008 17:11:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1514</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1514</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/16/new-time-adcenter-api-monthly-live-meeting-at-10-a-m-pst-tuesday.aspx#comments</comments><description>&lt;p&gt;Please join us. The adCenter API Live Meeting session is at 10 a.m. tomorrow, Tuesday, June 17th. The earlier time is to accommodate some of our European customers who were having to log on late at night for the sessions.&lt;/p&gt;
&lt;p&gt;The deadline for updating all API code is August 14th. These monthly Live Meeting sessions give you a chance to talk with the program manager or members of the development team and ask questions. The team also provides an overview of changes in functionality and updates required.&lt;/p&gt;
&lt;p&gt;This month, we&amp;#39;ll talk more about the changes required by June 29th for customers who were already on Version 5. We will also cover the necessary updates to prepare for the retirement of API v4 on August 14th.&lt;/p&gt;
&lt;p&gt;adCenter API Live Meeting Sessions are held on the third Tuesday of every month. They are recorded and saved on the adCenter API blog &lt;a title="http://www.adcentercommunity.com/blogs/api/" href="http://www.adcentercommunity.com/blogs/api/"&gt;http://www.adcentercommunity.com/blogs/api/&lt;/a&gt;. 
&lt;p&gt;If you have questions that you&amp;#39;d like the team to address, post them in the comments on the blog or in this thread: &lt;a title="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3492626&amp;amp;SiteID=1" href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3492626&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3492626&amp;amp;SiteID=1&lt;/a&gt; 
&lt;p&gt;You can listen to the Live Meetings online, and submit questions via the Live Meeting chat. We will also open a conference call and post the number in the Live Meeting, for those who prefer to call in and listen or talk with the team via phone. 
&lt;p&gt;If you have not used Live Meeting before, we recommend visiting &lt;a href="https://www.livemeeting.com/cc/microsoft/join?id=P96SDC&amp;amp;role=attend&amp;amp;pw=AdCenOH"&gt;API Version 5 Live Meeting&lt;/a&gt; a few minutes before the session begins to complete any required installation steps.&lt;/p&gt;
&lt;p&gt;Our next webcast will be on July 15th at 1 p.m. PST. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;br /&gt;To learn more about Version 5.1 features, see the &lt;a href="http://msdn.microsoft.com/en-us/library/cc580684.aspx"&gt;Microsoft adCenter API Version 5.1 Release Notes&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb671736.aspx"&gt;What&amp;#39;s New in the SDK for Microsoft adCenter API&lt;/a&gt;. If you have questions, please post to the forums: &lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=901&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=901&amp;amp;SiteID=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our next webcast will be on July 15th at 1 p.m. PST. If you would like more opportunities for Live Meeting discussions between now and the August update deadline, please let us know.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-Chris&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1514" width="1" height="1"&gt;</description></item><item><title>V5.1 Ad Group Targeting Sample in PHP</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/12/v5-1-ad-group-targeting-sample-in-php.aspx</link><pubDate>Thu, 12 Jun 2008 22:51:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1458</guid><dc:creator>Walter Poupore - MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1458</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/12/v5-1-ad-group-targeting-sample-in-php.aspx#comments</comments><description>&lt;p&gt;Hello. 
&lt;p&gt;Below is an ad group&amp;nbsp;targeting sample written in PHP that uses the V5.1 Campaign Management Web service. We&amp;#39;ll include this sample in a future MSDN release. 
&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/bb671789.aspx"&gt;Target Class&lt;/a&gt; allows you to specify target options for age ranges, days of the week, gender, hour ranges, and location. This specific sample shows how to incrementally bid for specific age ranges. Other target options would use a similar technique. 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;?php &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;// This program requires the following PHP extensions:&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; php_soap.dll&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; php_openssl.dll &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;// To ensure that a cached WSDL is not being used,&lt;br /&gt;// disable WSDL caching.&lt;br /&gt;ini_set(&amp;quot;soap.wsdl_cache_enabled&amp;quot;, &amp;quot;0&amp;quot;); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;try&lt;br /&gt;{ &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $adGroupId = 50927722;&amp;nbsp; //Application-specific value. &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Use either the sandbox or production URI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // This example is for the sandbox URI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $URI =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/font&gt;&lt;font color="#0000ff"&gt;https://sandboxapi.adcenter.microsoft.com/api/advertiser/v5.1/&amp;quot;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The following commented-out line contains the production URI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //$URI = &amp;quot;&lt;/font&gt;&lt;font color="#0000ff"&gt;https://adcenterapi.microsoft.com/api/advertiser/v5.1/&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The adCenter API namespace.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns = &amp;quot;&lt;/font&gt;&lt;font color="#0000ff"&gt;https://adcenter.microsoft.com/api/advertiser/v5&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The proxy for the Campaign Management Web service.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $campaignProxy = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $URI . &amp;quot;CampaignManagement/CampaignManagementService.svc?wsdl&amp;quot;; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The name of the service operation that will be called.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $action = &amp;quot;AddTarget&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The user name, password, and developer token are &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // expected to be passed in as command-line&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // arguments.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[0] is the PHP file name.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[1] is the user name.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[2] is the password.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[3] is the developer token.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($argc !=4)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;Usage:\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;php file.php username password devtoken\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $username = $argv[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $password = $argv[2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerTokenValue = $argv[3];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationTokenValue=&amp;quot;&amp;quot;; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Assign the credentials to the classes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // that are used by the SOAP headers.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials=new UserCredentials();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials-&amp;gt;Username=$username;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials-&amp;gt;Password=$password;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerToken=new DeveloperToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerToken-&amp;gt;Value=$developerTokenValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationToken=new ApplicationToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationToken-&amp;gt;Value=$applicationTokenValue; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the SOAP headers.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerApplicationToken = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SoapHeader&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;ApplicationToken&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerDeveloperToken = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SoapHeader&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;DeveloperToken&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerUserCredentials = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SoapHeader&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;UserCredentials&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the SOAP input header array.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inputHeaders = array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerApplicationToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerDeveloperToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerUserCredentials&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the SOAP client.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $opts = array(&amp;#39;trace&amp;#39; =&amp;gt; true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $client = new SOAPClient($campaignProxy, $opts); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Populate an array of age targets, for incremental bids.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Incrementally bid 10% on the 18-25–year age group.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ageTargetBidArray[] = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;IncrementalBid&amp;quot; =&amp;gt; &amp;#39;TenPercent&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Age&amp;quot; =&amp;gt; &amp;#39;EighteenToTwentyFive&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Incrementally bid 20% on the 25-35–year age group.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ageTargetBidArray[] = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;IncrementalBid&amp;quot; =&amp;gt; &amp;#39;TwentyPercent&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Age&amp;quot; =&amp;gt; &amp;#39;TwentyFiveToThirtyFive&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Incrementally bid 20% on the 35-50–year age group.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ageTargetBidArray[] = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;IncrementalBid&amp;quot; =&amp;gt; &amp;#39;TwentyPercent&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Age&amp;quot; =&amp;gt; &amp;#39;ThirtyFiveToFifty&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Incrementally bid 20% on the 50-65–year age group.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ageTargetBidArray[] = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;IncrementalBid&amp;quot; =&amp;gt; &amp;#39;TwentyPercent&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Age&amp;quot; =&amp;gt; &amp;#39;FiftyToSixtyFive&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Incrementally bid 30% on the 65-year-and-over age group.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ageTargetBidArray[] = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;IncrementalBid&amp;quot; =&amp;gt; &amp;#39;ThirtyPercent&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Age&amp;quot; =&amp;gt; &amp;#39;SixtyFiveAndAbove&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Assign the age target details &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // array to an ageTarget variable.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ageTarget = array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Bids&amp;quot; =&amp;gt; $ageTargetBidArray&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Assign the ageTarget variable to &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // a target variable.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $target = array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Age&amp;quot; =&amp;gt; $ageTarget&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Specify the parameters for the SOAP call.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $params = array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;AdGroupId&amp;#39;=&amp;gt;$adGroupId,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Target&amp;#39;=&amp;gt;$target&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Execute the SOAP call.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = $client-&amp;gt;__soapCall&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $action,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array( $action.&amp;#39;Request&amp;#39; =&amp;gt; $params ),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inputHeaders,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $outputHeaders&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;$action succeeded with Tracking ID &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . $outputHeaders[&amp;#39;ApiCallTrackingData&amp;#39;]-&amp;gt;TrackingId&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . &amp;quot;.\n&amp;quot;; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Retrieve the ad group IDs.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isset(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result-&amp;gt;AdGroupIds-&amp;gt;int&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (is_array($result-&amp;gt;AdGroupIds-&amp;gt;int))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An array of ad group IDs has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $result-&amp;gt;AdGroupIds-&amp;gt;int;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A single ad group ID has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $result-&amp;gt;AdGroupIds;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;The following ad groups were returned by $action:\n&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($obj as $adGroupId)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;Ad group ID: &amp;quot; . $adGroupId . &amp;quot;\n&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;} &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;catch (Exception $e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;$action failed.\n&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Display the fault code and the fault string.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $e-&amp;gt;faultcode . &amp;quot; &amp;quot; . $e-&amp;gt;faultstring . &amp;quot;.\n&amp;quot;; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;TrackingID: &amp;quot; . &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;TrackingId . &amp;quot;.\n&amp;quot;; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Process operation errors.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isset(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors-&amp;gt;OperationError&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (is_array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors-&amp;gt;OperationError&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An array of operation errors has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors-&amp;gt;OperationError;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A single operation error has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($obj as $operationError)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;Operation error &amp;quot; . &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $operationError-&amp;gt;Code . &amp;quot; encountered. &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $operationError-&amp;gt;Message . &amp;quot;\n&amp;quot;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Process batch errors.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isset(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;BatchErrors-&amp;gt;BatchError&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (is_array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;BatchErrors-&amp;gt;BatchError&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An array of batch errors has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;BatchErrors-&amp;gt;BatchError;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A single batch error has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;BatchErrors;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($obj as $batchError)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;Ad group index &amp;quot; . $batchError-&amp;gt;Index . &amp;quot;\n&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;Batch error &amp;quot; . &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $batchError-&amp;gt;Code . &amp;quot; encountered. &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $batchError-&amp;gt;Message . &amp;quot;\n&amp;quot;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;} &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;// Definitions for classes that are used by the SOAP headers.&lt;br /&gt;class ApplicationToken&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Value;&lt;br /&gt;}&lt;br /&gt;class DeveloperToken&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Value;&lt;br /&gt;}&lt;br /&gt;class UserCredentials&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Password;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Username;&lt;br /&gt;} &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;?&amp;gt;&lt;/font&gt; 
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;p&gt;Walter Poupore&lt;br /&gt;Lead Programming Writer&lt;br /&gt;Microsoft adCenter API&lt;/p&gt;
&lt;p&gt;If you have questions or comments about this post, you can discuss it in the API forums: 
&lt;table class="" cellspacing="0" cellpadding="1"&gt;

&lt;tr&gt;
&lt;td class="txt3Bold" style="WIDTH:100%;" class="txt3Bold"&gt;&lt;a class="lnk3" title="" href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3499272&amp;amp;SiteID=1"&gt;Blog Post: New ad group targeting sample in PHP using the V5.1 Ca... &lt;/a&gt;&lt;/td&gt;
&lt;td class="" align="right"&gt;&lt;img alt="" src="http://forums.microsoft.com/MSDN/emoticons/PostAttributeIMG/Spacer.gif" /&gt;&lt;img alt="" src="http://forums.microsoft.com/MSDN/emoticons/PostAttributeIMG/Spacer.gif" /&gt;&lt;/td&gt;
&lt;td class="txt4r" class="txt4r"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="txt5l" class="txt5l"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&amp;nbsp;&lt;a href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3499272&amp;amp;SiteID=1&amp;amp;mode=1"&gt;http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3499272&amp;amp;SiteID=1&amp;amp;mode=1&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1458" width="1" height="1"&gt;</description></item><item><title>adCenter API V5/V5.1 Deadlines approaching - Are you Ready?</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/03/adcenter-api-v5-v5-1-deadlines-approaching-are-you-ready.aspx</link><pubDate>Tue, 03 Jun 2008 15:07:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1361</guid><dc:creator>bbled</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1361</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/03/adcenter-api-v5-v5-1-deadlines-approaching-are-you-ready.aspx#comments</comments><description>&lt;p&gt;Can you believe it is June already?&amp;nbsp; Back when we released Version 5 of the adCenter API in February (&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2847817&amp;amp;SiteID=1&amp;amp;src=bbblg060308"&gt;February 14th actually&lt;/a&gt;) the summer felt so far away.&amp;nbsp;&amp;nbsp; But, June 3rd reminds us that summer is HERE, and that the deadlines for upgrading your adCenter API-Enabled applications to &lt;strong&gt;Version 5/5.1&lt;/strong&gt; are approaching &lt;strong&gt;fast!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, we here at the adCenter API Blog have put together some answers for you about the upgrade and encourage you to take a minute to make sure you&amp;#39;re on course for the updgrades. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Version 5.1 - What is this?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A. &lt;/strong&gt;adCenter API users should be receiving email communications from us today regarding an update to the Version 5 adCenter API,&amp;nbsp; &lt;strong&gt;Version 5.1.&lt;/strong&gt;&amp;nbsp; The version is highlighted by 3 small changes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A change in the keywordID data type from an &lt;strong&gt;Int&lt;/strong&gt; to a &lt;strong&gt;Long&lt;/strong&gt;. 
&lt;li&gt;Updates to the Campaign Management Web service to support future expansion of the adCenter API. 
&lt;li&gt;Updates to all of the WSDL&amp;#39;s to put the &lt;strong&gt;v5.1&lt;/strong&gt; into their URL&amp;#39;s.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. What&amp;#39;s the reason for these changes when you just came out with a major upgrade in February 08?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A. &lt;/strong&gt;Since we released Version 5 we have been actively evaluating Version 5 and are making ongoing tweaks and adjustments to ensure that the Microsoft adCenter API is operating as expected. We have identified areas in the &lt;a href="http://msdn.microsoft.com/en-us/library/bb671719.aspx?src=bbblg060308"&gt;CampaignManagement WSDL&lt;/a&gt; that need additional improvements. At this time, we have not found an immediate need to update the other WSDLs, &lt;a href="http://msdn.microsoft.com/en-us/library/bb671846.aspx?src=bbblg060308"&gt;Administration&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb671848.aspx?src=bbblg060308"&gt;CustomerManagement&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb671559.aspx?src=bbblg060308"&gt;NotificationManagement&lt;/a&gt;, and &lt;a href="http://msdn.microsoft.com/en-us/library/bb671732.aspx?src=bbblg060308"&gt;Reporting&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The good news here is that while we reserve the possibility of an upgrade as we continue to tune and tweak, we are currently not planning any more upgrades in Calendar 2008.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Wait, I&amp;#39;ve already implemented V5.&amp;nbsp; Do I have to make more changes for V5.1?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A. Yes, &lt;/strong&gt;if you&amp;#39;ve already implemented adCenter API version 5 in your adCenter API-enabled applications, you need to update your applications to use version 5.1 by &lt;strong&gt;June 29, 2008&lt;/strong&gt;.&amp;nbsp; This is a firm date for the change.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. But, what if I am WORKING ON Version 5 implementation right now? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A. &lt;/strong&gt;The overall deadline set back in Feburary for the update to Version 5 of the adCenter API was August, 14, 2008.&amp;nbsp; That date still stands today.&amp;nbsp; Now however, you need to bring your adCenter API-Enabled applications up to V5.1 by that deadline.&amp;nbsp; Remember, adCenter API Version 5 support will end on June 29th, 2008.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. What if I haven&amp;#39;t started on Version 5 yet?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A. &lt;/strong&gt;The short answer here is, &lt;strong&gt;we need you to get going&lt;/strong&gt;.&amp;nbsp; We are recommending that you are ready for implementation (testing, etc.) for now &lt;strong&gt;version 5.1&lt;/strong&gt; of the adCenter API approximately 30 days prior to the August 14, 2008 date.&amp;nbsp; That means we&amp;#39;re approximately 6 weeks from what we hope is a completion date for your updates.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q.Yikes! I need help. What are my options?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Luckily, we ARE here to help.&amp;nbsp; Here are some resources for you to get going:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First step is to click over to the freshly updated &lt;a href="http://msdn.microsoft.com/en-us/library/bb672002.aspx?src=bbblg060308"&gt;MSDN adCenter API Docs&lt;/a&gt;.&amp;nbsp; They&amp;#39;ve got all of the details on what you need to do to get going. 
&lt;li&gt;We have lots of good samples for V5/5.1 here in the adCenter API blog as in a variety of supported languages.&amp;nbsp; Watch the blog for more to come as new examples are published.&amp;nbsp; 
&lt;li&gt;We&amp;#39;ve been running monthly Live Meeting&amp;#39;s with the Senior Project management team from the adCenter API, all of which are recorded and posted here on adCentercommunity.com.&amp;nbsp;&amp;nbsp; Here&amp;#39;s a link to the &lt;a href="http://www.adcentercommunity.com/blogs/api/archive/2008/05/29/live-meeting-may-2008.aspx?src=bbblg060308"&gt;May Session&lt;/a&gt; for a good question and answer session, as well as some background on the V5.1 changes.&amp;nbsp; Our next session is scheduled for &lt;strong&gt;June 17, 2008&lt;/strong&gt;. 
&lt;li&gt;Contact your service team members!&amp;nbsp; Members of the API Technical Support and adCenter client service teams are here to help.&amp;nbsp; If you have questions, challenges, etc. &lt;strong&gt;now is the time to get in touch with us&lt;/strong&gt;.&amp;nbsp; We can get you the resources you need to facilitate this upgrade. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We are excited about the new features we have to offer in the &lt;strong&gt;Version 5/5.1 upgrade.&lt;/strong&gt;&amp;nbsp; However, we definitely understand that enabling these requires changes in your applications.&amp;nbsp;&amp;nbsp; With the announcement of the Version 5 release back in February we allowed 180 days of upgrade time prior to shutting down V4 support.&amp;nbsp; We&amp;#39;re approaching that deadline however, so if you haven&amp;#39;t gotten started on this upgrade, now is the time.&amp;nbsp; Good luck, and as always thanks for choosing to support the adCenter platform via the adCenter API. &lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Bill&lt;/p&gt;
&lt;p&gt;Ask questions or discuss this topic in the &lt;a class="" title="adCenter API Development forums." href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3462600&amp;amp;SiteID=1&amp;amp;mode=1"&gt;adCenter API Development forums&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1361" width="1" height="1"&gt;</description><category domain="http://adcentercommunity.com/blogs/api/archive/tags/Version+5+Upgrade/default.aspx">Version 5 Upgrade</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/V5/default.aspx">V5</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/adCenter+API/default.aspx">adCenter API</category></item><item><title>V5.1 Reporting Sample in PHP</title><link>http://adcentercommunity.com/blogs/api/archive/2008/06/02/v5-1-reporting-sample-in-php.aspx</link><pubDate>Mon, 02 Jun 2008 16:31:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1350</guid><dc:creator>Walter Poupore - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1350</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/06/02/v5-1-reporting-sample-in-php.aspx#comments</comments><description>&lt;p&gt;Hello! 
&lt;p&gt;We&amp;#39;ll release a V5.1 reporting sample in PHP to MSDN in a future Microsoft adCenter API doc release. 
&lt;p&gt;In the interim, here is the sample. Note the $URI variable is set to V5.1. If you want to use the V5 WSDL, set &amp;quot;V5.1&amp;quot; to &amp;quot;V5&amp;quot;. You&amp;#39;re encouraged to use the V5.1 version, though, as V5.1 is the latest version. 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;?php&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;// This program requires the following PHP extensions:&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; php_soap.dll&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; php_openssl.dll&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;// To ensure that a cached WSDL is not being used,&lt;br /&gt;// disable WSDL caching.&lt;br /&gt;ini_set(&amp;quot;soap.wsdl_cache_enabled&amp;quot;, &amp;quot;0&amp;quot;);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;try&lt;br /&gt;{&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $accountId = 489;&amp;nbsp; //Application-specific value.&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Use either the sandbox or production URI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // This example is for the sandbox URI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $URI =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;https://sandboxapi.adcenter.microsoft.com/api/advertiser/v5.1/&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The following commented-out line contains the production URI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //$URI = &amp;quot;https://adcenterapi.microsoft.com/api/advertiser/v5.1/&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The adCenter API namespace.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns = &amp;quot;https://adcenter.microsoft.com/api/advertiser/v5&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The proxy for the Campaign Management Web service.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $campaignProxy = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $URI . &amp;quot;Reporting/ReportingService.svc?wsdl&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The name of the service operation that will be called.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $action = &amp;quot;QueueReport&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The user name, password, and access key are &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // expected to be passed in as command-line&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // arguments.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[0] is the PHP file name.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[1] is the user name.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[2] is the password.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // $argv[3] is the developer token.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($argc !=4)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;Usage:\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;php file.php username password devtoken\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $username = $argv[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $password = $argv[2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerTokenValue = $argv[3];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationTokenValue=&amp;quot;&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Assign the credentials to the classes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // that are used by the SOAP headers.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials=new UserCredentials();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials-&amp;gt;Username=$username;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials-&amp;gt;Password=$password;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerToken=new DeveloperToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerToken-&amp;gt;Value=$developerTokenValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationToken=new ApplicationToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationToken-&amp;gt;Value=$applicationTokenValue;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the SOAP headers.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerApplicationToken = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SoapHeader&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;ApplicationToken&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $applicationToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerDeveloperToken = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SoapHeader&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;DeveloperToken&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $developerToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerUserCredentials = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SoapHeader&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;UserCredentials&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $userCredentials,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the SOAP input header array.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inputHeaders = array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerApplicationToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerDeveloperToken,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $headerUserCredentials&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the SOAP client.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $opts = array(&amp;#39;trace&amp;#39; =&amp;gt; true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $client = new SOAPClient($campaignProxy, $opts); &lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request=new KeywordPerformanceReportRequest();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Format=&amp;#39;Xml&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Language=&amp;#39;English&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;ReportName=&amp;#39;My Report&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;ReturnOnlyCompleteData=false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Aggregation=&amp;#39;Monthly&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Time=array(&amp;#39;PredefinedTime&amp;#39;=&amp;gt;&amp;#39;LastSixMonths&amp;#39;);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Columns=array(&amp;#39;AccountName&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;CampaignName&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Keyword&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;TimePeriod&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;ProductName&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Impressions&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Conversions&amp;#39;);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Filter=array(&amp;#39;AdDistribution&amp;#39;=&amp;gt;&amp;#39;Search&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;LanguageAndRegion&amp;#39;=&amp;gt;&amp;#39;UnitedStates&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $request-&amp;gt;Scope=array(&amp;#39;AccountIds&amp;#39;=&amp;gt;array($accountId));&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $soapstruct = new SoapVar($request, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOAP_ENC_OBJECT, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;KeywordPerformanceReportRequest&amp;quot;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xmlns);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $params=array(&amp;#39;ReportRequest&amp;#39;=&amp;gt;$soapstruct);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = $client-&amp;gt;__soapCall($action,array($action.&amp;#39;Request&amp;#39; =&amp;gt; $params),null,$inputHeaders,$outputHeaders);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $reportRequestId=$result-&amp;gt;ReportRequestId;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;ReportRequestId: %d\n&amp;quot;, $reportRequestId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Poll to get the status of the report until it is complete.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $waitMinutes = 15;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $maxWaitMinutes = 120;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $elapsedMinutes = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $action = &amp;quot;GetReportStatus&amp;quot;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $params=array(&amp;#39;ReportRequestId&amp;#39;=&amp;gt;$reportRequestId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (true)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Wait the specified number of minutes before you poll.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;Waiting another %d minutes.\n&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $waitMinutes);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;Total wait time so far is %d minutes.\n&amp;quot;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $elapsedMinutes);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep($waitMinutes * 60);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $elapsedMinutes += $waitMinutes;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = $client-&amp;gt;__soapCall($action,array($action.&amp;#39;Request&amp;#39; =&amp;gt; $params),null,$inputHeaders);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $reportStatus=$result-&amp;gt;ReportRequestStatus-&amp;gt;Status;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;ReportStatus: %s\n&amp;quot;, $reportStatus);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($reportStatus == &amp;#39;Success&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $downloadURL=$result-&amp;gt;ReportRequestStatus-&amp;gt;ReportDownloadUrl;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $handleIn = fopen($downloadURL,&amp;quot;r&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $handleOut = fopen($reportRequestId.&amp;quot;.zip&amp;quot;, &amp;quot;w&amp;quot;);&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!feof($handleIn))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $content = fread($handleIn, 8192);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fwrite($handleOut,$content);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fclose($handleIn);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fclose($handleOut);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($reportStatus == &amp;#39;Pending&amp;#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The report is not yet ready.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An error occurred.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&amp;quot;Error occurred in %s\n&amp;quot;, $action);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;catch (Exception $e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;$action failed.\n&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Display the fault code and the fault string.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $e-&amp;gt;faultcode . &amp;quot; &amp;quot; . $e-&amp;gt;faultstring . &amp;quot;.\n&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;TrackingID: &amp;quot; . &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;TrackingId . &amp;quot;.\n&amp;quot;;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Process operation errors.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isset(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors-&amp;gt;OperationError&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (is_array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors-&amp;gt;OperationError&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An array of operation errors has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors-&amp;gt;OperationError;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A single operation error has been returned.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = $e-&amp;gt;detail-&amp;gt;ApiFaultDetail-&amp;gt;OperationErrors;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($obj as $operationError)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;Operation error &amp;quot; . &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $operationError-&amp;gt;Code . &amp;quot; encountered. &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $operationError-&amp;gt;Message . &amp;quot;\n&amp;quot;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Output the last request.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &amp;quot;Last SOAP request:\n&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $client-&amp;gt;__getLastRequest() . &amp;quot;\n&amp;quot;;&lt;br /&gt;}&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;// Definitions for classes that are used by the SOAP headers.&lt;br /&gt;class ApplicationToken&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Value;&lt;br /&gt;}&lt;br /&gt;class DeveloperToken&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Value;&lt;br /&gt;}&lt;br /&gt;class UserCredentials&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Password;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Username;&lt;br /&gt;}&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;// Definition for class used by the Reporting service.&lt;br /&gt;class KeywordPerformanceReportRequest&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Format;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Language;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $ReportName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $ReturnOnlyCompleteData;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Aggregation;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Columns;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Filter;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Scope;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public $Time;&lt;br /&gt;}&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff"&gt;?&amp;gt; &lt;/font&gt;
&lt;p&gt;Thank you. 
&lt;p&gt;Walter Poupore&lt;br /&gt;Lead Programming Writer&lt;br /&gt;Microsoft adCenter&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1350" width="1" height="1"&gt;</description></item><item><title>adCenter API forums back online</title><link>http://adcentercommunity.com/blogs/api/archive/2008/05/30/adcenter-api-forums-back-online.aspx</link><pubDate>Fri, 30 May 2008 17:31:36 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1335</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1335</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/05/30/adcenter-api-forums-back-online.aspx#comments</comments><description>&lt;p&gt;We had some issues yesterday with the API forums during a migration of the MSDN system but the problems appear to be resolved. Apologies for the inconvenience. Please let us know if you encounter any ongoing issues with the forum by posting via the blog comments, the Advertiser forum on this site. Also, you can send a message to the support alias for API users or to me via the web site.&lt;/p&gt; &lt;p&gt;Thanks for taking part in the community.&lt;/p&gt; &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1335" width="1" height="1"&gt;</description></item><item><title>Webcast recording from adCenter API v5 update Live Meeting</title><link>http://adcentercommunity.com/blogs/api/archive/2008/05/29/live-meeting-may-2008.aspx</link><pubDate>Thu, 29 May 2008 23:13:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1327</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1327</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/05/29/live-meeting-may-2008.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In last week&amp;#39;s webcast, Program Manager Shamit Patel&amp;nbsp; emphasized the deadline for API users to update code to use version 5 of the adCenter API. His point was that developers should update soon to allow time for testing and troubleshooting implementation of the new code. With summer vacations approaching, now is the time to move to V5.&lt;/p&gt;
&lt;p&gt;The Live Meeting last week discussed some new questions from customers and included a walkthrough of the basic changes. View the Webcast below in Silverlight streaming media. Or download the video with the link below.&lt;/p&gt;
&lt;p&gt;-Thanks&lt;/p&gt;
&lt;p&gt;Chris&lt;/p&gt;&lt;iframe style="WIDTH:556px;HEIGHT:419px;" marginwidth="0" marginheight="0" src="http://www.adcentercommunity.com/videos/adCenterAPILiveMeetingMay2008/default.html" frameborder="0" width="600" height="480" mce_src="http://www.adcentercommunity.com/videos/adCenterAPILiveMeetingMay2008/default.html"&gt;&lt;/iframe&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1327" width="1" height="1"&gt;</description><enclosure url="http://adcentercommunity.com/blogs/api/attachment/1327.ashx" length="3635706" type="application/x-zip-compressed" /><category domain="http://adcentercommunity.com/blogs/api/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/Version+5+Upgrade/default.aspx">Version 5 Upgrade</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/Top+Issues/default.aspx">Top Issues</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/Tips/default.aspx">Tips</category><category domain="http://adcentercommunity.com/blogs/api/archive/tags/API/default.aspx">API</category></item><item><title>Possible API interruptions tonight during server maintenance</title><link>http://adcentercommunity.com/blogs/api/archive/2008/05/29/possible-api-interruptions-tonight-during-server-maintenance.aspx</link><pubDate>Thu, 29 May 2008 21:53:35 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1324</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1324</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/05/29/possible-api-interruptions-tonight-during-server-maintenance.aspx#comments</comments><description>&lt;p&gt;- &lt;p&gt;An e-mail communication was sent this afternoon on this. As our API forum is still experiencing some issues, contact support, or post in the comments or Advertiser forum if you have questions. &lt;p&gt;:: &lt;p&gt;The Editorial database servers will undergo a short maintenance today, May 29 from 6:00 P.M. to 9:00 P.M. Pacific Time. There may be intermittent interruptions in the availability of editorial-related API calls during this time. No other downtime is expected. &lt;p&gt;We appreciate your patience while we perform this system maintenance. We apologize for any inconvenience that these intermittent interruptions may cause. &lt;p&gt;Thanks &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1324" width="1" height="1"&gt;</description></item><item><title>Notice of adCenter API forums issues</title><link>http://adcentercommunity.com/blogs/api/archive/2008/05/29/notice-of-adcenter-api-forums-issues.aspx</link><pubDate>Thu, 29 May 2008 19:46:25 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1317</guid><dc:creator>Chris Norred - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1317</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/05/29/notice-of-adcenter-api-forums-issues.aspx#comments</comments><description>&lt;p&gt;We are currently experiencing some downtime in the adCenter API forums on MSDN. The forum databases are being migrated and there is a current issue related to the content of new posts not being displayed. If you&amp;#39;re experiencing issues, please use the API support alias for help, or post in the Advertiser forum or in the comments of the blog with other questions and comments. We&amp;#39;ll attempt to engage there until the MSDN forum issues can be resolved. We expect the issues to be resolved soon.&lt;/p&gt; &lt;p&gt;Thank you for your patience and thanks for taking part in the community.&lt;/p&gt; &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1317" width="1" height="1"&gt;</description></item><item><title>SOAP XML Sequence in adCenter API</title><link>http://adcentercommunity.com/blogs/api/archive/2008/05/22/soap-xml-sequence-in-adcenter-api.aspx</link><pubDate>Thu, 22 May 2008 17:11:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1256</guid><dc:creator>Strohm Armstrong - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1256</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/05/22/soap-xml-sequence-in-adcenter-api.aspx#comments</comments><description>&lt;p&gt;There was a question during the Live Meeting this week regarding the correct sequence for SOAP XML elements when programming with the adCenter API. I previously published a helpful blog entry offering guidance on the SOAP XML Property Order. Check it out here: 
&lt;p&gt;&lt;a href="http://www.adcentercommunity.com/blogs/api/archive/2008/03/27/soap-xml-property-order-is-important.aspx"&gt;http://www.adcentercommunity.com/blogs/api/archive/2008/03/27/soap-xml-property-order-is-important.aspx&lt;/a&gt; 
&lt;p&gt;We are gradually adding what we refer to as &amp;quot;WSDL syntax&amp;quot; to the adCenter API V5 reference topics. This additional syntax will help those of you who are assembling your SOAP messages manually. This is an ongoing process and the new syntax will be published along with our scheduled updates. To see what this will look like, see the &lt;a href="http://msdn.microsoft.com/en-us/library/bb671813.aspx" target="_blank"&gt;Report Request Class&lt;/a&gt; topic on MSDN. 
&lt;p&gt;As always, feedback on this and other adCenter API documentation is welcome. 
&lt;p&gt;Thank You, 
&lt;p&gt;Strohm Armstrong&lt;br /&gt;Programming Writer&lt;br /&gt;adCenter API&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1256" width="1" height="1"&gt;</description></item><item><title>Using adCenter API Version 5 with Microsoft .NET Framework Version 2.0</title><link>http://adcentercommunity.com/blogs/api/archive/2008/05/22/using-adcenter-api-version-5-with-microsoft-net-framework-version-2-0.aspx</link><pubDate>Thu, 22 May 2008 16:58:00 GMT</pubDate><guid isPermaLink="false">38871f28-9d99-44e5-98e7-e3efb574d0b2:1255</guid><dc:creator>Strohm Armstrong - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://adcentercommunity.com/blogs/api/rsscomments.aspx?PostID=1255</wfw:commentRss><comments>http://adcentercommunity.com/blogs/api/archive/2008/05/22/using-adcenter-api-version-5-with-microsoft-net-framework-version-2-0.aspx#comments</comments><description>&lt;p&gt;During the adCenter API Live Meeting this week, one of the participants asked Program Manager Shamit Patel if we have published any documentation explaining how to use adCenter API V5 with .NET 2.0. &lt;/p&gt;
&lt;p&gt;The short answer is that you &lt;strong&gt;must&lt;/strong&gt; use .NET Framework 3.0 for your .NET applications when using adCenter API version 5. Here is why:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The client proxies that get generated for the WCF services use the IExtensibleDataObject interface, which is only available in .NET 3.0. 
&lt;li&gt;To use adCenter API V5 with a .NET language, you have to use two assemblies that are only available in .NET 3.0 and later, System.Runtime.Serialization and System.ServiceModel. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;However, many people don&amp;#39;t realize that .NET 3.0 is an addition to the framework, not a complete replacement. You will still use .NET Framework 2.0 for the majority of your application. .NET 3.0 does not, in fact, include any of the legacy assemblies (e.g. System.Xml), so you actually use .NET 2.0 for most everything else in your application. 
&lt;p&gt;The end result is that the documentation and code samples provided on MSDN and the blog will help you with using .NET 2.0, but you must add .NET 3.0 and the required references to System.Runtime.Serialization.dll and System.ServiceModel.dll. 
&lt;p&gt;Thanks You,&lt;/p&gt;
&lt;p&gt;Strohm Armstrong&lt;br /&gt;Programming Writer&lt;br /&gt;adCenter API&lt;/p&gt;&lt;img src="http://adcentercommunity.com/aggbug.aspx?PostID=1255" width="1" height="1"&gt;</description></item></channel></rss>