Offerit API
The Offerit API is accessible at http://<domain>/admin_api.php
- Replace <domain> with your Offerit install domain name.
Gaining Access to the Admin API
In order to access Offerit API, your IP address must be in the ADMIN_API_ALLOWED_IPS list. You can add or remove IP addresses to this list via the Configurations Admin under the "Security" tab.
If you're also using ADMIN_IPS to restrict access to your admin, you must also add the IP to that list, as this is also an admin page.
Authentication
The Offerit API uses HTTP Authentication where the username is the Affiliate username and the password is the Affiliate API key.
Note: Affiliates do not start with an API key and you will have to manually create one for each affiliate that wants access to the API. In addition, API access is only available to admin-level affiliates.
To retrieve an API key for an affiliate, go to the Affiliates admin and click "View/Change API Key". On the next page, you can create an API key for the user you clicked on by clicking "Generate API Key".
Example
The easiest way to use SOAP when using PHP is using the NuSOAP Toolkit. Assuming you've downloaded the toolkit into a directory called nusoap, here is an example of how to connect:
<? require_once('nusoap/lib/nusoap.php'); $url = 'http://offerit.site.com/admin_api.php'; // change to be the domain of your Offerit install $username = 'OFFERITADMIN'; // your admin username $apikey = 'afsb35gh8j3rgasfdgja9r8ebja59gb8'; // your api key $client = new nusoap_client($url.'?wsdl', true); $client->setCredentials($username,$apikey); // Check for an error $err = $client->getError(); if ($err) { // Display the error echo 'Constructor error' . $err . "\n"; exit; // At this point, you know the call that follows will fail }
To give a complete example of this, here's an example using the Ping function. This is how to call it:
<? require_once('nusoap/lib/nusoap.php'); $url = 'http://offerit.site.com/admin_api.php'; // change to be the domain of your Offerit install $username = 'offeritadmin'; // your admin username $apikey = 'afsb35gh8j3rgasfdgja9r8ebja59gb8'; // your api key $client = new nusoap_client($url.'?wsdl', true); $client->setCredentials($username,$apikey); // Check for an error $err = $client->getError(); if ($err) { // Display the error echo 'Constructor error' . $err . "\n"; exit; // At this point, you know the call that follows will fail } $result = $client->call('ping', Array(), 'natsapiadmin_wsdl'); var_dump($result);
And this is the output:
bool(true)