NATS4 API Add Affiliate

From TMMwiki
Jump to: navigation, search
NATS 4
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/upsellstring
GET /member/tokenrebuystring
GET /member/instantupgradestring
GET /member/packageupgradestring
GET /member/signupplusstring
GET /member/cancelstring
GET /member/details
GET /member/searchinfo
GET /suggestedcanceloffers
PATCH /member/setdetails
PATCH /member/setexpiration
POST /member/addnote
POST /member/recordlogin
PUT /member/expiremanual
Option
GET /option/options
GET /option/getrule
PATCH /option/editrule
PATCH/option/edittext
POST /option/addrule
Payments
GET /payments/getpayments
GET /payviarule
PATCH /payments/setstatus
PATCH /payviarule
Report
GET /profitlossreport
Get /transactionpayouts
Service
GET /service/decodenatscode
GET /service/ping
POST /service/sendemail

To add an affiliate through the NATS4 API, you must make a SOAP call with the following parameters:

<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:natsapiadmin_wsdl">
	<SOAP-ENV:Body>
		<tns:add_affs xmlns:tns="urn:natsapiadmin_wsdl">
			<username xsi:type="xsd:string">NewAffiliate</username>
			<password xsi:type="xsd:string">AffPass</password>
			<firstname xsi:type="xsd:string">MyFirst</firstname>
			<lastname xsi:type="xsd:string">MyLast</lastname>
			<email xsi:type="xsd:string">foo@bar.com</email>
			<company xsi:nil="true" xsi:type="xsd:string"/>
			<url xsi:type="xsd:string">http://www.foo.com</url>
			<tel xsi:nil="true" xsi:type="xsd:string"/>
			<icq xsi:nil="true" xsi:type="xsd:string"/>
			<aim xsi:nil="true" xsi:type="xsd:string"/>
			<msn xsi:nil="true" xsi:type="xsd:string"/>
			<address1 xsi:type="xsd:string">505 Street Rd.</address1>
			<address2 xsi:nil="true" xsi:type="xsd:string"/>
			<city xsi:type="xsd:string">Freehold</city>
			<state xsi:type="xsd:string">NJ</state>
			<country xsi:type="xsd:string">US</country>
			<zip_code xsi:type="xsd:string">12345</zip_code>
			<tax_id_or_ssn xsi:nil="true" xsi:type="xsd:string"/>
			<ref xsi:type="xsd:string">5</ref>
			<minimum_payout xsi:type="xsd:string">100</minimum_payout>
		</tns:add_affs>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

NOTE: The ref field is for passing in an affiliate referral. The value is the loginid of the referring affiliate.

Once you have made the call, you will get a response similar to:

<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:natsapiadmin_wsdl">
	<SOAP-ENV:Body>
		<ns1:add_affsResponse xmlns:ns1="urn:natsapiadmin_wsdl">
			<return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Add_aff[1]">
				<item xsi:type="tns:Add_aff">
					<result xsi:type="xsd:string">1</result>
					<loginid xsi:type="xsd:int">6</loginid>
				</item>
			</return>
		</ns1:add_affsResponse>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

The response will contain two parameters: result and loginid. If the affiliate was added successfully, then the result will be 1. Otherwise, the response will display an error message with the issue.

If the member addition was successful, then the displayed loginid will be the affiliate's loginid; otherwise the loginid will be set to 0.

NuSOAP Example

This example continues from the main article NuSOAP Example):

$values = array(
	'username' => 'myaffusername',
	'password' => 'myaffpassword',
	'firstname' => 'testing',
	'lastname' => 'testerson',
	'email' => 'testemail@test.com',
	'company' => 'Company',
	'url' => 'http://testing.com',
	'tel' => '1234567890',
	'icq' => '321234145',
	'aim' => 'aimaccount3',
	'msn' => 'msnaccount',
	'address1' => '123 Test Street',
	'address2' => '',
	'city' => 'My City',
	'state' => 'My State',
	'country' => 'USA',
	'zip_code' => '12345',
	'tax_id_or_ssn' => '54-1233245',
	'ref' => 'asdasd',
	'minimum_payout' => '50'
);
$result = $client->call('add_affs', $values, 'natsapiadmin_wsdl');
if($result) foreach($result as $key => $adtool){
        if($adtool['extra']) $result[$key]['extra'] = unserialize($adtool['extra']);
}
print_r($result);