I4a API PHP Example
The following code will connect and retrieve all the contacts who have a lastname that starts with a b.
<?php
/*
* For the return format section of the URL, the following options are available:
* json - returns a json packet WITH header. The header includes the content type set to application/json
* json_noheader - returns a json packet with NO header. PHP seems to cannot decode a json packet if it includes
* a header, the header may be needed depending on how this API is used.
* xml - returns an XML packet WITH header. This will return the content type set to text/xml
* xml_noheader - returns an xml packet with NO header. This may be needed depending on your usage.
* wddx - an XML packet formatted in the WDDX specification. It includes a header set to text/xml.
* wddx_noheader - xml packet formatted to WDDX spec, does not include header.
*
*/
$username = 'adminuser1';
$password = 'thepassword';
$site_token = 'xxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx';
$wsdl_url = 'http://www.mysite.org/i4a/utilities/authenticateAdmin.cfc?wsdl';
$search_url = 'http://www.mysite.org/i4a/api/json_noheader/membership.contacts/lastname%20like%20b/';
// We need to authenticate, but once we have our authKey we won't need to repeat that
$client = new SoapClient($wsdl_url);
$adminXML = $client->authenticateAdmin($username,$password,$site_token);
$adminJSON = json_decode(json_encode((array) simplexml_load_string($adminXML)),1);
dump($adminJSON,"response packet from authentication");
$authKey = ($adminJSON['@attributes']['authKey']);
echo '<hr>authKey='.$authKey.'/<br/>';
// now we've authenticated and have our key, let's access the API...
echo 'API URL='.$search_url . "<br>";
echo "url string=".$search_url.$authKey . "<br>";
// retrieve the http output into a variable. Could use cURL functions as well most likely.
$contactJSON = file_get_contents($search_url.$authKey);
echo "<hr>Json Packet:<br>";
echo $contactJSON;
?>