NATS4 Affiliate Postback
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.
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):
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'; ?>