Difference between revisions of "Affiliate Remote Login"

From Offerit
Jump to: navigation, search
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{Offerit Manual
 
{{Offerit Manual
| show_Offerit_affiliate_area_section = true
+
| show_affiliate_area_section = true
 
}}
 
}}
  
You can create a custom form for affiliates to login to your Offerit installation.  All that is needed is to create a form that submits to the following url:
+
You can create a custom form for affiliates to log in to your Offerit installation.  All that is needed is to create a form that submits to the following url:
  
 
<pre>
 
<pre>
http://<linkdomain>/internal.php
+
http://<tracking domain>/internal.php
 
</pre>
 
</pre>
  
You would replace <linkdomain> with the linkdomain of your Offerit install.  The only variables that need to be sent for a successful login with the post are "user" and "pass".  If the user is submitting fails to enter the correct login information they and they are posting from the linkdomain of your offerit install they will be redirected to the external login page of your offerit install.  Otherwise they will receive an error response regarding why their login was unsuccessful.
+
You would replace <tracking domain> with the [[Ct#Tracking Domain|Tracking Domain]] of your Offerit install.  The only variables that need to be sent for a successful login with the post are "user" and "pass".  If the user is submitting fails to enter the correct login information they and they are posting from the tracking domain of your offerit install they will be redirected to the external login page of your offerit install.  Otherwise they will receive an error response regarding why their login was unsuccessful.
  
 
Here is a basic example of what this form may look like.
 
Here is a basic example of what this form may look like.
Line 15: Line 15:
 
<pre>
 
<pre>
 
<!-- Simple form to post to Offerit and login -->
 
<!-- Simple form to post to Offerit and login -->
<form action="http://offerit.mike.jager.toomuchmedia.com/internal.php" method="post">
+
<form action="http://example.offerit.com/internal.php" method="post">
 
Username: <input type="text" name="user" /><br />
 
Username: <input type="text" name="user" /><br />
 
Password: <input type="password" name="pass" /><br />
 
Password: <input type="password" name="pass" /><br />
Line 22: Line 22:
 
</pre>
 
</pre>
  
[[Category:Also Offerit Article]]
+
<h3>Displaying your own error page</h3>
 +
If you prefer to display your own errors, you can send a post to verify the username and password are correct before sending the user.  For instance use javascript to handle the form submission and send an ajax post to a validation script like this one:
 +
<pre>
 +
$response = array(
 +
  'result' => 'fail'
 +
);
 +
if ( ! empty( $_POST['user'] ) && ! empty( $_POST['pass'] ) && check_length( $_POST['user'], 2, 255 ) && check_length( $_POST['pass'], 3, 255 ) ) {
 +
  $response_headers = get_headers( AFFILIATE_URL . '/internal.php?user=' . $_POST['user'] . '&pass=' . $_POST['pass'] . '', 1 );
 +
  if ( array_key_exists( 'Location', $response_headers ) && strpos($response_headers[0], 'HTTP/1.1 302') !== FALSE ) {
 +
  $response = array(
 +
    'result' => 'success'
 +
  );
 +
  }
 +
}
 +
</pre>
 +
If the post returns success, you can let the form submit like normal.  If the post returns error, you can tell the surfer to try again.
 +
 
 +
 
 +
<h3>Displaying Forgot Password</h3>
 +
Similarly, you can trigger forgot password from your own page and check for your own errors by making it an ajax call instead of a direct form submission.  The post script might look like this one:
 +
<pre>
 +
$response = array(
 +
  'result' => 'fail'
 +
);
 +
parse_str( $_POST['formdata'], $data );
 +
$curl = curl_init();
 +
curl_setopt( $curl, CURLOPT_URL, AFFILIATE_URL . '/submit.php' );
 +
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
 +
curl_setopt( $curl, CURLOPT_POST, true );
 +
curl_setopt( $curl, CURLOPT_POSTFIELDS, http_build_query( $data ) );
 +
$response['response'] = curl_exec( $curl );
 +
$header              = curl_getinfo( $curl, CURLINFO_HTTP_CODE );
 +
curl_close( $curl );
 +
preg_match( '#<div class="action-details">(.+?)</div>#is', $response['response'], $found );
 +
if ( $header === 302 ) {
 +
  $response = array(
 +
  'result'  => 'success',
 +
  'message' => 'An email has been sent with your new password. ',
 +
  'header'  => $header
 +
  );
 +
}
 +
if ( $header === 200 ) {
 +
  if ( $found ) {
 +
  $response = array(
 +
    'result'  => 'error',
 +
    'message' => $found[1],
 +
    'header'  => $header
 +
  );
 +
  }
 +
}
 +
</pre>
 +
 
 
[[Category:Offerit Affiliate Information]]
 
[[Category:Offerit Affiliate Information]]

Latest revision as of 13:58, 9 October 2018

Offerit
For Affiliates
Automatic SubIDs
Affiliate Stats Dumps
Linkcode
Link Groups
Affiliate Custom Pixels
Affiliate Host and Post
Offerit Affiliate Area
Affiliate Account Details
Affiliate Account Change Log
Affiliate Creatives
Affiliate Creatives Search
Affiliate Settings
Affiliate Custom Pixels
Affiliate Linkcodes
Affiliate Linkcode Settings
Affiliate Login History
Affiliate Messages
Affiliate Dashboard
Dashboard Key Statistics
Dashboard Statistics Summary
Affiliate Payment History
Quick Links
Affiliate Referrals Report
Affiliate Referring URL Report
Affiliate Remote Login
Affiliate Signup
Affiliate Statistic Filters
Affiliate Statistic Views
Affiliate SubIDs
Offerit Setup
Creating Admin Accounts
Tracking Domain
Edit Affiliate Text
Edit CSS Colors
Getting Started Admin
Offerit Quick-Start Guide
Tracking in Offerit
Pixel Builder
Offerit Postback Examples
Replacement Variables
Currency Exchange Rates

Admin Dashboard
The Admin Dashboard
Reporting Admin
The Reporting Admin
Track and Strack
  Report Breakdowns
Profit and Loss Report
Subscription Report
Transactions Reports
Affiliate Ratios Report
Affiliate Managers Report
Visitor Actions Report
Referral Tier Payouts Report
Referral Signup Payouts Report
Additional Commissions Report
Graphical Affiliate Comparison Report
The Single Day Comparison Report
Actual Affiliate Payments Report
Offers Admin
The Offers Admin
Offers
Offer Setup
Affiliate Referrals
Tracking Domain
Commissions
Commission Changes
Suppression Lists
Pixel Builder
ID Numbers
Offer Partner
Offer/Landing Page Redirection
Setting Rules
Admin Host and Post
Offer Post URLs
Offer Goals
Affiliates Admin
The Affiliates Admin
ID Numbers
Affiliate Managers
Affiliate Referrals
Affiliate Activation
Admin-Only Settings
Affiliate Overrides
Creating Admin Accounts
In-House Accounts
Add Manual Sale
Manual Invoice
Affiliate Documents
Affiliate Enabled Offers
Change Affiliate Status
Account Changes
Advertisers Admin
The Advertisers Admin
Account Changes
Advertiser Invoices
Generate Invoice
Advertiser Approval
Change Advertiser Status
Customers Admin
Customers Admin
Manually Adding a Customer
ID Numbers
Payments Admin
The Payments Admin
Payvia Types
Payout Periods
Payvia Dump Formats
Payment Dump Entry Numbers
Payment Dump Variables
Check Functions
Setting Rules
Payment Methods
Payza
Creatives Admin
The Creatives Admin
Add New Creatives
Add New Creative Type
Offeritcode
Code Builder
Track and Strack
Setting Rules
  Default Creative Types
Creative Types
Image Banners
Flash Banners
Dynamic Text Banners
Feeds
Mailers
Video Download
Video Embed
Page Peels
IM Popups
Footer Ads
Page Ads
Overlays
Communications Admin
The Communications Admin
Add News Item
Sending Messages
Signup Questions
Configuration Admin
The Configuration Admin
Affiliate Signup Postback URL
Edit Affiliate Text
Edit CSS Colors
REST API
General
Offerit REST API Overview
GET /service/ping
PATCH /service/set_currency_exchange_rates
Advertiser
PATCH /advertiser/edit_advertiser
POST /advertiser/add_advertiser
Affiliate
GET /affiliate/get_links
GET /affiliate/get_single_link
GET /affiliate/search
GET /affiliate/decode_trackingcode
PATCH /affiliate/edit_affiliate
PATCH /affiliate/payvia
POST /affiliate/add_affiliate
POST /affiliate/affiliate_login_ips
Config
GET /config/get_global_void_ips
GET /config/get_global_post_ips
GET /config/get_global_hostnpost_ips
POST /config/add_global_void_ip
POST /config/remove_global_void_ip
POST /config/add_global_post_ip
POST /config/remove_global_post_ip
POST /config/add_global_hostnpost_ip
POST /config/remove_global_hostnpost_ip
Creative
GET /creative/get_creatives
GET /creative/get_creative_fields
GET /creative/get_creative_rules
PATCH /creative/delete_creative
PATCH /creative/edit_creative
PATCH /creative/edit_creative_rules
PATCH /creative/undelete_creative
POST /creative/add_creative
POST /creative/add_creative_rule
POST /creative/delete_creative_rules
Customer
PATCH /customer/set_customer_details
PATCH /customer/lock
PATCH /customer/unlock
PATCH /customer/forget
GET /customer/export
Offer
GET /offer/get_conversion_caps
GET /offer/check_orderid_exists
GET /offer/get_commission_changes
GET /offer/get_details
PATCH /offer/activate_offer
PATCH /offer/edit_landing_page
PATCH /offer/edit_offer
PATCH /offer/pause_offer
PATCH /offer/set_commission_change_payouts
PATCH /offer/set_enabled_affiliates
PATCH /offer/set_offer_categories
PATCH /offer/set_offer_countries
PATCH /offer/set_offer_goals
PATCH /offer/set_offer_groups
PATCH /offer/set_offer_marketing_types
PATCH /offer/store_offer_ips
POST /offer/add_commission_change
POST /offer/add_landing_page
POST /offer/add_offer
POST /offer/add_tracking_domain
Reporting
GET /report/profitloss
GET /report/transaction
Transaction
GET /transaction/transaction_payout_preview
PATCH /transaction/transaction_update_revenue_by_orderid
PATCH /transaction/transaction_update_revenue_by_transaction_hash
POST /transaction/process_void
POST /transaction/process_chargeback
POST /transaction/process_reversal
POST /transaction/approve_pending_transaction
GET /transaction/click_detail
SOAP API (*deprecated*)
API
Add Affiliate
Add Affiliate Sale
Add Offer
Approve Transaction
Creative Types
Decode Offeritcode
Deny Transaction
Disable Affiliate Landing Page
Edit Affiliate Sale
Enable Affiliate Landing Page
Get Affiliate Stats
Get Allowed Affiliates
Get Landing Page Details
Get Offer Details
Get Offer List
Get Profit Loss Report
List Affiliate Details
List Affiliate Subaffiliates
Ping
Set Affiliate Status
Set SubAffiliate Status
Set Member Details
Record Affiliate Click
Misc.
Rules
Freeform Date
Affiliate Custom Signup
Offeritcode
Tracking in Offerit
Offerit Logos
Void Conversions Remotely

You can create a custom form for affiliates to log in to your Offerit installation. All that is needed is to create a form that submits to the following url:

http://<tracking domain>/internal.php

You would replace <tracking domain> with the Tracking Domain of your Offerit install. The only variables that need to be sent for a successful login with the post are "user" and "pass". If the user is submitting fails to enter the correct login information they and they are posting from the tracking domain of your offerit install they will be redirected to the external login page of your offerit install. Otherwise they will receive an error response regarding why their login was unsuccessful.

Here is a basic example of what this form may look like.

<!-- Simple form to post to Offerit and login -->
<form action="http://example.offerit.com/internal.php" method="post">
	Username: <input type="text" name="user" /><br />
	Password: <input type="password" name="pass" /><br />
	<input type="submit" />
</form>

Displaying your own error page

If you prefer to display your own errors, you can send a post to verify the username and password are correct before sending the user. For instance use javascript to handle the form submission and send an ajax post to a validation script like this one:

$response = array(
  'result' => 'fail'
 );
 if ( ! empty( $_POST['user'] ) && ! empty( $_POST['pass'] ) && check_length( $_POST['user'], 2, 255 ) && check_length( $_POST['pass'], 3, 255 ) ) {
  $response_headers = get_headers( AFFILIATE_URL . '/internal.php?user=' . $_POST['user'] . '&pass=' . $_POST['pass'] . '', 1 );
  if ( array_key_exists( 'Location', $response_headers ) && strpos($response_headers[0], 'HTTP/1.1 302') !== FALSE ) {
   $response = array(
    'result' => 'success'
   );
  }
 }

If the post returns success, you can let the form submit like normal. If the post returns error, you can tell the surfer to try again.


Displaying Forgot Password

Similarly, you can trigger forgot password from your own page and check for your own errors by making it an ajax call instead of a direct form submission. The post script might look like this one:

$response = array(
  'result' => 'fail'
 );
 parse_str( $_POST['formdata'], $data );
 $curl = curl_init();
 curl_setopt( $curl, CURLOPT_URL, AFFILIATE_URL . '/submit.php' );
 curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
 curl_setopt( $curl, CURLOPT_POST, true );
 curl_setopt( $curl, CURLOPT_POSTFIELDS, http_build_query( $data ) );
 $response['response'] = curl_exec( $curl );
 $header               = curl_getinfo( $curl, CURLINFO_HTTP_CODE );
 curl_close( $curl );
 preg_match( '#<div class="action-details">(.+?)</div>#is', $response['response'], $found );
 if ( $header === 302 ) {
  $response = array(
   'result'  => 'success',
   'message' => 'An email has been sent with your new password. ',
   'header'  => $header
  );
 }
 if ( $header === 200 ) {
  if ( $found ) {
   $response = array(
    'result'  => 'error',
    'message' => $found[1],
    'header'  => $header
   );
  }
 }