Difference between revisions of "NATS4 API"

From TMM Wiki
Jump to navigationJump to search
 
(11 intermediate revisions by 6 users not shown)
Line 2: Line 2:
 
| show_api_admin_section = true
 
| show_api_admin_section = true
 
}}
 
}}
 +
The NATS Admin API is accessible at http://<domain>/admin_api.php
 +
*Replace <domain> with your NATS install domain name.
  
 
== Gaining Access to the Admin API ==
 
== Gaining Access to the Admin API ==
In order to access NATS API your IP address must be in the API_ADMIN_ALLOWED_IPS list.  You can add or remove IP addresses to this list via the Configurations Admin under the "Security" tab.
+
In order to access NATS 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 [[NATS4 Configuration Admin#Security|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 ==
 
== Authentication ==
The NATS API uses HTTP Authentication where the username is the Affiliate username and the password is the Affiliate API key.  To retrieve your API key simply select it from the login table of your NATS database or put in a support ticket and we can retrieve it for you.
+
The NATS API uses HTTP Authentication where the username is the Affiliate username and the password is the Affiliate API key.  To retrieve your API key simply select it from the login table of your NATS database or put in a support ticket and we can retrieve it for you. If you do not have an API key, you can set one by going to the Affiliates Admin and clicking the icon labeled, "Change API Key".  ''Please note that only full admin accounts are authorized to use the API and set an API key.''
 +
 
 +
== Example ==
 +
The easiest way to use SOAP when using PHP is using the [http://sourceforge.net/projects/nusoap/ NuSOAP Toolkit]. Assuming you've downloaded the toolkit into a directory called nusoap, here is an example of how to connect:
 +
 
 +
<pre>
 +
<?
 +
require_once('nusoap/lib/nusoap.php');
 +
 
 +
$url = 'http://nats.site.com/admin_api.php'; // change to be the domain of your NATS install
 +
$username = 'NATSADMIN'; // your admin username
 +
$apikey = '3385e1b470b0864e27a9b648da6c0692'; // 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
 +
   
 +
}
 +
</pre>
 +
 
 +
 
 +
To give a complete example of this, here's an example using the [[NATS4_API_Ping|ping]] function. This is how to call it:
 +
<pre>
 +
<?
 +
require_once('nusoap/lib/nusoap.php');
 +
 
 +
$url = 'http://nats.site.com/admin_api.php'; // change to be the domain of your NATS install
 +
$username = 'NATSADMIN'; // your admin username
 +
$apikey = '3385e1b470b0864e27a9b648da6c0692'; // 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);
 +
</pre>
 +
 
 +
And this is the output:
 +
<pre>
 +
bool(true)
 +
</pre>
 +
 
 +
[[Category:NATS4 API Articles]]

Latest revision as of 17:21, 25 June 2014

NATS 4
Members Admin
The Members Admin
View Member Details
Add Member
MySQL Auth
Mod Authn DB
Multisite Access
Member Logging
Member Password Retrieval
OpenID Connect
Mod Auth OpenIDC
ID Numbers
SOAP API
API
API Best Practices
WSDL Cache
Add Affiliate
Add Member Note
Admin Get Adtools
Adtool Categories
Adtool Types
Affiliate Get Campaigns
Bulk Import Adtools
Caching
Decode Natscode
Expire Manual Member
Get Affiliate Campaigns
Get Affiliate Hit Data
Get Affiliate Loginids
Get Affiliate Nats Codes
Get Affiliate Payout
Get Affiliate Program Campaign List
Get_Affiliate_Program_Campaign_List
Get Member Details
Get Member Instant Upgrade String
Get Member Package Upgrade String
Get Member Token Rebuy String
Get Member Upsell String
Get Payment Data
Get Payvia Rule
Get Profit Loss Report
Ping
Record Member Login
Search Affiliate Info
Search Member Info
Send Email API Function
Set Affiliate Admin Settings
Set Affiliate Customs
Set Affiliate Defaults
Set Affiliate Information
Set Affiliate Settings
Set Member Details
Set Payment Status
Set Payvia Rule
REST API
API Overview
API Best Practices
REST API PATH UPDATES
Adtools
GET /adtools/admin
GET /adtools/categories
GET /adtools/types
POST /adtools/importdump
Affiliate
GET /affiliate/campaigns
GET /affiliate/hitdata
GET /affiliate/payout
GET /affiliate/searchinfo
POST /affiliate/addaffiliate
POST /affiliate/invoice
PATCH /affiliate/setadminsettings
PATCH /affiliate/setcustoms
PATCH /affiliate/setdefaults
PATCH /affiliate/setinformation
PATCH /affiliate/setpayviainfo
PATCH /affiliate/setsettings
PATCH /affiliate/status
Member
GET /member/authstring
GET /member/details
GET /member/searchinfo
GET /suggestedcanceloffers
PATCH /member/setdetails
PATCH /member/setexpiration
POST /member/addnote
POST /member/recordlogin
PUT /member/expiremanual
PATCH /member/forget
Option
GET /option/options
GET /option/rule
PATCH /option/rule
PATCH/option/text
POST /option/rule
Payments
GET /payments/getpayments
GET /payviarule
PATCH /payments/setstatus
PATCH /payviarule
Report
GET /profitlossreport
Get /transactionpayouts
GET /report/transaction
Service
GET /service/decodenatscode
GET /service/ping
POST /service/sendemail

The NATS Admin API is accessible at http://<domain>/admin_api.php

  • Replace <domain> with your NATS install domain name.

Gaining Access to the Admin API

In order to access NATS 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 NATS API uses HTTP Authentication where the username is the Affiliate username and the password is the Affiliate API key. To retrieve your API key simply select it from the login table of your NATS database or put in a support ticket and we can retrieve it for you. If you do not have an API key, you can set one by going to the Affiliates Admin and clicking the icon labeled, "Change API Key". Please note that only full admin accounts are authorized to use the API and set an 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://nats.site.com/admin_api.php'; // change to be the domain of your NATS install
$username = 'NATSADMIN'; // your admin username
$apikey = '3385e1b470b0864e27a9b648da6c0692'; // 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://nats.site.com/admin_api.php'; // change to be the domain of your NATS install
$username = 'NATSADMIN'; // your admin username
$apikey = '3385e1b470b0864e27a9b648da6c0692'; // 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)