<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sandkasten-SEO &#187; Technik</title>
	<atom:link href="http://www.sandkasten-seo.de/tag/technik/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sandkasten-seo.de</link>
	<description>Mit Schippe und Förmchen optimieren</description>
	<lastBuildDate>Tue, 23 Aug 2011 20:54:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Der Webgains Webservice &#8211; ein Beispiel in PHP</title>
		<link>http://www.sandkasten-seo.de/2010/03/06/der-webgains-webservice-ein-beispiel-in-php/</link>
		<comments>http://www.sandkasten-seo.de/2010/03/06/der-webgains-webservice-ein-beispiel-in-php/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 21:06:52 +0000</pubDate>
		<dc:creator>Sandkastenseo</dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[Affiliate]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Webgains]]></category>
		<category><![CDATA[Webservice]]></category>

		<guid isPermaLink="false">http://www.sandkasten-seo.de/?p=97</guid>
		<description><![CDATA[Da zum Webservice des Affiliate-Netzwerks Webgains keine einfache Anleitung verfügbar ist (oder ich sie zumindest nicht finden kann), möchte ich an dieser Stelle ein kleines PHP-Beispiel der Abfrage der vom Webservice bereitgestellten Daten anbringen. Es handelt sich um einen SOAP-Webservice, für den PHP einen Client mitbringt, sofern das Modul aktiviert wurde. Dieser Client wird mit [...]]]></description>
			<content:encoded><![CDATA[<p>Da zum <a href="http://ws.webgains.com/aws.php">Webservice</a> des Affiliate-Netzwerks <a href="http://www.webgains.de/">Webgains</a> keine einfache Anleitung verfügbar ist (oder ich sie zumindest nicht finden kann), möchte ich an dieser Stelle ein kleines PHP-Beispiel der Abfrage der vom Webservice bereitgestellten Daten anbringen.</p>
<p><span id="more-97"></span>Es handelt sich um einen SOAP-Webservice, für den <a href="http://php.net/manual/de/book.soap.php">PHP einen Client mitbringt</a>, sofern das Modul aktiviert wurde. Dieser Client wird mit den Webservice-Einstellungen erstellt:</p>
<pre style="background-color: #f3f3f3; border: 1px solid silver; padding: 6px; white-space: pre-wrap;"><span style="color: #ff9900;">// create a new soap client</span>
<span style="color: #000;">$webgainsClient</span> = <span style="color: #006600;">new</span> SoapClient <span style="color: #000099;">&#40;</span>
    <span style="color: #552200;">NULL</span>,
    <span style="color: #0000FF;">array</span> <span style="color: #000099;">&#40;</span>
        <span style="color: #cc0000;">&quot;location&quot;</span>   =<span style="color: #0000ff;">&gt;</span> <span style="color: #cc0000;">&quot;http://ws.webgains.com/aws.php&quot;</span>,
        <span style="color: #cc0000;">&quot;uri&quot;</span>        =<span style="color: #0000ff;">&gt;</span> <span style="color: #cc0000;">&quot;urn:http://ws.webgains.com/aws.php&quot;</span>,
        <span style="color: #cc0000;">&quot;style&quot;</span>      =<span style="color: #0000ff;">&gt;</span> SOAP_RPC,
        <span style="color: #cc0000;">&quot;use&quot;</span>        =<span style="color: #0000ff;">&gt;</span> SOAP_ENCODED,
        <span style="color: #cc0000;">'exceptions'</span> =<span style="color: #0000ff;">&gt;</span> 0
    <span style="color: #000099;">&#41;</span>
<span style="color: #000099;">&#41;</span>; </pre>
<p>An den Client können dann die im <strong>Webservice</strong> angegebenen Anfragen übermittelt werden, beispielhaft hier die getEarnings-Methode, die als Parameter Start- und Enddatum, die Kampagnen-ID (diese <a href="http://www.webgains.de/affiliates/campaign.html">Kampagnen-ID findet man hier</a>) und die Logindaten erwartet:</p>
<pre style="background-color: #f3f3f3; border: 1px solid silver; padding: 6px; white-space: pre-wrap;"><span style="color: #ff9900;">// configuration</span>
<span style="color: #0000FF;">define</span> <span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'LOGIN_MAIL'</span>,     <span style="color: #cc0000;">'test@test.de'</span><span style="color: #000099;">&#41;</span>;
<span style="color: #0000FF;">define</span> <span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'LOGIN_PASSWORD'</span>, <span style="color: #cc0000;">'passwort'</span><span style="color: #000099;">&#41;</span>;
<span style="color: #0000FF;">define</span> <span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'CAMPAIGNID'</span>,     12345<span style="color: #000099;">&#41;</span>;
&nbsp;
<span style="color: #000;">$dateStart</span> = <span style="color: #0000FF;">date</span><span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'Y-m-d'</span>, <span style="color: #0000FF;">time</span><span style="color: #000099;">&#40;</span><span style="color: #000099;">&#41;</span><span style="color: #0000ff;">-</span><span style="color: #ff0000;">7</span><span style="color: #0000ff;">*</span><span style="color: #ff0000;">86400</span><span style="color: #000099;">&#41;</span><span style="color: #0000ff;">.</span><span style="color: #cc0000;">' 00:00:00'</span>;
<span style="color: #000;">$dateEnd</span>   = <span style="color: #0000FF;">date</span><span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'Y-m-d H:i:s'</span><span style="color: #000099;">&#41;</span>;
&nbsp;
&nbsp;
<span style="color: #ff9900;">// send earnings request</span>
&nbsp;
<span style="color: #000;">$earningsResult</span> = <span style="color: #000;">$webgainsClient</span><span style="color: #0000ff;">-&gt;</span><span style="color: #000;">getEarnings</span><span style="color: #000099;">&#40;</span><span style="color: #000;">$dateStart</span>, <span style="color: #000;">$dateEnd</span>, CAMPAIGNID, LOGIN_MAIL, LOGIN_PASSWORD<span style="color: #000099;">&#41;</span>;</pre>
<p>Durch das Ergebnis des Aufrufs kann dann iteriert und auf die Eigenschaften jedes Datensatzes (hier <span style="font-weight: bold;">$item->commission</span>) zugegriffen werden:</p>
<pre style="background-color: #f3f3f3; border: 1px solid silver; padding: 6px; white-space: pre-wrap;"><span style="color: #006600;">if</span> <span style="color: #000099;">&#40;</span><span style="color: #0000FF;">is_soap_fault</span><span style="color: #000099;">&#40;</span><span style="color: #000;">$earningsResult</span><span style="color: #000099;">&#41;</span><span style="color: #000099;">&#41;</span> <span style="color: #000099;">&#123;</span>
   <span style="color: #ff9900;">// error handling</span>
<span style="color: #000099;">&#125;</span> <span style="color: #006600;">else</span> <span style="color: #000099;">&#123;</span>
    <span style="color: #006600;">foreach</span> <span style="color: #000099;">&#40;</span><span style="color: #000;">$earningsResult</span> <span style="color: #006600;">as</span> <span style="color: #000;">$item</span><span style="color: #000099;">&#41;</span> <span style="color: #000099;">&#123;</span>
        <span style="color: #0000FF;">echo</span> <span style="color: #cc0000;">&quot;&lt;br /&gt;&quot;</span><span style="color: #0000ff;">.</span><span style="color: #000;">$item</span><span style="color: #0000ff;">-&gt;</span><span style="color: #000;">commission</span>;
    <span style="color: #000099;">&#125;</span>
<span style="color: #000099;">&#125;</span></pre>
<p>Natürlich können pro Scriptaufruf auch mehrere Anfragen an den <strong>Webgains</strong> Webservice gestellt werden. Eine mögliche Verwendung für den Service könnte etwa ein RSS-Feed sein, der bei neuen Provisionen Bescheid gibt, oder ein Affiliate-Dashboard, auf dem die Zahlen mehrerer Netzwerke zusammen dargestellt werden.</p>
<p>Referenzen:</p>
<ul>
<li>Webgains: <a href="http://www.webgains.de">http://www.webgains.de</a></li>
<li>Webservice-URL: <a href="http://ws.webgains.com/aws.php">http://ws.webgains.com/aws.php</a></li>
<li>PHP SOAP-Client: <a href="http://php.net/manual/de/book.soap.php">http://php.net/manual/de/book.soap.php</a></li>
</ul>
<p>Gesamtes Script:</p>
<pre style="background-color: #f3f3f3; border: 1px solid silver; padding: 6px; white-space: pre-wrap;">&nbsp;
<span style="color: #ff9900;">// configuration</span>
<span style="color: #0000FF;">define</span> <span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'LOGIN_MAIL'</span>,     <span style="color: #cc0000;">'test@test.de'</span><span style="color: #000099;">&#41;</span>;
<span style="color: #0000FF;">define</span> <span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'LOGIN_PASSWORD'</span>, <span style="color: #cc0000;">'passwort'</span><span style="color: #000099;">&#41;</span>;
<span style="color: #0000FF;">define</span> <span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'CAMPAIGNID'</span>,     12345<span style="color: #000099;">&#41;</span>;
&nbsp;
<span style="color: #000;">$dateStart</span> = <span style="color: #0000FF;">date</span><span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'Y-m-d'</span>, <span style="color: #0000FF;">time</span><span style="color: #000099;">&#40;</span><span style="color: #000099;">&#41;</span><span style="color: #0000ff;">-</span><span style="color: #ff0000;">7</span><span style="color: #0000ff;">*</span><span style="color: #ff0000;">86400</span><span style="color: #000099;">&#41;</span><span style="color: #0000ff;">.</span><span style="color: #cc0000;">' 00:00:00'</span>;
<span style="color: #000;">$dateEnd</span>   = <span style="color: #0000FF;">date</span><span style="color: #000099;">&#40;</span><span style="color: #cc0000;">'Y-m-d H:i:s'</span><span style="color: #000099;">&#41;</span>;
&nbsp;
<span style="color: #ff9900;">// create a new soap client</span>
<span style="color: #000;">$webgainsClient</span> = <span style="color: #006600;">new</span> SoapClient <span style="color: #000099;">&#40;</span>
    <span style="color: #552200;">NULL</span>,
    <span style="color: #0000FF;">array</span> <span style="color: #000099;">&#40;</span>
        <span style="color: #cc0000;">&quot;location&quot;</span>   =<span style="color: #0000ff;">&gt;</span> <span style="color: #cc0000;">&quot;http://ws.webgains.com/aws.php&quot;</span>,
        <span style="color: #cc0000;">&quot;uri&quot;</span>        =<span style="color: #0000ff;">&gt;</span> <span style="color: #cc0000;">&quot;urn:http://ws.webgains.com/aws.php&quot;</span>,
        <span style="color: #cc0000;">&quot;style&quot;</span>      =<span style="color: #0000ff;">&gt;</span> SOAP_RPC,
        <span style="color: #cc0000;">&quot;use&quot;</span>        =<span style="color: #0000ff;">&gt;</span> SOAP_ENCODED,
        <span style="color: #cc0000;">'exceptions'</span> =<span style="color: #0000ff;">&gt;</span> 0
    <span style="color: #000099;">&#41;</span>
<span style="color: #000099;">&#41;</span>;
&nbsp;
<span style="color: #ff9900;">// send earnings request</span>
&nbsp;
<span style="color: #000;">$earningsResult</span> = <span style="color: #000;">$webgainsClient</span><span style="color: #0000ff;">-&gt;</span><span style="color: #000;">getEarnings</span><span style="color: #000099;">&#40;</span><span style="color: #000;">$dateStart</span>, <span style="color: #000;">$dateEnd</span>, CAMPAIGNID, LOGIN_MAIL, LOGIN_PASSWORD<span style="color: #000099;">&#41;</span>;
&nbsp;
<span style="color: #006600;">if</span> <span style="color: #000099;">&#40;</span><span style="color: #0000FF;">is_soap_fault</span><span style="color: #000099;">&#40;</span><span style="color: #000;">$earningsResult</span><span style="color: #000099;">&#41;</span><span style="color: #000099;">&#41;</span> <span style="color: #000099;">&#123;</span>
   <span style="color: #ff9900;">// error handling</span>
<span style="color: #000099;">&#125;</span> <span style="color: #006600;">else</span> <span style="color: #000099;">&#123;</span>
    <span style="color: #006600;">foreach</span> <span style="color: #000099;">&#40;</span><span style="color: #000;">$earningsResult</span> <span style="color: #006600;">as</span> <span style="color: #000;">$item</span><span style="color: #000099;">&#41;</span> <span style="color: #000099;">&#123;</span>
         <span style="color: #0000FF;">echo</span> <span style="color: #cc0000;">&quot;&lt;br /&gt;&quot;</span><span style="color: #0000ff;">.</span><span style="color: #000;">$item</span><span style="color: #0000ff;">-&gt;</span><span style="color: #000;">commission</span>;
    <span style="color: #000099;">&#125;</span>
<span style="color: #000099;">&#125;</span>
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sandkasten-seo.de/2010/03/06/der-webgains-webservice-ein-beispiel-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

