You can create, edit and delete manager account from outside of OpenX using OpenX API. We'll use XML RPC to use OpenX API and to interact with OpenX.
We have following sections:
- Setting up environment for OpenX API
- Admin login using OpenX API
- Create manager using OpenX API
- Modify manager using OpenX API
- Delete manager using OpenX API
- Log Out manager using OpenX API
Setting up environment for OpenX API
Create one file and add following code in it:
<?php
if (!@include('XML/RPC.php')) { die('Error: cannot load the PEAR XML_RPC class');}
$xmlRpcHost = 'localhost';
$webXmlRpcDir = '/openads/www/api/v1/xmlrpc';
$logonXmlRpcWebServiceUrl = $webXmlRpcDir . '/LogonXmlRpcService.php';
$agencyXmlRpcWebServiceUrl = $webXmlRpcDir . '/AgencyXmlRpcService.php';
$username = 'OPENX_ADMIN_USERNAME';
$password = 'OPENX_ADMIN_PASSWORD';
Create one XML RPC response function in the same file:
function returnXmlRpcResponseData($oResponse)
{ if (!$oResponse->faultCode()) { $oVal = $oResponse->value();
$data = XML_RPC_decode($oVal);
return $data;
} else { die('Fault Code: ' . $oResponse->faultCode() . "\n" . 'Fault Reason: ' . $oResponse->faultString() . "\n");
}
}
Admin login using OpenX API
Now we'll do admin login with adding following lines to the file :
$aParams = array(
new XML_RPC_Value($username, 'string'),
new XML_RPC_Value($password, 'string')
);
$oMessage = new XML_RPC_Message('logon', $aParams);$oClient = new XML_RPC_Client($logonXmlRpcWebServiceUrl, $xmlRpcHost);
$oResponse = $oClient->send($oMessage);
if (!$oResponse) { die('Communication error: ' . $oClient->errstr);}
$sessionId = returnXmlRpcResponseData($oResponse);
echo 'User logged on with session Id : ' . $sessionId . '<br>';