NATS4 Affiliate Postback

From TMM Wiki
Revision as of 16:19, 18 May 2011 by TMMStephenY (talk | contribs)
Jump to navigationJump to search
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
NATS Configuration Admin
The Configuration Admin
Log Admin Activity
IP Address Filtering
MEMBER_EXPIRE_PAD
SKIP COUNTRIES
Fraud Configuration
Email Configuration
Affiliate Signup Email
Affiliate Postback
Affiliate Postback NEW
Affiliate Analytics
Throttling
NATS4 Terms of Service feature
GeoIP2

NATS4 has to ability to post detailed member information to your affiliates based on any basic action the member takes through NATS. This is made possible by using a backend POST, which is based on the basic actions the member takes in NATS.

To use this feature, you must first activate it in the Configuration Admin. When it is activated, you affiliates will be able to receive detailed information on what actions their members are taking.

Configuration Admin

If you would like to enable this feature for your affiliates, go to the Configuration Admin and select the "Affiliates" tab from the Current Section drop-down menu. You will then see a list of options to activate under the Postbacks sub-section. The following is a list of the possible postbacks your affiliates can receive:

  • AFFILIATE_POSTBACK_MEMBER_APPROVAL- Allows affiliates to receive a postback when one of their members signs up.
  • AFFILIATE_POSTBACK_MEMBER_REBILL- Allows affiliates to receive a postback when one of their members rebills.
  • AFFILIATE_POSTBACK_MEMBER_UPGRADE- Allows affiliates to receive a postback when one of their members upgrades their membership.
  • AFFILIATE_POSTBACK_MEMBER_EXPIRE- Allows affiliates to receive a postback when one of their members expires.
  • AFFILIATE_POSTBACK_MEMBER_INSUFFICIENT_FUND- Allows affiliates to receive a postback when one of their members has an "insufficient funds" transaction.
  • AFFILIATE_POSTBACK_MEMBER_CREDIT- Allows affiliates to receive a postback when one of their members receives a credit.
  • AFFILIATE_POSTBACK_MEMBER_CHARGEBACK- Allows affiliates to receive a postback when one of their members initiates a chargeback.
  • AFFILIATE_POSTBACK_MEMBER_VOID- Allows affiliates to receive a postback when one of their members has a void transaction.
  • AFFILIATE_POSTBACK_MEMBER_UPGRADEDENY- Allows affiliates to receive a postback when one of their members upgrade denial.
  • AFFILIATE_POSTBACK_MEMBER_CHANGE_DETAILS- Allows affiliates to receive a postback when one of their members changes their details (such as username/password).

Affiliate Configuration

Once you have activated the postbacks you want your affiliates to be able to receive, your affiliates will be able to login and enter the URL(s) where they want their postback(s) to be sent to. In order to set this, the affiliate needs to go to their "My Account" page from the affiliate home page.

My Account Circled.jpg

On the My Account page, click the "Account Settings" tab. The affiliate will now see a new box on this page that will look something like the following (with default settings):

Affiliate Postback Settings.jpg

From there they can enter the URL(s) of the script(s) that will handle their postbacks.

Postback Format

We will send the following information in the query string:

Variable Name Description
identid The NATS identifier used to internally associate a member with a campaign, program, site, tour, option, adtool, biller, and country.
loginid The numeric NATS loginid for the affiliate receiving the post.
status The status of the member that caused the post to trigger. (0 = never joined, 1 = active, 2 = expired)
trial Set to 1 if the member who triggered the post is currently marked as a trial member.
joined The date the member joined (as a UNIX timestamp).
expired The date the member expired in NATS (as a UNIX timestamp).
siteid The numeric NATS siteid that the member joined under.
cascadeid The numeric cascadeid that the member followed when they first joined.
cascade_item_id The numeric id of the cascade step the member hit when their transaction was approved.
statid The numeric NATS statid that links the member to a stat record in the NATS database.
billerid The numeric NATS billerid that the member processed their transaction.
optionid The numeric NATS optionid that the member joined under.
rebills The number of rebills the member has had since joining.
expires The date the member is supposed to expire in NATS (as a UNIX timestamp).
original_optionid The original optionid that the member chose when they visited the NATS pre-join page.

Postback Logging Script

The following example script allows you to log any Postbacks sent by NATS to your User Management script. This script will take any information being posted to the user management script, and store it in a specified log file. In order for this script to work, you must first make your user management log file writable by Apache. To do so, you must change the /path/to/nats4/user_management.log path found in the following sample script to where your NATS4 user_management.log file is located.

NOTE: Make sure that the log is NOT in a web accessible folder.

<?

/** Adding a date to the first value. **/
$message = '[' . date('Y-m-d H:i:s') . '] ';
/** Looping through all request variables. If it is an array, we loop within. **/
foreach ($_REQUEST as $key => $val) {
/** Add what the value is, what the name is. **/
        if (is_array($val)) {
                foreach ($val as $val_key => $val_val)  $message .= "&{$key}[{$val_key}]={$val_val}";
        }
        else $message .= "&{$key}={$val}";
}
/** Adding a return message to the log **/
$message .= "\n";
/** Adding the log to the specified file **/
error_log($message, 3, '/path/to/nats4/user_management.log');
/** Respond NOTOK so the User Management call isn't triggered **/
echo 'NOTOK';
 
?>