<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?action=history&amp;feed=atom&amp;title=RestAPI%2FExamples%2FPHP</id>
		<title>RestAPI/Examples/PHP - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?action=history&amp;feed=atom&amp;title=RestAPI%2FExamples%2FPHP"/>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Examples/PHP&amp;action=history"/>
		<updated>2026-05-14T00:48:40Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Examples/PHP&amp;diff=304&amp;oldid=prev</id>
		<title>Zhen.wei: Create PHP Example page</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Examples/PHP&amp;diff=304&amp;oldid=prev"/>
				<updated>2009-09-11T15:59:35Z</updated>
		
		<summary type="html">&lt;p&gt;Create PHP Example page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== PHP ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class WebMethods&lt;br /&gt;
{&lt;br /&gt;
    const VERSION = 'v0';&lt;br /&gt;
    const SERVER_HOST = 'api.emailsrvr.com';&lt;br /&gt;
&lt;br /&gt;
    public function get($url_string, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function post($url_string, $fields, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_POST, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_POSTFIELDS, $fields);&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function put($url_string, $fields, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_CUSTOMREQUEST, 'PUT');&lt;br /&gt;
        curl_setopt($session, CURLOPT_POSTFIELDS, $fields);&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function delete($url_string, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_CUSTOMREQUEST, 'DELETE');&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function signRequest(&amp;amp;$headers)&lt;br /&gt;
    {&lt;br /&gt;
        $user_agent = 'Api Test';&lt;br /&gt;
        $time_stamp = 'YYYYMMDDHHmmssff';&lt;br /&gt;
        $api_key = 'XXXXXXXXXXXXXXXXXXXX';&lt;br /&gt;
        $secret_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';&lt;br /&gt;
&lt;br /&gt;
        $data_to_sign = $api_key . $user_agent . $time_stamp . $secret_key;&lt;br /&gt;
        $signature = base64_encode(sha1($data_to_sign, true));&lt;br /&gt;
&lt;br /&gt;
        $headers[] = &amp;quot;User-Agent: $user_agent&amp;quot;;&lt;br /&gt;
        $headers[] = &amp;quot;X-Api-Signature: $api_key:$time_stamp:$signature&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function assignFormat(&amp;amp;$headers, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $headers[] = &amp;quot;Accept: $format&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function getUrl($url_string)&lt;br /&gt;
    {&lt;br /&gt;
        $url = 'http://' . self::SERVER_HOST . '/' . self::VERSION . $url_string;&lt;br /&gt;
        return $url;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
require_once 'WebMethods.php';&lt;br /&gt;
&lt;br /&gt;
$client = new WebMethods();&lt;br /&gt;
&lt;br /&gt;
$url = '/customers';&lt;br /&gt;
$form = 'name=new customer&amp;amp;referenceNumber=1000';&lt;br /&gt;
$format = 'text/xml';&lt;br /&gt;
&lt;br /&gt;
$client-&amp;gt;post($url, $form, $format);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zhen.wei</name></author>	</entry>

	</feed>