<?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>webhank &#187; Magento</title>
	<atom:link href="http://www.webhank.com/tag/magento/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webhank.com</link>
	<description>my two cents - by Hank Pantier</description>
	<lastBuildDate>Wed, 04 Aug 2010 19:42:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Connecting to Magento via XML-RPC</title>
		<link>http://www.webhank.com/web-development/connecting-to-magento-via-xml-rpc?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=connecting-to-magento-via-xml-rpc</link>
		<comments>http://www.webhank.com/web-development/connecting-to-magento-via-xml-rpc#comments</comments>
		<pubDate>Thu, 12 Feb 2009 20:42:59 +0000</pubDate>
		<dc:creator>webhank</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.webhank.com/?p=194</guid>
		<description><![CDATA[I have been trying off and on for about a week to get a connection made to Magento&#8217;s API via a PHP script. Magento gives the following code snippet on their site, but I could not get it to work &#8211; souring the message boards didn&#8217;t really help either.  I am not sure if something [...]]]></description>
			<content:encoded><![CDATA[<p>I have been trying off and on for about a week to get a connection made to <a href="http://www.magentocommerce.com/support/magento_core_api">Magento&#8217;s API</a> via a PHP script.</p>
<p>Magento gives the following code snippet on their site, but I could not get it to work &#8211; souring the message boards didn&#8217;t really help either.  I am not sure if something was off with my installation instance or what.</p>
<div class="code php" style="font-family: monospace;">
<div class="code_bg">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$client</span> = <span class="kw2">new</span> Zend_XmlRpc_Client<span class="br0">(</span><span class="st0">&#8216;http://youmagentohost/api/xmlrpc/&#8217;</span><span class="br0">)</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// If somestuff requires api authentification,</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// we should get session token</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$session</span> = <span class="re0">$client</span>-&gt;<span class="me1">call</span><span class="br0">(</span><span class="st0">&#8216;login&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="st0">&#8216;apiUser&#8217;</span>, <span class="st0">&#8216;apiKey&#8217;</span><span class="br0">)</span><span class="br0">)</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$client</span>-&gt;<span class="me1">call</span><span class="br0">(</span><span class="st0">&#8216;call&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="re0">$session</span>, <span class="st0">&#8216;somestuff.method&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="st0">&#8216;arg1&#8242;</span>, <span class="st0">&#8216;arg2&#8242;</span>, <span class="st0">&#8216;arg3&#8242;</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$client</span>-&gt;<span class="me1">call</span><span class="br0">(</span><span class="st0">&#8216;call&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="re0">$session</span>, <span class="st0">&#8216;somestuff.method&#8217;</span>, <span class="st0">&#8216;arg1&#8242;</span><span class="br0">)</span><span class="br0">)</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$client</span>-&gt;<span class="me1">call</span><span class="br0">(</span><span class="st0">&#8216;call&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="re0">$session</span>, <span class="st0">&#8216;somestuff.method&#8217;</span><span class="br0">)</span><span class="br0">)</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$client</span>-&gt;<span class="me1">call</span><span class="br0">(</span><span class="st0">&#8216;multiCall&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="re0">$session</span>,</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">array</span><span class="br0">(</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">array</span><span class="br0">(</span><span class="st0">&#8216;somestuff.method&#8217;</span>, <span class="st0">&#8216;arg1&#8242;</span><span class="br0">)</span>,</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">array</span><span class="br0">(</span><span class="st0">&#8216;somestuff.method&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="st0">&#8216;arg1&#8242;</span>, <span class="st0">&#8216;arg2&#8242;</span><span class="br0">)</span><span class="br0">)</span>,</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">array</span><span class="br0">(</span><span class="st0">&#8216;somestuff.method&#8217;</span><span class="br0">)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">)</span><span class="br0">)</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// If you don&#8217;t need the session anymore</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$client</span>-&gt;<span class="me1">call</span><span class="br0">(</span><span class="st0">&#8216;endSession&#8217;</span>, <span class="kw3">array</span><span class="br0">(</span><span class="re0">$session</span><span class="br0">)</span><span class="br0">)</span>;</div>
</li>
</ol>
</div>
</div>
<p>After a bunch of trial and error &#8211; scouring the web etc &#8211; i was finally able to make a connection with the following script</p>
<pre>&lt;?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
define("XMLRPC_DEBUG", 1);

require_once('../app/Mage.php');
$client = new Zend_XmlRpc_Client('http://www.domain.com/api/xmlrpc');

// If somestuff requires api authentification, we should get session token
$session = $client-&gt;call('login', array('user', 'key'));

echo "&lt;pre&gt;";
print_r($session);
echo "&lt;/pre&gt;";

// If you don't need the session anymore
$client-&gt;call('endSession', array($session));
?&gt;</pre>
<p>one strange thing to note is the path to the API &#8211; with a trailing slash, i could not get this to work&#8230;&#8217;</p>
<p>I hope that this helps someone else out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webhank.com/web-development/connecting-to-magento-via-xml-rpc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

